Jul 31

Mit System.exit(0)  innerhalb einer for-Schleife wird das Programm sofort abgebrochen, eine Weiterführung der bestehenden Schleifen, des Unterprogrammes oder des Hauptprogrammes findet nicht statt.

class Angestellter {

public static void main(String args[]) {

System.out.println(“Start im Hauptprogramm: “);
Buchhalter.forSchleife();
// Aufruf der statischen Methode “forSchleife()” von Buchhalter.
System.out.println( “Ende des Hauptprogrammes”);// Hauptprogramm wird bei System.exit(0) nicht weiter ausgeführt

}

}

class Buchhalter extends Angestellter {

public static void forSchleife() {

System.out.println(“Start Unterprogramm: “);
for (int b=0; b<3; b++) {
// Schleife 1

for (int a=0; a < 10; ++a){ // Schleife 2

System.out.print(“\na: “+a);
if (a==2)

System.exit(0); // System-Ausstieg

}

System.out.print(” b: ” +b); // Schleife 1 kann bei Programmende nicht weiter ausgeführt werden

}

System.out.println(“\nEnde Unterprogramm”); // Da das Programm bei einem Wert a==2 beendetwird, wird diese Stelle nie erreicht.

}

}

Die Ausgabe ist demnach

Start im Hauptprogramm:
Start Unterprogramm:

a: 0
a: 1
a: 2

Tagged with:
Jul 29

Mit return innerhalb einer for-Schleife wird sofort ins Hauptprogramm zurückgekehrt, eine Weiterführung der bestehenden Schleifen oder des Unterprogrammes generell findet nicht statt.

class Angestellter {

public static void main(String args[]) {

System.out.println(“Start im Hauptprogramm: “);
Buchhalter.forSchleife();
// Aufruf der statischen Methode “forSchleife()” von Buchhalter.
System.out.println( “Ende des Hauptprogrammes”);

}

}

class Buchhalter extends Angestellter {

public static void forSchleife() {

System.out.println(“Start Unterprogramm: “);
for (int b=0; b<3; b++) {
// Schleife 1

for (int a=0; a < 10; ++a){ // Schleife 2

System.out.print(“\na: “+a);
if (a==2)

return; // Verlassen des Unterprogrammes, wenn a den Wert von 2 erreicht

}

System.out.print(” b: ” +b); // Schleife 1 wird bei return nicht weitergeführt

}

System.out.println(“\nEnde Unterprogramm”); // Da das Unterpgrogramm bei einem Wert a==2 verlassen wird, wird diese Stelle nie erreicht.

}

}

Die Ausgabe ist demnach

Start im Hauptprogramm:
Start Unterprogramm:

a: 0
a: 1
a: 2Ende des Hauptprogrammes

Tagged with:
Jul 27

Mit break springt man aus der aktuellen Schleife, alles arbeitet wie spezifiziert weiter:

class Angestellter  {

public static void main(String args[]) {

System.out.println(“Start im Hauptprogramm: “);
Buchhalter.forSchleife();
// Aufruf der statischen Methode “forSchleife()”  von Buchhalter.
System.out.println(    ”Ende des Hauptprogrammes”);

}

}

class Buchhalter extends Angestellter {

public static void forSchleife() {

System.out.println(“Start Unterprogramm: “);
for (int b=0; b<3; b++) {
// Schleife 1

for (int a=0; a < 10; ++a){ // Schleife 2

System.out.print(“\na: “+a);
if (a==2)

break; // Abbruch von Schleife 2 wenn a den Wert 2 erreicht

} // Wenn “break” greift, wird auch a nicht mehr (wie üblich) hochgezählt

System.out.print(” b: ” +b); // Die erste Schleife wird weitergeführt

}

System.out.println(“\nEnde Unterprogramm”);

}

}

Die Ausgabe ist demnach:

Start im Hauptprogramm:
Start Unterprogramm:

a: 0
a: 1
a: 2 b: 0
a: 0
a: 1
a: 2 b: 1
a: 0
a: 1
a: 2 b: 2
Ende Unterprogramm
Ende des Hauptprogrammes

