学习Java的第四天

目录

一、if选择结构

1、基本if选择结构

语法结构:

流程图:

示例:

[2、if-else 选择结构](#2、if-else 选择结构)

语法结构:

流程图:

示例:

3、多重if选择结构

语法结构:

流程图:

示例:

[4、嵌套if 选择结构](#4、嵌套if 选择结构)

语法结构:

流程图:

示例:

二、switch选择结构

语法结构:

流程图:

案例:


Java中常见的选择结构:ifswitch

一、if选择结构

定义:选择结构是根据条件判断之后再做处理的一种语法结构。

  • 基本if选择结构:可以处理单一或组合条件的情况。
  • if-else选择结构:可以处理简单的条件分支情况
  • 多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
  • 嵌套if选择结构:这种结构一般用于复杂的流程控制中。

1、基本if选择结构

if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。

语法结构:

if(表达式){

//表达式值为true时,要执行的处理代码

}

流程图:
示例:
复制代码
public static void main(String[] args) {
System.out.println("开始");
// 定义两个变量
int a = 10;
int b = 20;

if (a == b) {
System.out.println("a等于b");
}

int c = 10;
if (a == c) {
System.out.println("a等于c");
}
System.out.println("结束");
}

2、if-else 选择结构

当条件表达式为真时,执行语句块1,否则,执行语句块2,也就是else部分。

语法结构:

if(表达式){

//表达式值为true时,要执行的处理代码

}else{

//表达式值为false时,要执行的处理代码

}

流程图:
示例:
复制代码
public static void main(String[] args) {
System.out.println("开始");
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 100;
// 给a重新赋值
a = 99;

if (a % 2 == 0) {
System.out.println("a是偶数");
} else {
System.out.println("a是奇数");
}

System.out.println("结束");
}

3、多重if选择结构

当条件表达式N为真时,执行语句块N,当所有条件表达式都为假时,执行else部分。

语法结构:

if(表达式1){

//表达式1值为true时,要执行的处理代码1

}else if(表达式2){

//表达式2值为false时,要执行的处理代码2

}

...

else{

//当所有表达式值都为false时,要执行的处理代码

}

流程图:
示例:
复制代码
public static void main(String[] args) {
		System.out.println("开始");
		//  定义两个变量
		int a = 10;
		int b = 20;
		// 判断a==b如果等于就输出,不等于就执行else if中的判断
		if (a == b) {
			System.out.println("a等于b");
		} else if (a > b) {
			System.out.println("a不等于b");
		} else {
			System.out.println("都不行");
		}
		System.out.println("结束");
	}

4、嵌套if 选择结构

if语句中可以包含if语句,从而形成if语句的嵌套。当条件为true则继续执行语句n,如果语句n里面还有if则继续条件判断

语法结构:

if(表达式1){

//表达式2值为false时,要执行的处理代码2

if(表达式1){

//表达式1值为true时,要执行的处理代码1

}else if(表达式2){

}

//表达式1值为true时,要执行的处理代码1

}else if(表达式2){

//表达式2值为false时,要执行的处理代码2

}

流程图:
示例:
复制代码
//举例:学校运动会,将短跑成绩10s内的同学分成男女两组进行决赛
if(time<10){
    Scanner input=new Scanner(System.in);
    String sex= input.next();
    if(sex.equals("男")){
        System.out.println("恭喜进入男子组决赛");
    }else{
        System.out.println("恭喜进入女子组决赛");
    }
}else{
    System.out.println("淘汰");
}

注意:

(1)else子句不能单独作为语句使用,一个else必须有与之配对的if使用,并且总是与离它最近的if语句配对使用

(2)花括号中的语句可以是一个语句序列也可以是一条语句

(3)多分支if-else-if语句可以没有最后一个else语句,如果没有任何一个分支的boolean表达式为真,则不执行任何一个语句段

二、switch选择结构

switch后面跟变量,或者表达式,程序运行时会往下与case的值进行比较,当与case值相等时 执行该case后面的代码块,然后执行break,退出当前switch判断,如果与第一个case不相等,则不会执行其代码块并继续往下进行比较,执行,直到遇到break才会跳出当前判断。

所以switch结构中,break不可缺少!

语法结构:

switch(表达式){

case 值1:

//表达式值与值1相等时,要执行的代码;

break;

case 值2:

//表达式值与值2相等时,要执行的代码;

break;

case 值3:

//表达式值与值3相等时,要执行的代码;

break;

case 值n:

//表达式值与值n相等时,要执行的代码;

break;

default:

//表达式值与所有case值不相等时,要执行的默认语句;

break;

}

流程图:
案例:
复制代码
public static void main(String[] args) {
		//定义一个变量
		int a=5;
		switch (a) {
		//判断a是否等于1
		case 1:
			System.out.println("星期一");
			break;
			
		default:
		//要执行的默认语句
			System.out.println("不知道是星期几");
			break;
		}
	}

注意:

(1)表达式expression的值只能是byte,char,int 和 short类型

(2)case语句中的value值必须是常量,每一个case语句中的value值必须是不同的

(3)default语句可以没有也可以有。当表达式expression的值与所有case语句中的value值都不匹配时,执行default语句,如果没有default语句则跳过switch语句往后执行

(4)在执行完case子句的语句序列后程序不会自动跳出switch语句块,break语句用来执行完一个case语句后跳出switch语句

(5)若case语句后的statement语句段中包含多条语句可以不加花括

相关推荐
西岸行者9 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意9 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码9 天前
嵌入式学习路线
学习
毛小茛9 天前
计算机系统概论——校验码
学习
babe小鑫9 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms9 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下9 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。9 天前
2026.2.25监控学习
学习
im_AMBER9 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J9 天前
从“Hello World“ 开始 C++
c语言·c++·学习