Gyakorlati alapok I.
A main() tulajdonságai
public class Main {
public static void main(String[] args) {
}
}
Végeredmény:
Hiba nélküli, de üres konzol
Egyszerűen fogalmazva, a fenti deklarációjában minden fontos: ha bármi is hiányzik belőle, az Eclipse hibát fog jelezni és a kód nem fut le.
Például átnevezni sem tudjuk a Main osztálynevet, mert szintén fordítási hibát kapunk (ekkor az osztálynév és a kódot tartalmazó .java szövegfájl, azaz a forrásállomány neve nem lesz azonos), helyette refaktorálnunk kell (Gyorsan tanuljuk meg: a refaktorálás című fejezet). Deklarációs alkotóelemeit majd fokozatosan fedjük fel, illetve A main() tulajdonságai az osztályok környezetében című fejezetben fejtjük ki bővebben, hiszen nem kezdők szintje a void, a static vagy a public megértése. Azonban fel kell hívnom a figyelmet 2 fontos szeparátorra, amely a különböző kódblokkokat választja el egymástól. Legyen bármennyi soros is a megírt alkalmazásunk, mindenképpen 2 nyitó és 2 záró kódblokk-szeparátor fogja közre:
{
{
}
}
Hiányukat vagy többletüket az Eclipse hibaüzenetben jelzi és a hiba megszüntetéséig nem futtatható a kód.
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Végeredmény:
Hello World!
Ugyanakkor a Hello World! kiírás végén van egy másik fontos szeparátor is, ez a pontos vessző (;):
System.out.println("Hello World!");
Ezt mindig az utasítássorok végére kell tennünk, ez zárja le minden egyes utasítás sorát, hiánya hibaüzenetet generál és a kód nem lesz futtatható. De láthatjuk azt is, hogy kódblokk-szeparátorok után nem kell kitennünk.
Azt is itt kell megjegyezni, hogy néha a metódusok paraméterlistája több sorossá bővül, ekkor a ; jelet csak a metódus paraméterlistáját lezáró zárójel mögé kell kitennünk, azaz:
metódus(
bemeneti paraméter 1,
bemeneti paraméter 2,
bemeneti paraméter 3);
Az alábbi futtatható Java-kódban az alapmetódus a System.out.println();, amely paraméterként, a + jellel összefűzve sok további metódust kap, így a ; jel csak a 11. sor végén lesz:
public class Main {
public static void main(String[] args) {
char karakter = 'R';
System.out.println(Character.isUpperCase(karakter)
+ "\n" + Character.isLowerCase(karakter)
+ "\n" + Character.toUpperCase(karakter)
+ "\n" + Character.toLowerCase(karakter)
+ "\n" + Character.isDigit(karakter)
+ "\n" + Character.isLetter(karakter)
+ "\n" + Character.isLetterOrDigit(karakter)
+ "\n" + Character.class);
}
}
Végeredmény:
true
false
R
r
false
true
true
class java.lang.Character
Az Eclipse hibadetektálása és megoldási javaslatai rendkívül magas szintűek, többek között a fent említett hibákat is kiválóan képes felismerni. Ennek ellenére garantált, hogy a jelen hibákat tanulmányaink során rengetegszer el fogjuk követni.