"Сейчас научиться самостоятельно программировать на любом языке можно с помощью литературы и разнообразных курсов. И того и того полно сейчас в рунете, не говоря уж об остальном интернете.
Если вы новичок в программировании, то для начала, вы должны знать, что программирование практически не имеет отношения к языку. Как сказал Никлаус Вирт: "программы = алгоритмы + структуры данных".
Поэтому, чтобы стать хорошим программистом, вам придется не только тупо выучить все операторы языка, но и поднатаскать логику, элементарные структуры данных, алгоритмы.
Так же, следует знать, что Java - это объектно-ориентированный (ООП) язык. А на мой взгляд, парадигма ООП будет слишком сложна для человека, не знакомого с программированием. Поэтому для начала, как мне кажется, вам нужно освоить процедурный стиль. Выберите какой угодно язык для этого. Лично я начинал с PHP тут codecademy.com
Здесь полезные книжки для молодых программистов: skillkit.ru
После того, как вы более менее освоитесь в понятиях, поймете, что к чему, то можете переходить на Java.
Учитесь на практике здесь javarush.ru и здесь alexanderklimov.ru
Так же, подберите себе литературу по Java. И много-много практикуйтесь. Без регулярной практики в программировании делать нечего.
И не бойтесь спрашивать у более опытных программистов, для этого вам подойдет javatalks.ru
Здесь много полезного для программистов habrahabr.ru , а именно по java здесь: habrahabr.ru и здесь vk.com
У вас очень часто будет что-то не получаться, вы можете по две недели сидеть, решая маленькую задачу, но самое главное - не опускать руки. Как я уже писал, программирование очень похоже на магию, и чтобы овладеть этой магией большинство программистов проходят через боль и страдания.
Помню, когда я только начинал программировать, я не мог никак понять, что такое массивы. Это был своеобразный порог. Но сейчас это кажется мне смешным, потому что это элементарно.
Удачи вам и чистого кода!"
Скопировал отсюда: thequestion.ru