Anweisungen:Javakurs: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Category:Tutorial Category:Java Übersicht == Theorie == In Java gibt es 5 verschieden Anweisungen: * if-Statement: bedingte Ausführun…“)
 
Zeile 5: Zeile 5:


== Theorie ==
== Theorie ==
In Java gibt es 5 verschieden Anweisungen:
In Java gibt es 6 verschieden allgemeine Anweisungen:
* if-Statement: bedingte Ausführung
* if-Statement: bedingte Ausführung
* for-Statement: Schleife mit Fortschaltung
* while-Statement: Wiederholte Ausführung mit Bedingung am Anfang
* while-Statement: Wiederholte Ausführung mit Bedingung am Anfang
* do-while-Statement: Wiederholte Ausführung mit Bedingung am Ende
* do-while-Statement: Wiederholte Ausführung mit Bedingung am Ende
Zeile 14: Zeile 15:
== If Statement ==
== If Statement ==
=== Syntax ===
=== Syntax ===
<nowiki>'if' '(' <condition> ')' <true-statementlist> [ 'else' <false-statementlist ]
<nowiki>'if' '(' <condition> ')' <true-statementlist> [ 'else' <false-statementlist> ]
</nowiki>
</nowiki>
Es wird die Bedingung ausgewertet:
Es wird die Bedingung ausgewertet:
Ist die Bedingung true, wird die true-statementlist ausgeführt.
Ist die Bedingung true, wird die true-statementlist ausgeführt.
Liefert die Bedingung false und existiert eine false-statementlist, wird diese ausgeführt.
Liefert die Bedingung false und existiert eine false-statementlist, wird diese ausgeführt.


Zeile 30: Zeile 33:
</pre>
</pre>


== For Statement ==
=== Syntax ===
<nowiki>'for' '(' <initializing-statementlist> ';' <condition> ';' <stepping> ')' <body-statementlist>
</nowiki>
Es wird die Initialisierung ausgeführt.
Danach wird solange die Rumpanweisungsliste ausgeführt, wie die Bedingung true liefert.
Nach jedem Ausführen der Rumpanweisungsliste wird die Fortschaltung ausgeführt.
=== Beispiel ===
<pre>
// Berechne die Fakultät von 11:
int fac = 1;
for (int n = 1; n <= 11; n++)
  fac *= n;
</pre>
== While Statement ==
== While Statement ==
=== Syntax ===
=== Syntax ===
<nowiki>'while' '(' <condition> ')' 'do' <statementlist>
<nowiki>'while' '(' <condition> ')' 'do' <statementlist>
</nowiki>
</nowiki>
Es wird die Bedingung ausgewertet:
Es wird die Bedingung ausgewertet:
Ist die Bedingung true, wird die statementlist ausgeführt und erneut die Bedingung ausgewertet.
Ist die Bedingung true, wird die statementlist ausgeführt und erneut die Bedingung ausgewertet.
Liefert die Bedingung false, wird das Statement beendet.
Liefert die Bedingung false, wird das Statement beendet.


