JAVA流程控制语句

网友投稿 512 2022-05-29

本篇继续回顾Java的基础流程控制语句,打好基础才能写好高内聚低耦合、更易维护的代码呀。

流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

流程控制语句分类

顺序结构

分支结构(if,switch)

循环结构(for,while,do…while)

顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

分支结构

if语句格式1

格式: if (关系表达式) {

语句体;

}

执行流程:

首先计算关系表达式的值

如果关系表达式的值为true就执行语句体

如果关系表达式的值为false就不执行语句体

继续执行后面的语句内容

if语句格式2

格式: if (关系表达式) {

语句体1;

} else {

语句体2;

}

执行流程:

首先计算关系表达式的值

如果关系表达式的值为true就执行语句体1

如果关系表达式的值为false就执行语句体2

继续执行后面的语句内容

if语句格式3

格式: if (关系表达式1) {     语句体1;     } else if (关系表达式2) {     语句体2;     }  … else {     语句体n+1; }

做一个简单的相亲案例,来实践一下上面的流程控制:

需求:男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出 一定的条件:高:180cm以上;富:财富1千万以上;帅:是。   如果这三个条件同时满足,则:“我一定要嫁给他!!!”   如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”  如果三个条件都不满足,则:“不嫁!”

思路分析:

1.定义三个变量用于保存对象的身高,财富,颜值,这里仅仅体现数值即可。 int height = scanner.nextInt(); double wealth= scanner.nextDouble();; boolean appearance = scanner.nextBoolean(); 2.用if判断对象的身高,财富,颜值是否达到心中标准 if(height>180 ){} …. 3. 输出结果

分支结构(switch)

格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; … default: 语句体n+1; [break;] }

用switch来实现:

需求:根据用于指定月份,打印该月份所属的季节。 比如:3,4,5 春季   6,7,8 夏季    9,10,11 秋季         12, 1, 2 冬季

思路:

1.定义一个变量用于接受输入的月份。 int month= scanner.nextInt(); 2.用switch判断月份: switch(month){ case 3: case 4: case 5:System.out.print(“春暖花开”);break; …. } 3. 输出结果

循环结构(for)

格式: for (初始化语句;条件判断语句;条件控制语句) { 循环体语句; }

执行流程:

JAVA流程控制语句

执行初始化语句 执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行 执行循环体语句 执行条件控制语句 回到2继续

循环结构(while)

完整格式: 初始化语句; while (条件判断语句) { 循环体语句; 条件控制语句; }

执行流程:

执行初始化语句 执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行 执行循环体语句 执行条件控制语句 回到2继续

循环结构(do...while)

基本格式: do { 循环体语句; }while(条件判断语句); 完整格式: 初始化语句; do { 循环体语句; 条件控制语句; }while(条件判断语句);

看了上面的循环的基本语法和基础,这里来总结一下它们的区别

三种循环的区别

for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for和while的区别:

条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了    条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环格式: for(;;) { }     while(true) { }     do{ }while(true);

while的死循环格式是最常用的 命令提示符窗口中Ctrl+C可以结束死循环

流程控制语句:循环嵌套

将一个循环放在另一个循环体内,就形成了嵌套循环。其中, for ,while ,do…while均可以作为外层循环或内层循环。

实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

for ( ;; ) { for( ;; ) { .... } }

跳转控制语句

continue    用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行

break    用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环

现在来做一个猜数字的游戏程序:

需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少? 当猜错的时候根据不同情况给出相应的提示 如果猜的数字比真实数字大,提示你猜的数据大了 如果猜的数字比真实数字小,提示你猜的数据小了 如果猜的数字与真实数字相等,提示恭喜你猜中了

分析:

要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1到100 因为无法预知几次能够猜中,因此猜数字这个操作应该是反复进行的,需要使用循环,而while循环通常用于描述未知循环次数的循环 使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现 比较输入的数字和系统产生的数据,需要使用分支语句。这里使用if..else..if..格式,根据不同情况进行猜测结果显示,当猜中后使用break结束循环即可

99乘法表

需求:在控制台输出所有的99乘法表

首先有9行,所以确定一个循环,从1到9。 for(int i=1;i<=9;i++){ } 2.对于第i行,都有j列,1<=j<=i for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ …. } } 3. 输出结果

关于JAVA流程控制语句大概就介绍到这里了,感恩能与大家在华为云遇见!希望能与大家一起在华为云社区共同成长。

Java

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Python从入门到精通】(二十三)Python threading Local()函数用法:返回线程局部变量
下一篇:进程控制
相关文章