个性化阅读
专注于IT技术分析

Java switch语句

本文概要

Java的switch语句执行从多个条件中的一个声明。它像的if-else-如果阶梯声明。 switch语句可与字节,short,int和长,枚举类型,字符串和一些包装类型,如字节,short,int和长等特点。由于Java 7,你可以在switch语句中使用字符串。

换言之,switch语句测试对多个值的变量的平等。

要记住的要点

  • 可以有用于开关表达的一种或情况下的值的N个。
  • 的情况下的值必须是唯一的开关表达型。的情况下的值必须是文字或恒定的。它不允许变量。
  • 该案值必须是唯一的。在重复值的情况下,使得编译时错误。
  • 在Java开关表达式必须是字节,短,整型,长(用其包装型),枚举和字符串。
  • 每个case语句可以有一个break语句是可选的。当控制达到break语句,它跳跃的开关式后的控制。如果找不到break语句,它执行了下情况。
  • 案值可以有一个默认的标签,这是可选的。

句法:

switch(expression){  
case value1:  
 //code to be executed;  
 break;  //optional
case value2:  
 //code to be executed;  
 break;  //optional
......  
  
default:   
 code to be executed if all cases are not matched;  
}

例:

public class SwitchExample {
public static void main(String[] args) {
    //Declaring a variable for switch expression
	int number=20;
	//Switch expression
	switch(number){
	//Case statements
	case 10: System.out.println("10");
	break;
	case 20: System.out.println("20");
	break;
	case 30: System.out.println("30");
	break;
	//Default case statement
	default:System.out.println("Not in 10,20 or 30");
	}
}
}

输出:

20

查找月示例:

//Java Program to demonstrate the example of Switch statement
//where we are printing month name for the given number
public class SwitchMonthExample {  
public static void main(String[] args) {  
    //Specifying month number
    int month=7;  
    String monthString="";
    //Switch statement
    switch(month){  
    //case statements within the switch block
    case 1: monthString="1 - January";
    break;  
    case 2: monthString="2 - February";
    break;  
    case 3: monthString="3 - March";
    break;  
    case 4: monthString="4 - April";
    break;  
    case 5: monthString="5 - May";
    break;  
    case 6: monthString="6 - June";
    break;  
    case 7: monthString="7 - July";
    break;  
    case 8: monthString="8 - August";
    break;  
    case 9: monthString="9 - September";
    break;  
    case 10: monthString="10 - October";
    break;  
    case 11: monthString="11 - November";
    break;  
    case 12: monthString="12 - December";
    break;  
    default:System.out.println("Invalid Month!");  
    }  
    //Printing month of the given number
    System.out.println(monthString);
}  
}

输出:

7 - July

程序检查元音或长辅音:

如果字符是A,E,I,O或U,它是元音辅音,否则。它不区分大小写。

public class SwitchVowelExample {  
public static void main(String[] args) {  
    char ch='O';  
    switch(ch)
    {
        case 'a': 
            System.out.println("Vowel");
            break;
        case 'e': 
            System.out.println("Vowel");
            break;
        case 'i': 
            System.out.println("Vowel");
            break;
        case 'o': 
            System.out.println("Vowel");
            break;
        case 'u': 
            System.out.println("Vowel");
            break;
        case 'A': 
            System.out.println("Vowel");
            break;
        case 'E': 
            System.out.println("Vowel");
            break;
        case 'I': 
            System.out.println("Vowel");
            break;
        case 'O': 
            System.out.println("Vowel");
            break;
        case 'U': 
            System.out.println("Vowel");
            break;
        default: 
            System.out.println("Consonant");
    }
}  
}

输出:

20

Java的switch语句是落空

Java的开关语句是落空。这意味着,如果break语句不存在它执行后的首场比赛的所有语句。

例:

//Java Switch Example where we are omitting the
//break statement
public class SwitchExample2 {
public static void main(String[] args) {
	int number=20;
	//switch expression with int value
	switch(number){
	//switch cases without break statements
	case 10: System.out.println("10");
	case 20: System.out.println("20");
	case 30: System.out.println("30");
	default:System.out.println("Not in 10,20 or 30");
	}
}
}

输出:

20
30
Not in 10,20 or 30

与字符串Java的switch语句

