Heim  >  Artikel  >  Java  >  Java-Studiennotizen (Einführung)_Anweisung zum Wechseln der Mehrfachauswahlstruktur

Java-Studiennotizen (Einführung)_Anweisung zum Wechseln der Mehrfachauswahlstruktur

黄舟
黄舟Original
2016-12-19 14:03:031821Durchsuche

Switch-Anweisung für die Mehrfachauswahlstruktur
In Java ist eine Switch-Anweisung speziell für den Mehrweg-Zweigauswahlprozess vorgesehen. Die Switch-Anweisung wählt die Ausführung einer von mehreren Operationen basierend auf dem Wert eines Ausdrucks aus. Seine grammatikalische Form ist wie folgt:

witch(表达式){ 
case 表达式常量1:语句1; 
break; 
case 表达式常量2:语句2; 
break; 
...... 
case 表达式常量n:语句n; 
break; 
[default:语句n+1;] 
}

Darunter wird eine Fallausdruckskonstante zu einer Bezeichnung, die den Eingang eines Fallzweigs darstellt. Wenn die Switch-Anweisung ausgeführt wird, berechnet sie zunächst den Wert des „Ausdrucks“ in den Switch-Klammern. Dieser Wert muss ein Ganzzahl- oder Zeichentyp sein. Gleichzeitig sollte der Werttyp jeder nachfolgenden Fallausdruckskonstante derselbe sein als „Ausdruck“ in den Schalterklammern. Die Werttypen sind konsistent. Eine Case-Anweisung stellt eine Formulierungsoperation dar und bewegt sich dann zum Ausgang der Struktur. Die Standardklausel ist optional. Wenn der Wert des Ausdrucks nicht mit dem Wert der Case-Ausdruckskonstante übereinstimmt, wird die Standardklausel ausgeführt und die Struktur beendet.
Lassen Sie mich abschließend auf einige sehr wichtige Punkte eingehen, die Sie beim Wechsel beachten sollten.

Zuerst wechseln Sie (Ganzzahl oder Zeichenvariable). ), ist der Typ der Variablen der im Text angegebene Typ, der nur Ganzzahl- und Zeichentypen sein kann. Sie enthalten int,char. Natürlich vorzeichenlose Typen oder Ganzzahlen unterschiedlicher Länge (unsigned int, kurz, ohne Vorzeichen char) und so weiter. Darüber hinaus werden Aufzählungstypen (enum) intern auch durch Ganzzahl- oder Zeichentypen implementiert. Also das ist auch ok. Reale Zahlen (Gleitkommazahlen) funktionieren nicht, wie zum Beispiel:

float a = 0.123; 
switch(a) //错误!a不是整型或字符类型变量。 
{ 
.... 
}

Zweitens kann auf Groß- und Kleinschreibung ein direkter konstanter Wert folgen, wie im Beispiel 1, 2, 3, 4 oder so kann eine konstante Berechnungsformel wie 2+2 usw. verwenden, kann jedoch keine Variable oder ein Ausdruck mit Variablen sein, z. B. * 2 usw. Natürlich kann es sich nicht um eine reelle Zahl wie 4,1 oder 2,0 / 2 usw. handeln.

switch(formWay) 
{ 
case 2-1 : //正确 
... 
case a-2 : //错误 
... 
case 2.0 : //错误 
... 
}

Außerdem ist nach der Groß-/Kleinschreibung und dem konstanten Wert ein Doppelpunkt erforderlich. Bitte achten Sie darauf, ihn nicht zu vernachlässigen.

Drittens die Funktion der Pause. Mit break kann das Programm nach der Ausführung des ausgewählten Zweigs aus der gesamten Switch-Anweisung herausspringen (dh zu dem mit dem Switch verbundenen {}-Paar springen) und den Switch abschließen. Ohne diese Unterbrechung schreitet das Programm zum nächsten Zweig fort, bis es auf eine nachfolgende Unterbrechung stößt oder der Wechsel abgeschlossen ist.
Angenommen, das Programm betritt jetzt die Verzweigung in Fall 1:, aber die Verzweigung in Fall 1 hat dieses Mal keine Unterbrechung:
Kam auf diese Website.“ Danach: „Sie sind über auf diese Website gelangt „Vorstellung eines Freundes“ wird weiterhin ausgegeben.

case 1 : 
System.out.println("您是通过搜索引擎来到本网站的。"); 
case 2 : 
System.out.println("您是通过朋友介绍来到本网站的。"); 
 
Viertens ist die Standardeinstellung optional. Wenn keine Standardeinstellung vorhanden ist, führt das Programm keine Aktionen im Rahmen der Switch-Anweisung aus, nachdem der entsprechende Case-Zweig nicht gefunden wurde den Schalter direkt. Sie können den Standardcode im Beispiel auch auskommentieren, ihn dann testen und bei der Auswahl benutzerdefinierten Code eingeben.


Fünftens kann bei Bedarf jeweils {} verwendet werden, um explizit unabhängige zusammengesetzte Anweisungen zu generieren. Als wir zuvor über if...-Anweisungen und andere Flusskontrollanweisungen gesprochen haben, haben wir {} verwendet, um zusammengesetzte Anweisungen zu generieren:


Sofern es nicht genau eine Anweisung im Zweig gibt, sind geschweifte Klammern hier nicht erforderlich . {}. Aber in jeder case-Anweisung von switch geben wir nicht die Verwendung von {{} im grammatikalischen Format an. Bitte beachten Sie:

if (条件) 
{ 
分支一; 
}

Allgemeine Lehrbücher sagen nur, dass Kasuszweige nicht {} verwenden müssen. Aber hier möchte ich alle daran erinnern, dass der Fallzweig unter keinen Umständen {} hinzufügen muss. Wenn Sie beispielsweise in einem bestimmten Fall eine Variable definieren möchten:

switch ( 整型或字符型变量 ) 
{ 
 case 变量可能值1 : 
  分支一; 
 break; 
case 变量可能值2 : 
.... 
} 
 

In diesem Fall , fügen Sie {} hinzu, um das Problem zu lösen.

switch (formWay) 
{ 
case 1 : 
int a=2; //错误。由于case不明确的范围,编译器无法在此处定义一个变量。 
... 
case 2 : 
... 
} 
 

Schauen Sie sich zum Schluss das Beispielprogramm an:

switch (formWay) 
{ 
case 1 : 
 {  
int a=2; //正确,变量a被明确限定在当前{}范围内。 
... 
 }  
case 2 : 
... 
}

Das Obige ist der Inhalt der Java-Studiennotizen (Einführung)_multi-selection structure switch-Anweisung Inhalt, achten Sie bitte auf PHP Chinese Net (www.php.cn)!

public class TestSwitch //基于字符型 
{ 
public static void main(String[] args) 
{ 
//声明变量score,并为其赋值为'C' 
char score = 'C'; 
//执行swicth分支语句 
switch (score) 
{ 
case 'A': 
System.out.println("优秀."); 
break; 
case 'B': 
System.out.println("良好."); 
break; 
case 'C': 
System.out.println("中"); 
break; 
case 'D': 
System.out.println("及格"); 
break; 
case 'F': 
System.out.println("不及格"); 
break; 
default: 
System.out.println("成绩输入错误"); 
} 
} 
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn