Gutes JAVA Buch: "Java ist auch eine Insel", ist aber nicht gerade dünn und auch nicht gerade günstig.
Ich würde dir aber auf jeden Fall empfehlen mit C anzufangen, da JAVA viel aus C "geerbt" hat (an alle JAVA programmierer
) und du erstmal die Procedurale Programmierung verstehen solltest, bevor du dich an Objekt orienteirung begibst.