Java允许我们使用的开关式串自从Java SE 7的情况下的说法应该是字符串文字。

例:

//Java Program to demonstrate the use of Java Switch
//statement with String
public class SwitchStringExample {  
public static void main(String[] args) {  
    //Declaring String variable
    String levelString="Expert";
    int level=0;
    //Using String in Switch expression
    switch(levelString){  
    //Using String Literal in Switch case
    case "Beginner": level=1;
    break;  
    case "Intermediate": level=2;
    break;  
    case "Expert": level=3;
    break;  
    default: level=0;
    break;
    }  
    System.out.println("Your Level is: "+level);
}  
}

输出:

Your Level is: 3

Java的嵌套switch语句

我们可以在Java中使用switch语句等switch语句。它被称为嵌套switch语句。

例:

//Java Program to demonstrate the use of Java Nested Switch
public class NestedSwitchExample {  
	public static void main(String args[])
      {
	  //C - CSE,E - ECE,M - Mechanical
        char branch = 'C';               
        int collegeYear = 4;
        switch( collegeYear )
        {
            case 1:
                System.out.println("English,Maths,Science");
                break;
            case 2:
                switch( branch ) 
                {
                    case 'C':
                        System.out.println("Operating System,Java,Data Structure");
                        break;
                    case 'E':
                        System.out.println("Micro processors,Logic switching theory");
                        break;
                    case 'M':
                        System.out.println("Drawing,Manufacturing Machines");
                        break;
                }
                break;
            case 3:
                switch( branch ) 
                {
                    case 'C':
                        System.out.println("Computer Organization,MultiMedia");
                        break;
                    case 'E':
                        System.out.println("Fundamentals of Logic Design,Microelectronics");
                        break;
                    case 'M':
                        System.out.println("Internal Combustion Engines,Mechanical Vibration");
                        break;
                }
                break;
            case 4:
                switch( branch ) 
                {
                    case 'C':
                        System.out.println("Data Communication and Networks,MultiMedia");
                        break;
                    case 'E':
                        System.out.println("Embedded System,Image Processing");
                        break;
                    case 'M':
                        System.out.println("Production Technology,Thermal Engineering");
                        break;
                }
                break;
        }
    }
}

输出:

Data Communication and Networks,MultiMedia

Java的枚举在switch语句

Java允许我们在switch语句中使用枚举。

例:

//Java Program to demonstrate the use of Enum
//in switch statement
public class JavaSwitchEnumExample {    
       public enum Day {  Sun,Mon,Tue,Wed,Thu,Fri,Sat  }  
       public static void main(String args[])  
       {  
         Day[] DayNow = Day.values();  
           for (Day Now : DayNow)  
           {  
                switch (Now)  
                {  
                    case Sun:  
                        System.out.println("Sunday");  
                        break;  
                    case Mon:  
                        System.out.println("Monday");  
                        break;  
                    case Tue:  
                        System.out.println("Tuesday");  
                        break;       
                    case Wed:  
                        System.out.println("Wednesday");  
                        break;  
                    case Thu:  
                        System.out.println("Thursday");  
                        break;  
                    case Fri:  
                        System.out.println("Friday");  
                        break;  
                    case Sat:  
                        System.out.println("Saturday");  
                        break;  
                }  
            }  
        }  
}

输出:

Sunday
Monday
Twesday
Wednesday
Thursday
Friday
Saturday

Java包装内开关语句

Java允许我们使用4个包装类:字节,短,整数和长在switch语句。

例:

//Java Program to demonstrate the use of Wrapper class
//in switch statement
public class WrapperInSwitchCaseExample {     
	   public static void main(String args[])
	   {	   
		    Integer age = 18;	   
		    switch (age)
		    {
		    	case (16):	    	
		    		System.out.println("You are under 18.");
		    		break;
		    	case (18):		    	
		    		System.out.println("You are eligible for vote.");
		    		break;
		    	case (65):		    	
		    		System.out.println("You are senior citizen.");
		    		break;
		    	default:
		    		System.out.println("Please give the valid age.");
		    		break;
		    }		    
	    }
}

输出:

You are eligible for vote.
赞(0)
未经允许不得转载:srcmini » Java switch语句

评论 抢沙发

评论前必须登录!