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

相关推荐
戌中横1 天前
JavaScript——预解析
前端·javascript·学习
●VON1 天前
React Native for OpenHarmony:2048 小游戏的开发与跨平台适配实践
javascript·学习·react native·react.js·von
ZH15455891311 天前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
xcLeigh1 天前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh1 天前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics
GHL2842710901 天前
分析式AI学习
人工智能·学习·ai编程
lpruoyu1 天前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
野犬寒鸦1 天前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
wdfk_prog1 天前
[Linux]学习笔记系列 -- [drivers][mmc][mmc_sdio]
linux·笔记·学习
果果燕1 天前
今日学习笔记:双向链表、循环链表、栈
笔记·学习·链表