A legegyszerûbb Java programok



szöveg kiírása a képernyõre

alapprogram: Alap.java

...
System.out.println(<kiírandó paraméter>);  // szöveg kiírása
...

public class Alap {
public static void main(String[] args) {
  System.out.println("**********");
  System.out.println("* Hello! *");
  System.out.println("**********");
  }
 }

a program végrehajtásának lépései:



lokális változók használata a fõprogramban

alapprogram: Alap1.java

...
<típus> <változónév>; // változó deklarálása
...
<változónév> = <érték>;  // érték tárolása egy változóban (értékadás)
...
System.out.println(...+"<szöveg>"+<változó>+...);  // szövegek és változótartalmak kiírása
...
public class Alap1 {
public static void main(String[] args) {
  int kor;
  String nev;
  kor=23;
  nev="Kata";
  System.out.println(nev+" * "+nev+" * "+nev+" * "+nev+" * "+nev);
  System.out.println("Hello!");
  System.out.println("Nevem: "+nev);
  System.out.println("Korom: "+kor);
  System.out.println(kor+" * "+kor+" * "+kor+" * "+kor+" * "+kor);
  }
 }



parancssori paraméterek használata

alapprogram: Alap2.java

...
<String típusú változó> = args[<parancssori paraméter sorszáma>];
...
public class Alap2 {
public static void main(String[] args) {
  String nev1, nev2;
  nev1=args[0];
  nev2=args[1];
  System.out.println("123456789012345678901234567890123456789");
  System.out.println("Hello "+nev1+"!");
  System.out.println("\tHogy vagy?");
  System.out.println("\t\tUdvozol: "+nev2);
  System.out.println("123456789012345678901234567890123456789");
  }
 }



mezõk és metódusok deklarálása

alapprogram: Alap3.java

...
public static <típus> <osztályszintû mezõ neve>;
...
public <típus> <adatmezõ neve>;
...
public void <eljárás neve>() {
   <eljárás törzse>
    }
...
public <osztály neve>(<típus> <formális paraméter neve>) {
   <konstruktor törzse>
    }
...
public class Alap3 {
public static String vnev;
public String knev;

public void kiir() {
 System.out.println("Hello "+vnev+" "+knev+"!");
 }
public Alap3(String s) {
 knev=s;
 }
public static void main(String[] args) {
 Alap3 peld1=new Alap3("Kata");
 Alap3 peld2=new Alap3("Szilvi");
 vnev="Nagy";
 peld1.kiir();
 peld2.kiir();
 }
}

1. variáció: Alap3V1.java

public class <osztály neve> extends <szülõ osztály neve> {
...
public static void <eljárás neve>(<típus> <formális paraméter neve>) {
    <eljárás törzse>
    }
...
public void <eljárás neve>(<típus> <formális paraméter neve>,<típus> <formális paraméter neve>) {
    <eljárás törzse>
    }
...
public <osztály neve>() {
    this(...); // az aktuális osztály egy (másik) konstruktorának meghívása
   <konstruktor törzse>
    }
...
public <osztály neve>(<típus> <formális paraméter neve>) {
    super(...); // a szülõ osztály egy konstruktorának meghívása
   <konstruktor törzse>
    }
...
}
public class Alap3V1 extends Alap3 {

public static void beallit(String vnev) {
 Alap3.vnev=vnev;
 }

public void beallit(String vnev,String knev) {
 Alap3.vnev=vnev;
 this.knev=knev;
 }

public Alap3V1() {
 this("Nemtudomka");
 }

public Alap3V1(String s) {
 super(s);
 }

public static void main(String[] args) {
 Alap3V1 peld1=new Alap3V1();
 Alap3V1 peld2=new Alap3V1("Kata");

 beallit("Puk");
     peld1.kiir();peld2.kiir();
 peld1.beallit("Nagy");
     peld1.kiir();peld2.kiir();
 peld2.beallit("Kovacs");
     peld1.kiir();peld2.kiir();
 peld1.beallit("Szabo","Szilvi");
     peld1.kiir();peld2.kiir();
 }
}

2. variáció: Alap3V2.java

...
public void <eljárás neve>(...) {
    ...
    super.<eljárás neve>(...); // a szülõ osztály eljárásának meghívása
    ...
    }
...
public class Alap3V2 extends Alap3V1 {

public int kor;

public void beallit(String vnev,String knev,int kor) {
 beallit(vnev,knev);
 this.kor=kor;
 }

public void kiir() {
 super.kiir();
 if(kor>0) System.out.println("\tTe tenyleg "+kor+" eves vagy?");
 else System.out.println("\tMiert titkolod a korodat?");
 }

public Alap3V2() {
 this("Nemtudomka",-1);
 }

public Alap3V2(String s) {
 this(s,-1);
 }

public Alap3V2(String knev,int kor) {
 super(knev);
 this.kor=kor;
 }

public static void main(String[] args) {
 Alap3V2 peld1=new Alap3V2();
 Alap3V2 peld2=new Alap3V2("Kata",23);

 beallit("Nagy");
 peld1.kiir();
 peld2.kiir();
 peld1.beallit("Kovacs","Szilvi",21);
 peld1.kiir();
 peld2.kiir();
 }
}



Feladatok:

(1) Hozzon létre egy Konyv osztályt, amely két mezõt tartalmaz:

Tartalmaz továbbá egy kiir() eljárást, amely a könyv szerzõjét és címét írja ki formátumban. Hozza létre az osztály két példányát és írassa ki a könyvek adatait!

(2) Hozzon létre egy Konyv1 osztályt, amely a Konyv osztály leszármazottja és az örökölt mezõkön (és metódusokon) kívül egy további mezõt is tartalmaz:

Definiálja át a kiir() eljárást (a szülõ osztálytól örökölt kiir() eljárás meghívásával) úgy, hogy az új eljárás a szerzõ és cím kiírása alatt (új sorban) írja ki a könyv kiadási évét is formátumban. Hozza létre az osztály két példányát és írassa ki a könyvek adatait!

(3) Hozzon létre egy Konyv2 osztályt, amely a Konyv1 osztály (és ezen keresztül a Konyv osztaly) leszármazottja és az örökölt mezõkön és metódusokon kívül tartalmaz egy beallit(...) eljarast, amelynek a segítségével megadhatjuk egy könyvet azonosító példány szerz, cim és ev mezõit. Ezután


Boda István, 2005. október 5.