JavaSE(4):分支结构

1、分支结构

1.1 if分支结构

if(条件表达式) {
    
    
	语句块;
}

在这里插入图片描述

  • 判断条件表达式是否成立
    • 若成立,则执行语句块;
    • 若不成立,则跳过语句块;
/*
    案例一:编程使用if分支结构查找两个整数中的最大值
 */

public static void main(String[] args) {
    
    
		
	// 1.提示用户输入两个整数并使用变量记录
	System.out.println("请输入两个整数:");
	Scanner sc = new Scanner(System.in);
	int ia = sc.nextInt();
	int ib = sc.nextInt();
	
	// 2.使用if分支结构找到最大值并打印
	// 假设第一个数为最大值并记录
	int max = ia;
	if(ib > max) {
    
    
		max = ib;
	}
	System.out.println("最大值是:" + max);
}

1.2 if else分支结构

if(条件表达式) {
    
    
	语句块1;
} else {
    
    
	语句块2;
}

在这里插入图片描述

  • 判断条件表达式是否成立
    • 若成立,则执行语句块1;
    • 若不成立,则执行语句块2;
/*
    案例二:编程使用if else分支结构判断是否为负数和非负数
 */

// 1.提示用户输入一个整数并使用变量记录
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

// 2.使用if else分支结构判断负数和非负数并打印
if(num < 0) {
    
    
	System.out.println(num + "是负数!");
} else {
    
    
	// 针对目前的非负数再次判断是正数还是零
	if(num > 0) {
    
    
		System.out.println(num + "是正数!");
	} else {
    
    
		System.out.println(num + "是零!");
	}
}

1.3 if else if else分支结构

if(条件表达式1) {
    
    
	语句块1; 
} else if(条件表达式2) {
    
    
	语句块2; 
} else {
    
    
	语句块n; 
}

在这里插入图片描述

  • 判断条件表达式1是否成立:
    • 若成立,则执行语句块1;
    • 若不成立,则判断条件表达式2是否成立:
      • 若成立,则执行语句块2;
      • 若不成立,则执行语句块n;
/*
	案例三:提示用户输入考试的成绩,使用if-else if-else分支结构判断所在等级并打印。
	[90 ~ 100] 等级A
	[80 ~ 89] 等级B
	[70 ~ 79] 等级C
	[60 ~ 69] 等级D
	[0 ~ 59] 等级E
*/

// 1.提示用户输入考试成绩并使用变量记录
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();

// 2.使用if else if else分支结构判断所在的等级并打印
if(score >= 90 && score <= 100) {
    
    
	System.out.println("等级A");
} else if(score >= 80) {
    
    
	System.out.println("等级B");
} else if(score >= 70) {
    
    
	System.out.println("等级C");
} else if(score >= 60) {
    
    
	System.out.println("等级D");   
} else {
    
    
	System.out.println("等级E");
}

1.4 switch case分支结构

switch(变量/表达式) {
    
    
	case 字面值1: 语句块1; break;
	case 字面值2: 语句块2; break;
	...
	default:语句块n;
}

在这里插入图片描述

  • 计算变量/表达式的数值 => 判断是否匹配字面值1:

    • 若匹配,则执行语句块1 => 执行break跳出当前结构
    • 若不匹配,则判断是否匹配字面值2:
      • 若匹配,则执行语句块2 => 执行break跳出当前结构
      • 若不匹配,则执行语句块n
  • switch()中支持的数据类型有: byte、 short、 char以及int类型,从jdk1.5开始支持枚举类型,从jdk1.7开始支持String类型。

/*
    案例四:编程使用switch case分支结构实现考试成绩的等级判断
 */

// 1.提示用户输入考试成绩并使用变量记录  0 ~ 100
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();

// 2.使用switch case分支结构实现考试成绩的等级判断
switch(score / 10) {
    
    
	case 10: System.out.println("等级A"); break;
	case 9:  System.out.println("等级A"); break;
	case 8:  System.out.println("等级B"); break;
	case 7:  System.out.println("等级C"); break;
	case 6:  System.out.println("等级D"); break;
	default: System.out.println("等级E");
}

猜你喜欢

转载自blog.csdn.net/qq_37973227/article/details/118736662