Pokud s programováním v Javě právě začínáte, je přirozené, že občas uděláte chybu. Dobrá zpráva je, že většina těchto chyb je velmi běžná – a lze se jim poměrně snadno vyhnout. V tomto článku si představíme 5 nejčastějších chyb začátečníků v Javě a poradíme, jak se jim vyhnout.
Častou chybou je použití proměnné bez její inicializace. V Javě musíte proměnnou nejprve deklarovat a inicializovat, než ji použijete.
// CHYBA: proměnná není inicializována int vek; System.out.println(vek); // chyba při kompilaci
Pozor také na typové chyby:
String cislo = 25; // CHYBA: String nelze přiřadit typu int
Řešení: proměnné vždy inicializujte a používejte odpovídající datové typy.
Chyby v cyklech mohou způsobit nekonečné smyčky:
int i = 0; while (i < 5) { System.out.println(i); // chyba: i se nezvyšuje }
Také pozor na záměnu =
a ==
:
if (a = 5) { // místo porovnání dochází k přiřazení }
Řešení: před spuštěním cyklu ověřte podmínku a změnu hodnoty řídicí proměnné.
Tato chyba vzniká při pokusu zavolat metodu na objektu, který je null
:
String jmeno = null; System.out.println(jmeno.length()); // NullPointerException
Řešení: před použitím objektu vždy zkontrolujte, zda není null
.
if (jmeno != null) { System.out.println(jmeno.length()); }
Vhodné je také využití konstrukcí jako Optional
nebo Objects.requireNonNull()
.
Při přístupu mimo rozsah pole dojde k výjimce:
int[] cisla = {1, 2, 3}; System.out.println(cisla[3]); // CHYBA: index 3 neexistuje
Řešení: před přístupem k prvku zkontrolujte délku pole, nebo použijte bezpečný for-each
cyklus:
for (int cislo : cisla) { System.out.println(cislo); }
Začátečníci často zbytečně vytvářejí nové objekty:
String a = new String("Test"); String b = new String("Test");
Lepší je využít String pool
:
String a = "Test"; String b = "Test"; // sdílí stejný objekt
Další chybou je neuzavírání zdrojů jako soubory či databázová připojení.
try (Scanner sc = new Scanner(System.in)) { // bezpečné použití – uzavře se automaticky }
Vyzkoušejte kurz JAVASE1 – Programovanie v JAVA SE: Syntax jazyka JAVA, kde vás naučíme psát čistý, správný a efektivní Java kód bez zbytečných chyb. Kurz je ideální pro úplné začátečníky.
Viac informacií preberáme na kurze: