C чего начать изучения Java?
Кэти Сиерра, Берт Бейтс - Изучаем Java
Ну математика вся важна в программировании от начальной школы и до теории вероятности особенно если хотите учить Java. Ну я бы сказал это язык не для новичков, должна быть хорошая память. Люди приходят в Java из других яп (язык программирования), смотря какие вещи вы хотите разрабатывать. Есть много яп например Python очень легкий в изучении и в разработке, для начала я бы посоветовал обратить внимание на более легкие си образные по синтаксису яп например php, а уже потом переходить на Java т.к. он строготипизированный и нужно будет помнить какой тип у переменной и что должен возвращать метод какой тип данных, работать с памятью так называемые сборщики мусора очень много нюансов, как бы это все не превратилось в рутину и потеря интереса к программированию как таковому. Поэтому мой совет сначала, что то проще а потом уже и на хардкор переходить. Ну а если все-таки твердо Java то купить хорошую книгу для новичка и читать наслаждаясь параллельно разработкой.