Герберт Шилд, Полное руководство по Java. Классика. Последнее издание содержит исчерпывающую информацию по всей механике Java, легкие примеры, мало "экзотики". Книга дороговата.
Стив Макконел, Совершенный Код. Рекомендуется к прочтению, людям уже имеющих некоторый опыт разработки, для знания некоторых терминов
и понимаю о чем и для чего пишет автор. Стоит тоже не дешево. И вот пожалуй после 3 этих книг, подкрепляя чтение практикой, можно очень даже неплохо научиться программировать.