Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
info:java:einrueck [2008/11/03 22:54] admin |
info:java:einrueck [2010/12/07 21:05] (aktuell) admin |
||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Blöcke==== | ||
+ | Will man mehrere Befehle zu einem einzigen zusammenfassen, so schreibt man sie in geschweifte Klammern. Das ganze nennt man dann einen //Block//. Blöcke sind sehr wichtig überall, wo es um Strukturen geht, z.B. in ''if''-''else''. | ||
+ | |||
+ | Wenn ich abends hungrig bin, esse ich ein Käsebrot und eine Sahnetorte, danach gehe ich ins Bett. Bin ich nicht hungrig, esse ich nichts und gehe einfach so ins Bett. Folgendes ist ganz falsch! | ||
+ | <code java> | ||
+ | if(hungrig) | ||
+ | iss(käsebrot); | ||
+ | iss(sahnetorte); | ||
+ | gehezu(bett); | ||
+ | </code> | ||
+ | Nur weil ''iss(sahnetorte)'' eingerückt ist, gehört es noch lange nicht zu dem ''if''-Teil. Der Compiler schaut sich die Einrückungen gar nicht an. Er geht davon aus, dass zum ''if'' genau ein Befehl gehört und das ist der ''iss(käsebrot)''. Wenn ich also nicht hungrig bin, wird nur das Käsebrot nicht gegessen. Alles, was nach dem ''if'' kommt, wird auf jeden Fall durchgeführt und nach dem ''if'' ist die Stelle ''iss(sahnetorte)''. Ich werde also mit einer Sahnetorte zuviel im Bauch ins Bett gehen und schlecht schlafen. | ||
+ | |||
+ | Damit es vom Compiler so verstanden wird, wie ich es gemeint habe, muss ich schreiben | ||
+ | <code java> | ||
+ | if(hungrig){ | ||
+ | iss(käsebrot); | ||
+ | iss(sahnetorte); | ||
+ | } | ||
+ | gehezu(bett); | ||
+ | </code> | ||
+ | Mit den geschweiften Klammern ist aus den beiden ''iss(...)'' ein Block geworden, was einem einzigen Befehl entspricht. Passen Sie immer auf, dass die Klammern stimmen, damit das Programm richtig funktioniert und dass die Einrückungen stimmen, damit man als Mensch gleich sieht, wie es gemeint ist. | ||
====if-else Langversion==== | ====if-else Langversion==== | ||
Zeile 31: | Zeile 56: | ||
public static void main(String[] args){ | public static void main(String[] args){ | ||
System.out.print("Hallo "); | System.out.print("Hallo "); | ||
- | if(args.length>0) | + | if(args.length<1) |
- | System.out.println(args[0]); | + | |
- | else | + | |
System.out.println("Leute"); | System.out.println("Leute"); | ||
- | boolean hansda; | ||
- | if(args[0].equals("Hans")){ | ||
- | hansda=true; | ||
- | System.out.println("Mein Meister!"); | ||
- | } | ||
else{ | else{ | ||
- | hansda=false; | + | System.out.println(args[0]); |
- | System.out.println("Ich kenne dich nicht."); | + | if(args[0].equals("Hans")){ |
+ | System.out.println("Mein Meister!"); | ||
+ | System.out.println("Endlich bist du da."); | ||
+ | } | ||
+ | else{ | ||
+ | System.out.println("Ich kenne dich nicht."); | ||
+ | System.out.println("Geh fort!"); | ||
+ | } | ||
} | } | ||
} | } | ||
Zeile 56: | Zeile 81: | ||
public static void main(String[] args){ | public static void main(String[] args){ | ||
System.out.print("Hallo "); | System.out.print("Hallo "); | ||
- | if(args.length>0) System.out.println(args[0]); | + | if(args.length<1) System.out.println("Leute"); |
- | else System.out.println("Leute"); | + | else{ |
- | boolean hansda; | + | System.out.println(args[0]); |
- | if(args[0].equals("Hans")){ | + | if(args[0].equals("Hans")){ |
- | hansda=true; | + | System.out.println("Mein Meister!"); |
- | System.out.println("Mein Meister!"); | + | System.out.println("Endlich bist du da."); |
- | } else{ | + | } else{ |
- | hansda=false; | + | System.out.println("Ich kenne dich nicht."); |
- | System.out.println("Ich kenne dich nicht."); | + | System.out.println("Geh fort!"); |
+ | } | ||
} | } | ||
} | } | ||
Zeile 115: | Zeile 141: | ||
====Leerzeilen==== | ====Leerzeilen==== | ||
Zwischen zwei Methoden lässt man übrigens immer eine Zeile frei. Das ist zwar keine Aussage zu Einrückungen, aber trotzdem hier zu nennen! | Zwischen zwei Methoden lässt man übrigens immer eine Zeile frei. Das ist zwar keine Aussage zu Einrückungen, aber trotzdem hier zu nennen! | ||
+ |