Java教程

Java Switch语句

Java switch语句从多个条件中执行一条语句。就像 if-else-if 阶梯语句。 switch语句适用于字节,短型,整型,长型,枚举类型,字符串和某些包装类型,如byte, short, int, long。从Java 7开始,您可以在switch语句中使用字符串。
换句话说,switch语句针对多个值测试变量的相等性。

Java Switch要记住的要点

Switch表达式可以有一个或N个个案值 case值只能是switch表达式类型。大小写值必须为文字或常量。它不允许变量 案例值必须为唯一。如果值重复,则会产生编译时错误。 Java Switch表达式必须为 byte,short,int,long(具有Wrapper类型),枚举和字符串 每个case语句可以有一个 break语句,这是可选的。当控件到达break语句时,它将在switch表达式后跳转控件。如果未找到break语句,则执行下一种情况。 案例值可以具有默认标签,该标签是可选的。
语法:
switch(expression){
    case value1:
    //code to be executed;
    break;
    //optionalcase value2:
    //code to be executed;
    break;
    //optional...... default: code to be executed if all cases are not matched;
}
java中switch语句的流程
示例:
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
查找月份示例:
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");
        }
    }
}
输出:
Vowel

Java Switch语句是直通的

Java switch语句是直通的。这意味着如果没有break语句,它将在第一个匹配项之后执行所有语句。
示例:
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");
        }
    }
}
输出:
2030Not in 10, 20 or 30

带有字符串的Java Switch语句

自Java SE 7开始,Java允许我们在Switch表达式中使用字符串。case语句应为字符串文字。
示例:
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语句。
示例:
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

Switch语句中的Java枚举

Java允许我们在switch语句中使用枚举。
示例:
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;
            }
        }
    }
}
输出:
SundayMondayTwesdayWednesdayThursdayFridaySaturday

Switch语句中的Java包装器

Java允许我们在switch语句中使用四个包装器类: Byte,Short,Integer和Long。
示例:
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.
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4