как научиться программировать?
Для того, чтобы стать программистом, книжек придётся прочитать не один десяток, и далеко не все из них будут написаны лёгким и понятным языком (таких вообще единицы на самом деле). А Вам хочется спать уже на первой…

А так попробуйте Thinking in Java — написана прекрасно, всё разжёвано, и, что самое главное, всё последовательно. Я на Джаве активно не программирую, но книгу эту перелистываю периодически просто ради удовольствия :)
Отличный ресурс где учат програмировать на джаве, сам прошел, и рекомендую всем друзьям: JavaRush (Если думаете что рекламный спам, попробуйте пройдите несколько уроков, будете приятно удивлены)