Комментарии 23
Вот из-за таких проблем как в первом примере с точкой запятой после if — надо всегда ставить открывающую скобку на той же строчке, что if и всегда ставить после if фигурные скобки, даже если дальше только одна строка.
boolean myBool = false;
if(myBool = true) System.out.println(myBool);
Не надо в условии bool сравнивать с bool
Придирка к опечаткам уровня «не там поставил точку с запятой» — выглядят совсем странными.
roman901, Благодарю за комментарий. Цель публикации не придирки к опечаткам. Дан конкретный пример, где опечатку бывает сложно с первого взгляда определить.
Насколько я понял, имелась в виду ошибка, когда вместо
if(bool == true){}
мы пишем if(bool = true){}
Дело в том, что такая ошибка возможна только с типом bool(Boolean), с любым другим не скомпилируется. Но дело в том, что выражение
if(bool == true){}
совершенно эквивалентно выражению if(bool){}
.При таком раскладе мы не только пишем меньше кода, но и получаем более читабельный код, особенно если используем общепринятое именование булевых переменных по типу isSomethingChecked.
Присвоение в условии вместо сравнения, Инициализация переменных
и опечатку в виде пустого if вообще распознаёт Idea. Ну а все остальные либо специфика языка, либо довольно понятные ошибки. Для начинающего java'ста это наверное самые малые проблемы, которые только можно придумать :)
Хорошо, что наконец-то статья по Java. Плохо, что статья уровня Pre-Junior
Насчёт того, что можно сделать метод, название которого такое же как у класса и перепутать его с конструктором. Первое, что говорят про методы в java это то, что название метода должно начинаться с маленькой буквы. Первое, что говорят про классы это то, что название класса должно начинаться с большой буквы. Поэтому как правило проблема описанная в статье на практике не встречается.
На хабре конкурс статей на тему "как я пытался hello world в первый раз" что ли?
Будьте внимательны, раз уж про ошибки пишите :)
Подводные камни Java. Часть 1