Studieren der Java-Part 11-switch-Anweisung

1. Zuallererst

Diesmal geht es um bedingte Verzweigung ähnlich der if-Anweisung!

Sein Name ist "** switch Anweisung **"! Persönlich verwende ich oft if-Anweisungen, aber manchmal sehe ich Schalter, daher lohnt es sich, sich daran zu erinnern!

2. switch-Anweisung

2.1. Switch --basic

Die switch-Anweisung ist auch ein bedingter Ausdruck. Die grundlegende switch-Anweisung sieht folgendermaßen aus: ..

Main.java


public class Main {
	public static void main(String[] args) {

		//↓ switch-Anweisung von hier
		switch(Formel){
Fallwert_0:
			//Verarbeitung für Wert 0
			break;
Fallwert_1:
			//Verarbeitung für Wert 1
			break;
Fallwert_2:
			//Verarbeitung für Wert 2
			break;
		}
		//↑ switch-Anweisung bis hierher
	}
}

Grundlegende primitive Typen können in Ausdrücken verwendet werden.

Dies ist jedoch nicht genug w

Geben wir einen bestimmten Wert ein, damit wir ihn etwas besser verstehen können!

Main.java{


public class Main {
	public static void main(String[] args) {

		int number = 1;

		//↓ switch-Anweisung von hier
		switch(number){
		case 0:
			//Verarbeitung für Wert 0
			System.out.println("Es ist eine Anzeige von 0");
			break;
		case 1:
			//Verarbeitung für Wert 1
			System.out.println("1 Anzeige");
			break;
		case 2:
			//Verarbeitung für Wert 2
			System.out.println("Anzeige von 2! !! Ugogogogogo");
			break;
		}
		//↑ switch-Anweisung bis hierher
	}
}

Zuerst haben Sie auf Nummer = 1 initialisiert!

Dann übergebe ich den Wert, der durch Schalter (Nummer) beurteilt werden soll. Es wird ausgewertet, ob der zu diesem Zeitpunkt übergebene Wert der Zahl jeweils rechts steht.

Da diesmal Nummer = 1 ist, wird die Verarbeitung in Fall 1: ausgeführt und "" 1 wird angezeigt "" ausgegeben.

Es ist auch eine gute Studie, den Wert der Zahl von 0 auf 2 zu ändern.

2.2. switch - break

Die Quintessenz ist, dass Sie unglücklich sind, wenn Sie keinen "break;" - Satz schreiben. Zum Beispiel das folgende Beispiel. ..

Main.java


public class Main {
	public static void main(String[] args) {

		int number = 1;

		//↓ switch-Anweisung von hier
		switch(number){
		case 0:
			//Verarbeitung für Wert 0
			System.out.println("Es ist eine Anzeige von 0");
		case 1:
			//Verarbeitung für Wert 1
			System.out.println("1 Anzeige");
		case 2:
			//Verarbeitung für Wert 2
			System.out.println("Anzeige von 2! !! Ugogogogogo");
		}
		//↑ switch-Anweisung bis hierher
	}
}

Ich habe alle Worte der Pause gelöscht. Was ist dann mit?

Nach dem Ausführen des Prozesses nach dem Abgleichen der Bedingung von Fall 1: Sie sehen, dass auch die Bearbeitung von Fall 2: ausgeführt wurde.

Was zur Hölle! Wissen Sie! ~~ Übrigens können Sie sehen, dass die Grundverarbeitung von oben nach unten verlaufen ist w ~~

Wenn Sie keine Pause schreiben, wird zum nächsten Prozess übergegangen und der Prozess des nächsten Falls wird ausgeführt.

Vergessen Sie nicht, bei Bedarf zu "brechen"! !!


Als seltene Technik

Main.java


public class Main {
    public static void main(String[] args) {

        int number = 1;

        //↓ switch-Anweisung von hier
        switch(number){
        case 0:
        case 1:
        case 2:
            //Wert 0, 1,Verarbeitung ca. 2
            System.out.println("Es ist eine Anzeige von 0, 1 und 2");
            break;
        }
        //↑ switch-Anweisung bis hierher
    }
}

Sie können auch alles zusammen machen.

2.3. switch - default Sie können else in der if-Anweisung verwenden.

Stattdessen sonst? Es gibt eine Standardeinstellung, für die verwendet werden kann. Wie benutzt man ...

Main.java


public class Main {
	public static void main(String[] args) {

		int number = -1;

		//↓ switch-Anweisung von hier
		switch(number){
		case 0:
			//Verarbeitung für Wert 0
			System.out.println("Es ist eine Anzeige von 0");
			break;
		case 1:
			//Verarbeitung für Wert 1
			System.out.println("1 Anzeige");
			break;
		case 2:
			//Verarbeitung für Wert 2
			System.out.println("Anzeige von 2! !! Ugogogogogo");
			break;
		default:
			System.out.println("Yaaaaaaa");
			break;
		}
		//↑ switch-Anweisung bis hierher
	}
}

Der Punkt ist die letzte Linie.

default:
  System.out.println("Yaaaaaaa");

Der Ort. Dies ist wie sonst in der if-Anweisung.

Wenn keiner der Werte zutrifft, wird der Prozess standardmäßig ausgeführt.

2.4. Schalter - String-Typ

Es ist ein wenig entgleist, aber Ab Java SE 7 kann der String-Typ in der Switch-Syntax verwendet werden. (Als Bohnenwissen Früher habe ich erwähnt, dass Sie primitive Typen in Schalterausdrücken verwenden können, aber jetzt können Sie String-Typen etwas spezieller behandeln!

Main.java


public class Main {
	public static void main(String[] args) {

		String number = "zero";

		//↓ switch-Anweisung von hier
		switch(number){
		case "zero":
			//Verarbeitung für den Wert Null
			System.out.println("Es ist eine Anzeige von 0");
			break;
		case "one":
			//Verarbeitung für den Wert zuerst
			System.out.println("1 Anzeige");
			break;
		case "two":
			//Verarbeitung für Wert zwei
			System.out.println("Anzeige von 2! !! Ugogogogogo");
			break;
		default:
			System.out.println("Yaaaaaaa");
			break;
		}
		//↑ switch-Anweisung bis hierher
	}
}

Sie können es jetzt wie normale numerische Werte verwenden. ~~ Danke ~~

Allerdings!

Wenn der String-Typ leer ist, "null" (Ein Zustand, in dem es einen speziellen Existenzmüll gibt, der als null bezeichnet wird, außer dem Zustand wie number = "", number = "null") In diesem Fall wird es nicht standardmäßig abgeholt, seien Sie also vorsichtig! !! Zum Beispiel das folgende Beispiel.

Main.java


public class Main {
	public static void main(String[] args) {

		String number = null;

		//↓ switch-Anweisung von hier
		switch(number){
		case "zero":
			//Verarbeitung für den Wert Null
			System.out.println("Es ist eine Anzeige von 0");
			break;
		case "one":
			//Verarbeitung für den Wert zuerst
			System.out.println("1 Anzeige");
			break;
		case "two":
			//Verarbeitung für Wert zwei
			System.out.println("Anzeige von 2! !! Ugogogogogo");
			break;
		default:
			System.out.println("Yaaaaaaa");
			break;
		}
		//↑ switch-Anweisung bis hierher
	}
}

Sie geben null in den String-Typ namens number ein, den Sie plötzlich deklariert haben.

Und wenn ich dieses Programm ausführe, erhalte ich den Fehler "NullPointerException" in der Zeile switch (number). Sogenannter "Nurupo".

Daher halte ich es für eine gute Idee, zu überprüfen, ob es null ist, bevor es durch den Schalter geleitet wird.

Main.java


public class Main {
	public static void main(String[] args) {

		String number = null;

		//Nullprüfung
		if(number == null){
			//Wenn number null ist, geben Sie vorerst eine leere Zeichenfolge ein
			number = "";
		}

		//↓ switch-Anweisung von hier
		switch(number){
		case "zero":
			//Verarbeitung für den Wert Null
			System.out.println("Es ist eine Anzeige von 0");
			break;
		case "one":
			//Verarbeitung für den Wert zuerst
			System.out.println("1 Anzeige");
			break;
		case "two":
			//Verarbeitung für Wert zwei
			System.out.println("Anzeige von 2! !! Ugogogogogo");
			break;
		default:
			System.out.println("Yaaaaaaa");
			break;
		}
		//↑ switch-Anweisung bis hierher
	}
}

Es mag extrem sein, aber es mag so gemacht worden sein.

3. Fazit

Als Zusammenfassung dieser Zeit

--switch kann als bedingter Ausdruck verwendet werden --Break sollte bei Bedarf nicht übersehen werden

  • Sie können else in der if-Anweisung verwenden, die als default bezeichnet wird --String-Typ kann behandelt werden, aber seien Sie vorsichtig mit null

das ist alles.

~~ Es gibt etwas, bei dem ich das Gefühl habe, ich hätte vergessen, es zu schreiben, aber ...

Nächstes Mal möchte ich einen Artikel über "für Satz" schreiben! !!

Es scheint, dass es ein kleines Aktualisierungsintervall geben wird, also warten Sie bitte.

Recommended Posts