Java中的分支和循环?(三)

有没有从第一章追到这里的呢?	

在这里插入图片描述

目前程序结构分为:
顺序结构(从上往下依次执行)、分支结构、循环结构。

if分支的使用?【重点】

if基本语句:

(1) if结构:(if可以理解为如果) 
	if(布尔表达式/判断条件){ 
		// 条件满足执行的语句 
	}

执行原理:如果布尔表达式结果为true(条件成立),执行if后面{}中的 内容,如果不成立,则不执行

(2) if..else结构 
	if(布尔表达式/判断条件){ 
		// 条件满足执行语句 
	}else{
		// 不满足条件执行语句 
	}

执行原理:如果if中的布尔表达式结果为 true,执行 if后面{}中的内容;否则执行 else后面{}的内容。

多重if结构:

(1) 语法: 
if(布尔表达式){ 
	// 语句1 
}else if(布尔表达式2){ 
	// 语句2 
}else if(布尔表达式3){ 
	// 语句3
}else{
	//语句4
}

执行原理:从上往下依次判断if中的条件是否成立,哪一个if中条件成立,则执行对应的 if后面{}中的语句;如果条件都不成立,则执行else后面{}中的内容。

注意:

if和 else if 没有个数限制,根据需求决定个数,而且最后的else也是根据需求决定是否需要。

if的嵌套结构:

(1) 语法:
if(布尔表达式/判断条件){ 
	if(布尔表达式/判断条件){ 
		// 语句
	}else if(布尔表达式){ 
		// 语句
	}else{} 
}else{
	if(){} 
} 

执行原理:先判断外层的if条件是否成立,成立-结果为true,则执行内层 的if结构,如果外层if条件不成立,则执行外层if对应的else结构

switch…case分支结构(等值分支):

语法:

switch(表达式){ 
	case 值1:语句1; 
	case 值2:语句2; 
	case 值3:语句3; 
	default:语句n; 
}

注意:jdk7.0及以上switch()中表达式结果数据类型为:byte、short、int、char、String→jdk7.0及以上。

(1) switch..case需要利用 break终止当前的 switch结构;
    break作用终止、结束当前的switch..case结构;防止case穿透 
(2) 执行的原理:
	根据 switch()中表达式结果和case值进行比对,和哪一个 case后面的值 相等则执行对应后面的语句;
	如果表达式的结果和所有的case值都不相 同,则执行default 后面的语句 
(3) default没有位置的特定要求,通常定义在所有case的后面,而且利用 break终止 
(4) case后面的值不能重复

什么是循环

循环就是通过某一个条件,重复并且有规律的执行一段代码。
循环的组成部分:
循环的初始值(循环的起点)、循环条件、循环变量的改变(统计循环、控制)、循环体(重复执行的代码)

while循环:

语法:// 定义一个循环变量,给定一个初始值

while(布尔表达式/循环条件){
	// 循环体 
	// 循环变量改变 
}

执行原理:
根据循环变量初始化值先进行条件判断,如果满足循环条件(布尔表达式结果为 true),则执行循环体,从而将循环变量改变;然后再次判断循环条件,如果满足继续执行循环体内容,再执行循环变量的改变,直到循环条件不满足为止,则 循环结束,从继续执行循环结构后续的内容。

while循环的特点及注意事项:

(1) 特点:先判断,在执行,执行次数:0-n次 
(2) 注意: 
	a. 如果循环初始值给的不合理,则有可能循环一次都不执行 
	b. 如果循环过程中,没有对循环变量进行改变,可能出现死循环
	   (死循环:周而复始的一直执行,没有结束的时间点,直到jvm内存耗尽为止,利用ctrl+c人为终止掉) 
	c. 如果循环条件设置的不合理,有可能导致死循环或是循环一次都不执行

do…while循环:

语法: //循环变量的初始化

do{  
	// 循环体
 	// 循环变量的改变  
 }while(循环条件);    // 分号不能省略

执行原理:
根据给定的循环变量初始数据,无条件的先执行一次循环体,将循环变量进行改变,然后判断循环条件,条件成立,则再次执行循环体,进行循环变量的改变,继续判断循环条件…直到循环条件不满足(结果为false),结束整个循环结构,继续执行后续内容。

do…while循环的特点:

先执行,再判断,执行次数:1-n次。

for循环: 【重点】

语法:

for(循环变量初始化;循环条件;循环变量改变){
		//循环体
}

执行原理:
根据给定的循环变量初始化数据,先进行条件判断,如果条件成立,则执行循环体,再进行循环变量的改变;再次判断循环条件,满足继续执行循环体,再次改变循环变量,判断循环条件是否满足,直到循环条件不再满足,结束循环,从而执行循环结构的内容。

for循环的特点:

先判断,再执行,执行次数0-n次。

注意事项:

(1)for先判断再执行,如果循环初始化数据给的不合理,有可能循环体一次都不执行。
(2)for()中循环变量初始化可以定义在for上面,举例:
	a.	for(int i=1;循环条件;循环变量的改变){}
	b.	int i=1;
		for(;循环条件;循环变量的改变){}
(3)	for()中循环条件如果不写,则默认为true;
	for(;;)进入死循环,通常利用循环控制语句控制该循环
(4)	for()中的循环变量改变内容可以定义在{}循环体中,但是建议定义在()中,提高代码可读性。

循环控制语句:(break、continue)

(1)break:
	a.结束、终止循环结构
	b.应用在switch...case中,终止switch...case结构,防止case穿透
(2)continue:
	a.应用在循环结构中,结束、中止本次循环,从而进入下一次循环
	b.不能应用在switch...case中

什么是循环的嵌套

在一个循环结构中又定义另一个完整循环结构。

举例:
	利用循环嵌套实现九九乘法表~
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.println();
		}

循环的次数:外层循环的次数*内存每次循环的次数
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_60768515/article/details/123310189