Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

start:info:11if:java_struktur 12.09.2008 08:09 start:info:11if:java_struktur 26.03.2015 12:07 aktuell
Zeile 5: Zeile 5:
public class Klassenname public class Klassenname
{ {
-  // Instanzvariablen +    // Instanzvariablen 
-   ...    +   ...   
-  /** +    /** 
-   * Konstruktor für Objekte der Klasse Test +     * Konstruktor für Objekte der Klasse Test 
-   */ +     */ 
-   public Test() +   public Test() { 
-  +       // Instanzvariablen initialisieren 
-     // Instanzvariablen initialisieren +       ... 
-     ... +   }
-   }+
-  //Methoden +    //Methoden 
-   public void beispielMethode() +   public void beispielMethode() { 
-  +       ... 
-     ... +   }
-   }+
} }
</code> </code>
Zeile 34: Zeile 32:
<code java> <code java>
-  public void beispielMethode() +    public void beispielMethode() { 
-  +       System.out.println("Tach auch!"); 
-     System.out.println("Tach auch!"); +   }
-   }+
</code> </code>
Zeile 53: Zeile 50:
<code java> <code java>
-  public void beispielMethode() +    public void beispielMethode() { 
-  +       System.out.println("Ich lerne Java!"); 
-     System.out.println("Ich lerne Java!"); +       System.out.println("Alles klar?!"); 
-     System.out.println("Alles klar?!"); +   }
-   }+
</code> </code>
Zeile 77: Zeile 73:
Jetzt einiges zu den Eingaben:\\ Jetzt einiges zu den Eingaben:\\
-Wenn wir wollen, dass der Computer Eingaben von User((Nutzer)) einliest, brauchen wir etwas, worin diese Eingabe abgespeichert wird, bevor es verarbeitet werden kann: Eine [[start:info:11if:04_variablen|Variable]]. Es gibt dabei verschiedene [[start:info:11if:03_datentypen|Typen]] von Variablen und zudem mit unterschiedlichen Datenbereichen. Di am häufigsten benutzten hast du ja bereits kennengelert...\\+Wenn wir wollen, dass der Computer Eingaben von User((Nutzer)) einliest, brauchen wir etwas, worin diese Eingabe abgespeichert wird, bevor es verarbeitet werden kann: Eine [[start:info:11if:04_variablen|Variable]]. Es gibt dabei verschiedene [[start:info:11if:03_datentypen|Typen]] von Variablen und zudem mit unterschiedlichen Datenbereichen. Die am häufigsten benutzten hast du ja bereits kennengelert...\\
====== Variablendeklaration ====== ====== Variablendeklaration ======
Zeile 86: Zeile 82:
<code java> <code java>
-  int    meinAlter; +    int    meinAlter; 
-   String kommentar;+   String kommentar;
</code> </code>
Zeile 93: Zeile 89:
<code java> <code java>
-  Variablentyp Variablenbezeichner;+    Variablentyp Variablenbezeichner;
</code> </code>
Zeile 108: Zeile 104:
<code java> <code java>
public class Beispiel { public class Beispiel {
-  int    meinAlter; +    int    meinAlter; 
-   String kommentar;+   String kommentar;
-  public void beispiel() { +    public void beispiel() { 
-     meinAlter = 19; +       meinAlter = 19; 
-     kommentar = "Hallo! Ich lerne Java.";+       kommentar = "Hallo! Ich lerne Java.";
-      System.out.println(kommentar); +      System.out.println(kommentar); 
-     System.out.println("Ich bin " + meinAlter + " Jahre alt."); +       System.out.println("Ich bin " + meinAlter + " Jahre alt."); 
-   }+   }
} }
</code> </code>
Zeile 127: Zeile 123:
<code java> <code java>
public class Beispiel { public class Beispiel {
-  int    meinAlter = 19; +    int    meinAlter = 19; 
-   String kommentar = "Hallo! Ich lerne Java.";+   String kommentar = "Hallo! Ich lerne Java.";
-  public void beispiel() { +    public void beispiel() { 
-     System.out.println(kommentar); +       System.out.println(kommentar); 
-     System.out.println("Ich bin " + meinAlter + " Jahre alt."); +       System.out.println("Ich bin " + meinAlter + " Jahre alt."); 
-   }+   }
} }
</code> </code>
Zeile 149: Zeile 145:
public class Beispiel { public class Beispiel {
-  int    deinAlter; +    int    deinAlter; 
-   String kommentar;+   String kommentar;
-  public void beispiel() { +    public void beispiel() { 
-     deinAlter = IOTools.readInteger("Wie alt bist du? "); +       deinAlter = IOTools.readInteger("Wie alt bist du? "); 
-     kommentar = IOTools.readString("Gib mir ein Kommentar: "); +       kommentar = IOTools.readString("Gib mir ein Kommentar: "); 
-     System.out.println(kommentar); +       System.out.println(kommentar); 
-     System.out.println("Du bist " + deinAlter + " Jahre alt."); +       System.out.println("Du bist " + deinAlter + " Jahre alt."); 
-   }+   }
} }
</code> </code>
Zeile 174: Zeile 170:
public class Beispiel { public class Beispiel {
-  int    deinAlter; +    int    deinAlter; 
-   String kommentar;+   String kommentar;
-  public void beispiel() { +    public void beispiel() { 
-     deinAlter = IOTools.readInteger("Wie alt bist du? "); +       deinAlter = IOTools.readInteger("Wie alt bist du? "); 
-     kommentar = IOTools.readString("Gib mir ein Kommentar: "); +       kommentar = IOTools.readString("Gib mir ein Kommentar: "); 
-     System.out.println(kommentar); +       System.out.println(kommentar); 
-     System.out.println("Du bist " + deinAlter + " Jahre alt."); +       System.out.println("Du bist " + deinAlter + " Jahre alt."); 
-   +  
-}</code>+} 
 +</code>
Ersetzen durch: Ersetzen durch:
Zeile 191: Zeile 188:
public class Beispiel { public class Beispiel {
-  int    deinAlter; 
-  String kommentar; 
- 
-  public void beispiel() { 
-      deinAlter = IOTools.readInteger("Wie alt bist du? "); 
-      kommentar = IOTools.readString("Gib mir ein Kommentar: "); 
-      System.out.println(kommentar); 
-      System.out.println("Du bist " + deinAlter + " Jahre alt."); 
-  } 
-} 
    double deinAlter;     double deinAlter;
 +    String kommentar;
-    public void beispiel() +    public void beispiel() {
-    {+
        deinAlter = IOTools.readDouble("Wie alt bist Du? ");         deinAlter = IOTools.readDouble("Wie alt bist Du? ");
        kommentar = IOTools.readString("Gib mir ein Kommentar: ");         kommentar = IOTools.readString("Gib mir ein Kommentar: ");
Zeile 210: Zeile 197:
        System.out.println(kommentar);         System.out.println(kommentar);
        String format = "Du bist also %5.3f Jahre alt.\n";         String format = "Du bist also %5.3f Jahre alt.\n";
-        System.out.printf(format, meinAlter);+        System.out.printf(format, deinAlter);
    }     }
} }
Zeile 237: Zeile 224:
  - Java Klassen fangen immer mit %%__________%% an und beinhalten %%__________%%.   - Java Klassen fangen immer mit %%__________%% an und beinhalten %%__________%%.
  - Was ist der Unterschied zwischen ''System.out.print()'', ''System.out.println()'' und ''System.out.printf()''?   - Was ist der Unterschied zwischen ''System.out.print()'', ''System.out.println()'' und ''System.out.printf()''?
-  - Wie kann man zwei leere Zeilen auf dem Bildschirm ausgeben?''+  - Wie kann man zwei leere Zeilen auf dem Bildschirm ausgeben?
  - Nenne mindestens 5 Datentypen mit deren Wertebereich und Art!   - Nenne mindestens 5 Datentypen mit deren Wertebereich und Art!
  - Wie kann man eine Eingabe einlesen?   - Wie kann man eine Eingabe einlesen?
Zeile 254: Zeile 241:
 +====== Rechnen mit Java ======
 +
 +Java ist auch fähig zu rechnen, was das Programmieren erheblich erleichtert. Hier folgen jetzt ein paar Veinbarungen:\\
 +
 +Zum Rechnen braucht man Operatoren. Zur Verfügung stehen standardmäßig folgende:
 +
 +===== Arithmetische Operatoren =====
 +
 +^ Operator ^ Beispiel  ^ Bedeutung    ^
 +|  ''+''  | ''x + y'' |Addition      |
 +|  ''-''  | ''x - y'' |Subtraktion    |
 +|  ''*''  | ''x * y'' |Multiplikation |
 +|  ''/''  | ''x / y'' |Division      |
 +|  ''%''  | ''x % y'' |Modulo        |
 +
 +Um den Operator Modulo (''%'') zu verstehen, sollte man einige Beispiele durchrechnen. Aber soviel vorweg: Damit wird eine ganzzahlige Division durchgeführt und als Ergebnis der Restwert geliefert.
 +
 +**Beispiel:**
 +
 +<code java>
 +    public void bespielOperation() {
 +        int x = 28;
 +        int y =  8;
 +
 +        System.out.println(x + y); // = 36
 +        System.out.println(x - y); // = 20
 +        System.out.println(x * y); // =224
 +        System.out.println(x / y); // =  3
 +        System.out.println(x % y); // =  4
 +    }
 +</code>
 +
 +Probiere auch andere Werte aus, bis du zu allen Operationen ein Aha-Erlebnis hast.\\
 +
 +Ach ja: Hast du gemerkt, dass der Ergebnistyp von den Typen der Zahlen in der Rechnung abhängt? Wie? Ausprobieren und folgende Tabelle ausfüllen:
 +
 +^Operator                ^ ''+'' ^  ''-''  ^  ''*''  ^''/''^''%''^
 +^''int'' op ''int''      |''int''|          |          |    |    |
 +^''double'' op ''int''  |      |''double''|          |    |    |
 +^''double'' op ''double''|      |          |''double''|    |    |
 +
 +===== Zuweisungsoperatoren =====
 +
 +Wie weist man einer Variablen (sagen wir ''x'') einen Wert zu? Das passiert mit dem Gleichheitszeichen (''='').\\
 +
 +**Beispiel:**\\
 +<code java>
 +    x = 1;
 +    x = a + b;
 +</code>
 +
 +Für einige Zuweisungen in der Form ''x = x ''//op//'' y'' - wobei //op// ein arithmetischer Operator steht - bietet Java eine verkürzte Schreibweise:\\
 +
 +^Operator^Beispiel^Bedeutung  ^
 +|  +=  | x += y | x = x + y |
 +|  -=  | x -= y | x = x - y |
 +|  *=  | x *= y | x = x * y |
 +|  /=  | x /= y | x = x / y |
 +|  %=  | x %= y | x = x % y |
 +
 +Diese Schreibweise lässt sich (meiner Meinung nach) ganz gut auf folgende Weise interpretieren und merken:\\
 +  Erhöhe/reduziere/vervielfache/teile linke Seite um rechte Seite.
 +
 +Nur bei dem Modulo-Operator macht dieser Merksatz keinen Sinn... :-)\\
 +\\
 +Neben diesen arithmetischen Operatoren und den Zuweisungsoperatoren gibt es noch...
 +
 +
 +===== Inkrement- und Dekrement-Operatoren =====
 +
 +Es ist oft so, dass der Wert einer ''int''-Variablen um 1 erhöht oder vermindert wird. Auch hierfür bietet Java spezielle Operatoren an, nämlich:\\
 +
 +^Operator    ^Ausdruck    ^Bedeutung          ^
 +| ''%%++%%'' | ''%%++x%%'' | ''%%x = x + 1%%'' |
 +||          | ''%%x++%%'' | ''%%x = x + 1%%'' |
 +| ''%%--%%'' | ''%%--x%%'' | ''%%x = x - 1%%'' |
 +||          | ''%%x--%%'' | ''%%x = x - 1%%'' |
 +
 +**ACHTUNG!** Es macht einen Unterschied, wenn man den Inkrement- bzw. Dekrement-Operator _vor_ oder _hinter_ dem Variablennamen stellt. Dazu ein Beispiel, um den Unterschied zu verdeutlichen:\\
 +
 +<code java>
 +  y = x++;
 +</code>
 +
 +''y'' erhält den Wert von ''x'', erst danach wird ''x'' inkrementiert.
 +
 +<code java>
 +    z = ++x;
 +</code>
 +
 +''x'' wird zuerst inkrementiert, dann wird ''z'' dieser neue Wert von ''x'' zugewiesen.
 +
 +,,,,,,
 +
 +  * Addition (+), Subtraktion (–), Multiplikation (*), Division (''/'') und Modulo (''%''):
 +
 +Wenn beide Zahlen den Typ Integer haben, kommt auch Integer raus. Ansonsten – auch wenn nur eine Zahl Real sein sollte – wird das Ergebnis Real.
 +o Integer mit Integer = Integer
 +o Integer mit real = real
 +o real mit real = real
 +• Division (/): Liefert immer Real als Ergebnis.
 +• Eine besondere Art der Division (Div): Fast dasselbe wie (/), aber es liefert stets ein Integer-Ergebnis.
 +
 +Schön und gut, aber wie wird das umgesetzt?
 +
 +Gleichungen, wie wir sie kennen… …werden zu :
 +y = 5 • 3 y:=5*3; (y kann sowohl Integer als auch real sein)
 +z = 5 + 4 • 3 z:=5+4*3; (z kann sowohl Integer als auch real sein)
 +a = 3,14 • 7 • 7 a:=3.14*7*7; (a ist immer real)
 + b = 14 • (5 + a) b:=14*(5+a); (b hängt von a ab, wenn a real ist, ist b immer real. Wenn a Integer ist, kann b real oder Integer sein).
 +
 +OK, das sind relativ einfache Beispiele. Aber man sollte sie gut kennen. Wie sieht’s jetzt mit der besonderen Art der Division aus?
 +
 + a:=22/7; wenn a real ist, ergibt das 3.142856 … usw. anderenfalls eine Fehlermeldung
 + b:=22 div 7; b ist immer Integer und erhält den Wert 3. Div rundet immer ab. Selbst 11 div 4 würde 3 ergeben, obwohl der Otto-Normal-Verbraucher 3,75 auf 4 aufrunden würde…
 +Pascal kann aber Real-Werte zu Integer-Werten konvertieren: mit den Befehlen Trunc und Round. Trunc verhält sich ähnlich wie Div; es rundet stets ab. Round ist ein wenig moderater: es rundet zur nächsten ganzen Zahl. Ü-berprüfe die unten stehenden Zeilen, um dir ein Bild davon zu machen:
 +USES crt;
 +BEGIN
 +  clrscr;
 +  writeln(Trunc(12.31));
 +  writeln(Round(12.31));
 +  writeln(Trunc(31.49));
 +  writeln(Round(31.49));
 +  writeln(Trunc(44.59));
 +  writeln(Round(44.59));
 +  readln;
 +END;
 +,,,,,,
start/info/11if/java_struktur.1221199765.txt.gz · Zuletzt geändert: 23.10.2013 10:12 (Externe Bearbeitung)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0