在Java编程中,判断语句是程序逻辑的重要组成部分。从简单的if语句到复杂的switch语句,再到Java 7引入的switch语句的字符串支持,以及Java 12引入的switch表达式(也称为“switch表达式”),Java提供了多种方式进行条件判断。本文将介绍这些不同的判断写法及其应用场景。

1. if语句

if语句是最基本的判断语句,它根据条件表达式的值(true或false)来决定是否执行某个代码块。

if (condition) {  
    // 当condition为true时执行  
} else {  
    // 当condition为false时执行  
}

示例

int number = 5;  
if (number > 0) {  
    System.out.println("Number is positive");  
} else {  
    System.out.println("Number is not positive");  
}

2. if-else if-else语句

if-else if-else语句用于处理多个条件。

if (condition1) {  
    // 当condition1为true时执行  
} else if (condition2) {  
    // 当condition1为false但condition2为true时执行  
} else {  
    // 当所有条件都不满足时执行  
}

示例

int number = 5;  
if (number > 0) {  
    System.out.println("Number is positive");  
} else if (number < 0) {  
    System.out.println("Number is negative");  
} else {  
    System.out.println("Number is zero");  
}

3. switch语句(传统版)

switch语句用于多分支选择,但传统上它只支持整数、枚举和少数其他类型的值。

switch (variable) {  
    case value1:  
        // 当variable等于value1时执行  
        break;  
    case value2:  
        // 当variable等于value2时执行  
        break;  
    // ...  
    default:  
        // 当variable不匹配任何case时执行  
}

示例(Java 7之前)

int day = 3;  
switch (day) {  
    case 1:  
        System.out.println("Monday");  
        break;  
    case 2:  
        System.out.println("Tuesday");  
        break;  
    // ...  
    default:  
        System.out.println("Unknown day");  
}

4. switch语句(字符串版,Java 7+)

从Java 7开始,switch语句支持字符串类型。

String fruit = "apple";  
switch (fruit) {  
    case "apple":  
        System.out.println("It's an apple");  
        break;  
    case "banana":  
        System.out.println("It's a banana");  
        break;  
    // ...  
    default:  
        System.out.println("Unknown fruit");  
}

5. switch表达式(Java 12+)

Java 12引入了switch表达式,它允许switch语句返回一个值,并且语法更加简洁。

String color = switch (day) {  
    case 1 -> "Red";  
    case 2 -> "Green";  
    // ...  
    default -> "Unknown";  
};  
System.out.println(color);

6. 三元运算符(?:

三元运算符是另一种简单的条件判断方式,它允许你在一行中编写简单的条件判断。

java复制代码

int max = (a > b) ? a : b;

示例

int a = 5;  
int b = 10;  
int max = (a > b) ? a : b;  
System.out.println("Max is " + max);

结论

Java提供了多种判断语句和表达式,用于处理程序中的条件逻辑。从基本的if语句到强大的switch表达式,Java的开发者可以根据具体需求选择最合适的判断方式。随着Java版本的不断更新,判断语句的语法和功能也在不断增强,为开发者提供了更多的灵活性和便利性。