- Читайте учебник для начинающих и практикуетесь с его примерами;
- Читаете учебники для среднего уровня и практикуетесь с его примерами;
- Пытаетесь написать какую-нибудь полноценную консольную утилиту;
- Пытаетесь написать какую-нибудь полноценную программу с графическим интерфейсом;
- Читаете учебники по стандартам входящим в Java EE;
- Читаете учебники и статьи профессионального (углублённого) уровня.
В пунктах 1 и 2 примеры не надо просто перепечатывать из книги, надо пытаться их изменять, экспериментировать, пока не поймёте в полной мере, как это работает.
К пункту 5, естественно, переходить можно только тогда, когда пункты 3 и 4 удались и у вас 2-5 софтин, приносящих хоть какую-то пользу.