Nov 20

Welche Zeilen compilieren nicht einwandfrei?

final int AbtNr;
Byte PersSchlüssel=7;
Integer PersNr=123;
AbtNr=10;

switch(PersSchlüssel){
case 128:System.out.println(“128″);
//1
default:System.out.println(“default”);
//2
case AbtNr:System.out.println(“AbtNr”);
//3
case PersNr:PersNr++ ;
//4

Antwort/ answer
Tagged with:
Aug 16

Was ist die Ausgabe bei folgendem Code?

long a = 10;
switch(a){

default:
System.out.println(“1″);
case 1:
System.out.println(“2″);
case 10:
System.out.println(“3″);
case 5:
System.out.println(“4″);

}

Antwort/ answer
Tagged with:
Jul 15

Bis jetzt wurde in allen Beispielen default als letztes angegeben, es kann aber an jeder anderen Stelle stehen und den gleichen “Durchfall”-Regeln entsprechen wie case-Statements:

int a = 3;

switch (a){

case 1:     System.out.println(“1″);
break;
default:     System.out.println(“default”);
case 2:     System.out.println(“2″);

}

Die Ausgabe ist

default
2

Bei einer Abänderung der Variable a auf 2 ist die Ausgabe

2

default  zieht nicht.

Tagged with:
Jul 13

Switch-Anweisungen können nur folgende Typen auswerten:

  • char
  • byte
  • short
  • int
  • enum (neu mit java 1.5)

finale Typen können nur bei direkter Zuweisung ausgewertet werden:

final char a = 2;
final char b;
b=2;

switch (2){

case a: System.out.println(“1″); // OK
break;
case b: System.out.println(“2″);
// Compiler-Fehler
break;
default: System.out.println(“default”);

}

Tagged with:
Jul 09

Während ein explizites Casting bei switch-Anweisungen nicht möglich ist, ist trotzdem Autoboxing erlaubt:

Integer a = 2;

switch (a){

case 1: System.out.println(“1″);
break;

case 127:     System.out.println(“127″);
break;

case 300:    System.out.println(“300″);
break;

default: System.out.println(“default”);

}

Der Code compiliert fehlerfrei


Tagged with:
Jul 07

doppelte case-Anweisungen führen ebenfalls zu einem CompilerFehler:

switch (a){

case 1: System.out.println(“1″);
break;

case 127:     System.out.println(“3″);
break;
// CompilerFehler (Duplicate Case)

case 127:    System.out.println(“127″);
break;
// CompilerFehler (Duplicate Case)

default: System.out.println(“default”);

}

Tagged with:
Jul 05

Auf den konkreten Aufbau von if, do, while, switch-Anweisungen gehe ich nicht mehr ein, wohl aber auf die Tipps, Tricks und Tücken im Zusammenhang mit dem SCJP.

Fangen wir mal mit switch an;  hier findet kein Casting statt.

byte a = 2;

switch (a){

case 1: System.out.println(“1″);
break;
// OK

case 127:     System.out.println(“3″);
break;
// OK

case 128:    System.out.println(“128″);
break;
// CompilerFehler (Type mismatch)

default: System.out.println(“default”);

}

Alles, was außerhalb des Wertebereiches des einzelnen Types ist, führt zu einem Comilerfehler.

Für dienigen, die die Wertebereiche nicht so genau kennen, habe ich diese hier aufgelistet.

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