Dabai se convirtió en el noveno día del león de asedio del software Java (declaración de control de cambio)

Cambiar declaración de control en Java

Acerca de la declaración de cambio:

1. La declaración de bruja también es una estructura de selección y también una declaración de rama.

2. La estructura gramatical
de la declaración de cambio : una declaración de cambio relativamente completa debe escribirse así

switch (int或String类型的字面值或变量){
    
    
	case int或String类型的字面值或变量:
		java语句;
		java语句;
		...
		break;
	case int或String类型的字面值或变量:
		java语句;
		java语句;
		...
		break;
	case int或String类型的字面值或变量:
		java语句;
		java语句;
		...
		break;
	default:
		java语句;
		...
}

3. El principio de ejecución de la declaración de cambio:

Los "datos" entre paréntesis después de la declaración de cambio se emparejan uno por uno, y las ramas que se emparejan correctamente se combinan en orden de arriba hacia abajo.

4. La rama que coincide con éxito se ejecuta Si hay una instrucción "break;" al final de la rama, se termina toda la instrucción switch.

5. Se ejecuta la rama que se empareja con éxito. Si no hay una instrucción "break;" en la rama, irá directamente a la siguiente rama para su ejecución (sin coincidencia) Este fenómeno se denomina penetración de casos. [Brinde descanso; la oración puede evitar la penetración]

case穿透:
int i=10switch(i){
    
    
	case 1:
		java语句;
	case 2:
		java语句;
	case 3: 
		java语句;
		break//输入1,输出的结果是前三条java语句
	case 4:
		java语句;
		System.out.println("Test Code!");
		break;
}

6. No todas las ramas se emparejan correctamente. Cuando hay una declaración predeterminada, se ejecutará el programa en la rama predeterminada

7. Después de switch and case, solo se pueden usar datos de tipo int o String, y no se pueden detectar otros tipos.

  • Por supuesto, byte, short, char también se pueden escribir directamente detrás de switch y case, porque se pueden convertir automáticamente. Byte, short, char se puede convertir automáticamente a int type.
  • En JDK6, solo se puede detectar el tipo int después de switch y case.
  • Después de JDK7, incluida la versión 7, se introdujeron nuevas funciones: la palabra clave switch y la palabra clave case pueden detectar datos de tipo int y string.

8. Los casos se pueden combinar:

int i=10switch(i){
    
    
	case 1case 2case 3//输入1、2、3输出的结果相同
		java语句;
		breakcase 4:
		java语句;
		System.out.println("Test Code!");
		break;
}

10. Ejemplo de declaración de cambio

public class SwitchTest01
{
    
    
	public static void main(String[] args){
    
    
		long a = 10L;
		int b = a; //编译错误
		
		long x = 10L;
		switch(x){
    
    } //编译报错,switch语句不能用long
		
		解决编译错误:
		long x = 10L;
		switch((int)x){
    
    }
		
		byte b = 10;
		switch(b){
    
    } //编译通过

		short s = 10;
		switch(s){
    
    } //编译通过
		
		char c = 'A';
		switch(c){
    
    } //编译通过
		
		char cc = 12;
		switch(cc){
    
    } //编译通过
		
		 //编译报错
		//switch(ture){}

		String username = "zhangsan";
		switch(username){
    
    }
	}
}

11. Switch puede detectar el tipo String, que es una nueva característica de Java7.

Implementación del sistema de calculadora simple:

public class SwitchTest02()
{
    
    
	public static void main(String[] args){
    
    
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.println("欢迎使用简单计算器系统:");
		System.out.print("请输入第一个数字:");
		int num1 = s.nextInt();
		System.out.print("请输入运算符");
		String operator = s.next();
		System.out.print("请输入第二个数字:");
		int num2 = s.nextInt();

		int result = 0;
		switch(operator){
    
    
			case "+" :
				result = sum1 + sum2;
				break;
			case "-" :
				result = sum1 - sum2;
				break;
			case "*" :
				result = sum1 * sum2;
				break;
			case "/" :
				result = sum1 / sum2;
				break;
			case "%" :
				result = sum1 % sum2;
				break;
			default :
				System.out.println("输入运算符号错误");
		}	
		System.out.println("运算结果为:"+ num1 + operator + num2 + "=" + result );
	}
}

Suponiendo que el sistema da la puntuación del examinado, juzgue la calificación del examinado:

  • Rango de puntuaciones válidas: [0-100]
  • Los puntajes de los exámenes pueden tener decimales
  • La relación entre los puntajes de las pruebas y las calificaciones:
    [90-100] A
    [80-90] B
    [70-80] C
    [60-70] D
    [0-60] E
  • Los requisitos anteriores deben completarse usando la declaración de cambio, no el
    truco if : (int) (score / 10)
public class SwitchTest03()
{
    
    
	public static void main(String[] args){
    
    
		double score = 数字:
		int grade = (int)(score/10);
		switch(grade){
    
    
			case 9:case 10:
				System.out.println("A");
				break;
			case 8:
				System.out.println("B");
			case 7:
				System.out.println("C");
			case 6:
				System.out.println("D");
			default:
				System.out.println("E");
		}
	}
}

Supongo que te gusta

Origin blog.csdn.net/qq2632246528/article/details/112568404
Recomendado
Clasificación