Java代码的满足其中一个条件选择其中一个的
1. 引言
在Java编程中,我们经常会遇到需要根据某个条件选择执行不同代码块的情况。这可以通过使用条件语句来实现。在本文中,我们将重点介绍if-else
和switch
语句,这两种语句可以根据不同的条件选择执行不同的代码块。
2. if-else语句
if-else
语句是最常用的条件语句之一。它的基本语法如下:
if (condition) {
// 如果条件为真,则执行此代码块
} else {
// 如果条件为假,则执行此代码块
}
在上面的代码中,condition
是一个布尔表达式,如果它的值为真,则执行if
代码块中的代码,否则执行else
代码块中的代码。
下面是一个例子,根据用户输入的成绩判断其等级:
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入成绩:");
int score = scanner.nextInt();
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
}
}
在上面的代码中,我们使用if-else
语句根据成绩判断学生的等级。如果成绩大于等于90,打印"优秀";如果成绩大于等于80,打印"良好";如果成绩大于等于60,打印"及格";否则打印"不及格"。
3. switch语句
switch
语句是另一种常用的条件语句,它可以根据不同的条件选择执行不同的代码块。它的基本语法如下:
switch (expression) {
case value1:
// 如果expression的值等于value1,则执行此代码块
break;
case value2:
// 如果expression的值等于value2,则执行此代码块
break;
// 可以有更多的case
default:
// 如果expression的值不匹配任何case,则执行此代码块
}
在上面的代码中,expression
是一个表达式,它的值将与每个case
后面的值进行比较。如果匹配到某个case
,则执行相应的代码块。如果expression
的值与任何case
都不匹配,则执行default
代码块。
下面是一个例子,根据用户输入的数字打印对应的英文单词:
import java.util.Scanner;
public class NumberConverter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字:");
int number = scanner.nextInt();
switch (number) {
case 0:
System.out.println("Zero");
break;
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
case 4:
System.out.println("Four");
break;
default:
System.out.println("Unknown");
}
}
}
在上面的代码中,我们使用switch
语句根据用户输入的数字打印对应的英文单词。如果数字是0,打印"Zero";如果数字是1,打印"One";如果数字是2,打印"Two";如果数字是3,打印"Three";如果数字是4,打印"Four";否则打印"Unknown"。
4. 类图
下面是GradeCalculator
和NumberConverter
两个类的类图:
classDiagram
class GradeCalculator{
-scanner: Scanner
+main(args: String[]) : void
}
class NumberConverter{
-scanner: Scanner
+main(args: String[]) : void
}
class Scanner{
+Scanner(input: InputStream)