Tagged with:
Jul 25

Bei der Iteration innerhalb einer For-Schleife bitte beachten, dass sich der Wert erst ändert, wenn der Schleifen-Inhalt abgearbeitet wird:

for (int a=0; a < 1; a++){

System.out.println(a); // Ausgabe: 0

} // erst hier wird a um 1 hochgezählt

Die Ausgabe ändert sich auch nicht bei einer Vor-Inkrementierung:

for (int a=0; a < 1; ++a){

System.out.println(a); // Ausgabe ist ebenfalls 0

} // Auch hier wird ebenfalls erst um 1 hochgezählt

Auch sind mehrere Iterationen möglich, die durch Komma getrennt werden:

for (int a=0, b=0; a < 1; a++, b++){ … }

Tagged with:
Jul 23

Grundsätzlich sind verschachtelte Bedingungen möglich:

int b=5;
for (int a = 0; a < 10 && b < 8; a++){

System.out.println(a);
b++;

}

Es handelt sich im Endeffekt um einen boolean-Wert, der zurückgegeben wird, da beide Bedingungen mit && verknüpft sind. Mehrfache Bedingungen wie z.B.

for (int a = 0; a < 10 , b < 8; a++) { }

sind nicht möglich

Tagged with:
Jul 22

Der Aufruf erfolgt mit Java Angestellter 123 456. Was muss eingefügt werden, um PersNr den Wert 456 zuzuweisen?

public class Angestellter  {

String Persnr;
static public void main(String[] Args){

/* insert Code here */

}

}

Antwort/ answer
Tagged with:
Jul 21

Hier eine Tücke der Initialisierung innerhalb der for-Schleife

for ( int a = 1, b = 5; a <= b; a++ ) {  }

compiliert  problemlos, während

for ( int a = 1, int b = 5; a <= b; a++ ) { }

zu einem Compilerfehler führt. Dies hängt damit zusammen, dass wie bei Deklarationen von mehreren Variablen des selben Typs üblich diese nur durch ein Komma getrennt werden.

Ebenfalls zu einem Compilerfehler führt:

int b;
for ( int a = 1, b = 5; a <= b; a++ ) { }

während

int b=5;
for ( int a = 1; a <= b; a++ ) { }

einwandfrei compiliert.

Tagged with:
Jul 20

Bei welcher Zeile kommt eine Exception?

String PersNr = null;

if ( PersNr != null && PersNr.length() > 0)
System.out.println(“PersNr != null & PersNr.length() > 0″);

if ( PersNr != null | PersNr.length() > 0)
System.out.println(“PersNr != null | PersNr.length() > 0″);

if ( PersNr != null || PersNr.length() > 0)
System.out.println(“PersNr != null & PersNr.length() > 0″);

if ( PersNr != null & PersNr.length() > 0)
System.out.println(“PersNr != null & PersNr.length() > 0″);

Antwort/ answer
Tagged with:
Jul 19

Eine For-Schleife besteht ja grundsätzlich aus den folgenden Teilen:

for (<Initialisierung>;<Bedingung>;<Iteration>) { Schleifen-Inhalt }

Bitte in diesem Zusammenhang noch beachten, dass innerhalb von Schleifen deklarierte Variablen außerhalb nicht mehr erreichbar sind:

for (int a = 0; a < 10; i++){

int b =10;

}

System.out.println(a); // Compiler-Fehler
System.out.println(b); // Compiler-Fehler

Tagged with:
Jul 17

Auch hier gehe ich nicht auf die generelle Handhabung ein, sondern nur auf Besonderheiten. Wie bestimmt schon bekannt ist, wertet while immer nur ein boolean-Resultat aus.

int a = 3;

while (a){ } // Compiler-Fehler, da kein boolean-Wert
while (a=3){ } // Compiler-Fehler, da ebenfalls kein boolean-Wert
while (a==3) { } // OK
while (true) { } // OK

Auch der Unterschied zwischen do-while (mindestens ein Durchgang) und while (evtl. kein Durchgang) dürfte bekannt sein.

Tagged with:
preload preload preload
http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
Webbhotell Top Blogs