=== Beispiel ===
=== Beispiel ===
<pre>
<pre>
// Bestimme die größte Fakultät unter 100:
n = 1;
f = 1;
while(f < 100){
  f = f * n;
  n++;
}
System.out.println(String.format("n=%d fac=%d", n, f);
</pre>
</pre>
   
   
Zeile 46: Zeile 79:
<nowiki>'do' <statementlist> 'while'(' <condition> ')';
<nowiki>'do' <statementlist> 'while'(' <condition> ')';
</nowiki>
</nowiki>
Es wird die statementlist ausgeführt.
 
Es wird die Anweisungsliste ausgeführt.
 
Danach wird die Bedingung geprüft.
Danach wird die Bedingung geprüft.
Ist die Bedingung true, wird die statementlist erneut ausgeführt und erneut die Bedingung ausgewertet.
Ist die Bedingung true, wird die statementlist erneut ausgeführt und erneut die Bedingung ausgewertet.
Liefert die Bedingung false, wird das Statement beendet.
Liefert die Bedingung false, wird das Statement beendet.


=== Beispiel ===
=== Beispiel ===
<pre>
<pre>
// Suche nach der ersten Fibunacci-Zahl größer 100
int f1 = f2 = 1;
int n = 2;
int f;
do {
 
  f = f1 + f2;
  f2 = f1;
  f1 = f;
  n++;
} while (f < 100);
System.out.println(String.format("n=%d fib=%d", n, f);
</pre>
== Switch Statement ==
=== Syntax ===
<pre>
<nowiki>'switch '(' <selector> ')' '{' <cases>  '}'
<cases> ::= { <case> }+
<case> ::= <values> <statementlist> | 'default' ':'
<values> ::= { <value> }+
<value> ::= 'case' <constant> ':' | 'default' ':'
</nowiki>
</pre>
Es wird der Selektor ermittelt und mit allen Konstanten verglichen. Passt eine Konstante, wird die zugehörige
Anweisungsliste ausgeführt, wenn nicht die Anwendungsliste hinter 'default', wenn vorhanden.
Alle Konstanten müssen verschieden sein. 'default' darf höchstens einmal vorkommen.
Kommt in einer Anweisungsliste der Befehl 'break' vor, wird die Abarbeitung des Switch-Statements abgebrochen.
Normalerweise ist also das letzte Statement einer Anweisungsliste ein 'break;'
=== Beispiel ===
<pre>switch(cc){
case ' ':
  charClass = "blank";
  break;
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
  charClass = "digit";
  break;
default:
  charClass = "other";
  break;
}
</pre>
</pre>

Version vom 20. September 2014, 09:23 Uhr


Übersicht

Theorie

In Java gibt es 6 verschieden allgemeine Anweisungen:

  • if-Statement: bedingte Ausführung
  • for-Statement: Schleife mit Fortschaltung
  • while-Statement: Wiederholte Ausführung mit Bedingung am Anfang
  • do-while-Statement: Wiederholte Ausführung mit Bedingung am Ende
  • for-Statement: Wiederholte Ausführung mit Initialisierung, Bedingung und Weiterschaltung
  • switch-Statement: Mehrfachverzweigung

If Statement

Syntax

'if' '(' <condition> ')' <true-statementlist> [ 'else' <false-statementlist> ]

Es wird die Bedingung ausgewertet: Ist die Bedingung true, wird die true-statementlist ausgeführt.

Liefert die Bedingung false und existiert eine false-statementlist, wird diese ausgeführt.

Beispiel

if ( temperature < 0 )
   System.out.println("ice warning!");
else if ( temperature > 100)
   System.out.println("steam warning!");
else
   System.out.println("water is fluid");


For Statement

Syntax

'for' '(' <initializing-statementlist> ';' <condition> ';' <stepping> ')' <body-statementlist>

Es wird die Initialisierung ausgeführt.

Danach wird solange die Rumpanweisungsliste ausgeführt, wie die Bedingung true liefert.

Nach jedem Ausführen der Rumpanweisungsliste wird die Fortschaltung ausgeführt.

Beispiel

// Berechne die Fakultät von 11:
int fac = 1;
for (int n = 1; n <= 11; n++)
   fac *= n;

While Statement

Syntax

'while' '(' <condition> ')' 'do' <statementlist>

Es wird die Bedingung ausgewertet:

Ist die Bedingung true, wird die statementlist ausgeführt und erneut die Bedingung ausgewertet.

Liefert die Bedingung false, wird das Statement beendet.

Beispiel

// Bestimme die größte Fakultät unter 100:
n = 1;
f = 1;
while(f < 100){
   f = f * n;
   n++;
}
System.out.println(String.format("n=%d fac=%d", n, f);

Do-While Statement

Syntax

'do' <statementlist> 'while'(' <condition> ')';

Es wird die Anweisungsliste ausgeführt.

Danach wird die Bedingung geprüft.

Ist die Bedingung true, wird die statementlist erneut ausgeführt und erneut die Bedingung ausgewertet.

Liefert die Bedingung false, wird das Statement beendet.

Beispiel

// Suche nach der ersten Fibunacci-Zahl größer 100
int f1 = f2 = 1;
int n = 2;
int f;
do {
   
   f = f1 + f2;
   f2 = f1;
   f1 = f;
   n++;
} while (f < 100);
System.out.println(String.format("n=%d fib=%d", n, f);

Switch Statement

Syntax

'switch '(' <selector> ')' '{' <cases>  '}'

<cases> ::= { <case> }+

<case> ::= <values> <statementlist> | 'default' ':'

<values> ::= { <value> }+

<value> ::= 'case' <constant> ':' | 'default' ':'

Es wird der Selektor ermittelt und mit allen Konstanten verglichen. Passt eine Konstante, wird die zugehörige Anweisungsliste ausgeführt, wenn nicht die Anwendungsliste hinter 'default', wenn vorhanden.

Alle Konstanten müssen verschieden sein. 'default' darf höchstens einmal vorkommen.

Kommt in einer Anweisungsliste der Befehl 'break' vor, wird die Abarbeitung des Switch-Statements abgebrochen. Normalerweise ist also das letzte Statement einer Anweisungsliste ein 'break;'

Beispiel

switch(cc){
case ' ':
   charClass = "blank"; 
   break;
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
   charClass = "digit";
   break;
default:
   charClass = "other";
   break;
}