„Хей, новобранец, който правиш куп грешки всеки ден, дори и в най-простите програми!
"Ъм... Здравей, Диего. Момче, наистина знаеш How да развеселиш хората!"
„Разбира се, че го правя! Научете се How да казвате това, което трябва да бъде казано. Както казах, „всеки ден“. Казано по-учтиво, поздравът ми означава „бъдещ успешен програмист, ако, разбира се, не го объркате ."
„Ооо, тогава благодаря ти, моят най-метален учител! .
„Ще ми благодарите след този урок. Тук ще изброя най-популярните грешки, отбелязани от компилатора. И вашата работа е да запомните. Предупреденият е предварително въоръжен.
Забравяне на точка и запетая
„Най-често срещаната грешка, която правят амбициозните Java програмисти, е точката и запетая. Или по-скоро липсата й там, където трябва да бъде.“
„Истината е... че съм извършвал това престъпление многократно.“
„Всеки израз в метод трябва да завършва с точка и запетая. Точката и запетая е това, което разделя изразите or командите: така казваме на Java компилатора къде една команда завършва и къде започва следващата.
Примери за грешки:
грешен code | Правилен code |
---|---|
|
|
|
|
|
|
Забравяме да затворим кавички
„Втората най-честа грешка за новодошлите в Java е да напишат низ в codeа и след това да забравят да затворят цитата.
Всеки низов литерал в codeа трябва да бъде ограден от двете страни с двойни кавички ("). Начинаещите програмисти много често поставят кавички в началото на текста, но забравят да ги затворят в края.
грешен code | Правилен code |
---|---|
|
|
|
|
|
|
Забравяне да включите знак плюс, когато залепвате струни
„Друга често срещана грешка при работа с низове е забравянето да се напише знак плюс при залепване на низове. Тази грешка е особено често срещана, когато текстът и променливите са свързани в дълъг израз в codeа.
Ето няколко примера:
грешен code | Правилен code |
---|---|
|
|
|
|
|
|
Забравих да затворя фигурни скоби
„Това е много често срещана грешка. Има две ситуации, в които това е типично:
- Решихте да копирате code от някъде и случайно сте пропуснали някои фигурни скоби.
- Вие просто не си давате труда да се уверите, че всяка отворена скоба е съпоставена със затваряща скоба."
"Вторият вариант е това, което правя. Понякога толкова се увличам, че забравям!" .
„За да избегнат тези грешки, обикновено се препоръчва на начинаещите програмисти да напишат затварящата фигурна скоба под отварящата.
Примери:
грешен code | Правилен code |
---|---|
|
|
|
|
Забравяме да добавим скоби
„Най-често тази грешка се допуска от разработчици, които владеят езици за програмиране, които не изискват скоби в подобни ситуации.
Една от възможностите е те просто да забравят да поставят скоби в края на извикване на метод:
Друга възможност е те да забравят да затворят conditionто на if-else
израз в скоби.
Примери:
грешен code | Правилен code |
---|---|
|
|
|
|
main
Неправилно писане на декларацията на метода
„Веднага след като обявят проклетия main
метод! Вероятно нищо не спъва толкова много начинаещите, колкото този лош метод. Важното е, че тогава те винаги се изненадват и се чудят защо програмата им не стартира? И, разбира се, програмистът не Не виня, а програмата, компилатора, валидатора на codeа, Java машината и т.н. Списъкът с изкупителни жертви е безкраен.
Примери:
грешен code | Обяснение |
---|---|
|
public липсва |
|
static липсва |
|
void липсва |
|
public и static липсват |
|
[] липсва |
|
String[] args липсва |
|
Имаме int instead ofvoid |
Името на file е различно от името на класа
„Съгласно стандарта на Java, всички Java класове трябва да се съхраняват във файл със същото име като името на класа. И Howто споменахме по-рано, регистърът на буквите има meaning тук:
Име на файл | Име на класа | Забележка |
---|---|---|
Решение.java | Решение | Всичко е наред |
Решение s .java | Решение | Името на file като излишна буква 's' |
s olution.java | Решение | Името на file започва с малка буква |
Решение. текст | Решение | Разширението на file е .txt instead of .java |
Решение.java | решение | Името на класа започва с малка буква |
„Всъщност няколко класа могат да бъдат декларирани във файл с разширение .java, но само един от тях може да има думата public
преди името на класа. И това е името, което трябва да съвпада с името на file.
".java файл винаги трябва да има клас, чието име е същото като името на file, и този клас трябва да има модификатор public
. Пример:
Решение.java |
---|
|
"Освен това езикът Java ви позволява да пишете класове в рамките на класове. Това е друг начин да заобиколите горното ограничение. Ако публичен клас (клас с модификатора) е public
деклариран във файл и има същото име като името на file, тогава можете да декларирате колкото желаете класове в този публичен клас. Въпреки това, това вече няма да са обикновени класове. Вместо това те ще бъдат вътрешни or вложени класове. Пример:
Решение.java |
---|
|
Забравяйки да пишаpackage
„Тъй като програмите обикновено имат хиляди класове, може да е трудно да се намерят прости, разбираеми и уникални имена за всички тях. Ето защо в Java е обичайно класовете да се групират в пакети, като се използва ключовата дума. Точно така, Howто са групирани package
файловете в папки."
„Аха, затова всеки клас трябва да започва с указание за пакета, към който принадлежи.“
„Точно така. Ето един пример:
Код без опаковка | Коригиран пример |
---|---|
|
|
Забравих да добавяimport
„Ако искаме да използваме нечий друг клас в нашата програма, имаме две възможности: навсякъде в нашия code трябва също да напишем името на неговия пакет преди името на класа. Като алтернатива можем да напишем напълно квалифицираното име на клас с ключовата дума import
веднъж Пример:
Без използване на импорт | Използване на импортиране |
---|---|
|
|
„И двете опции работят, но ако просто пишете Scanner
във вашия code, без да добавяте import
, тогава компилаторът няма да може да разбере Scanner
от кой пакет трябва да вземе класа и програмата ви няма да се компorра.“
„Благодаря ти, Диего. Този урок ще ме накара да обърна повече внимание.“
"На това разчитах. Успех!"
GO TO FULL VERSION