学习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语句段中包含多条语句可以不加花括

相关推荐
Chef_Chen3 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电3 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
海的诗篇_3 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby4 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby4 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
武昌库里写JAVA5 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计
一弓虽6 小时前
git 学习
git·学习
Moonnnn.8 小时前
【单片机期末】串行口循环缓冲区发送
笔记·单片机·嵌入式硬件·学习
viperrrrrrrrrr79 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习
fen_fen9 小时前
学习笔记(26):线性代数-张量的降维求和,简单示例
笔记·学习·算法