Java-流程控制
2021/8/5 9:06:32
本文主要是介绍Java-流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
3. 流程控制
三个基本流程控制结构:顺序结构,分支结构,循环结构
3.1 顺序结构
3.2 分支结构
3.3 循环结构
3.4 可以用来控制循环结构的语句:break、continue和return
3.1 顺序结构
顺序结构就是程序从上到下逐行地执行,中间没有任何判断和跳转。
3.2 分支结构
分支结构就是根据条件,选择性地执行某段代码。有if...else和switch-case两种分支语句
【if-else语句】
-
if-else结构可以相互嵌套
if(boolean表达式){ java语句; }else if(boolean表达式){ java语句; }else { java语句; }
-
分支语句中,如果只有一条Java语句,大括号可以省略。但不推荐使用
【switch-case语句】
所有的switch-case都可以转换为if-else,但反之不成立。(其中一个理由是特点第2点)
特点:
-
格式为:
switch(变量){ case 常量1:语句1;break; case 常量2:语句2;break; … … case 常量N:语句N;break; default:语句;break; }
-
switch(表达式)中表达式的返回值必须是下述几种类型之一:byte,short,char,int(整数,字符),枚举(JDK5.0新增),String(JDK7.0新增);
-
case子句中的值必须是常量,且所有case子句中的值应是不同的;
-
当成功匹配case中的常量时,会进入相应case结构中,调用其执行语句。当调用完执行语句以后,仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾为止。
-
default是可以省略的,并且其位置也是灵活的,但是通常将其放在case语句之后,当没有匹配的case时,执行default(相当于if-else中的else);
-
不同case如果执行语句相同,可以合并,只需要写一次该相同的执行语句(本质是第4点)
-
当既可以使用if-else,又可以使用switch-case时,同时switch取值又不太多,推荐使用switch-case。因为switch-case执行效率稍高。
int score = 78; switch(score / 10){ case 0: case 1: case 2: case 3: System.out.println("咳咳咳"); break; case 9: case 8: case 5: System.out.println("酷酷酷); break; }
第4点例子:
练习:
编写程序,从键盘上输入2019年的“month”和“day”,要求通过程序输出输入的日期为2019年的第几天。
运用上面特点的第4点
3.3 循环结构
循环结构就是根据循环条件,重复性的执行某段代码
注意:可以嵌套循环完成更丰富的功能
【分类】
有while,do-while,for三种循环语句
(注:JDK1.5提供了foreach循环,方便的遍历集合,数组元素)
【组成】
-
初始化部分
-
循环条件部分
-
循环体部分
-
迭代部分
【while循环】
先判断条件,条件成立就进入循环体
while(boolean表达式){ java语句; }
【do-while循环】
先进入循环体运行,再判断循环条件(即这种循环至少会执行一次循环体内的语句)
do{ java语句; }while(boolean表达式);
【for循环】
for(表达式1;表达式2;表达式3){ java语句; }
for循环开始执行,先执行表达式1,并只执行一次。进而判断表达式2的结果,如果是true,则执行java语句。再执行表达式3,然后再判断表达式2的结果,直到表达式2的结果是false,则for循环结束。
3.4 可以用来控制循环结构的语句:break、continue和return
【break】
使用switch-case结构或者循环结构中,一旦执行到break,就跳出当前循环体,默认情况下结束离它最近的一个循环。
【continue】
使用在循环结构中,一旦执行到continue,就跳出当次循环。
在嵌套循环中,使用带标签的break和continue,可通过标签指明要终止的是哪一层语句块。
举例:
【return】
return并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。
与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
这篇关于Java-流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-10SpringBoot 内部方法调用,事务不起作用的原因及解决办法
- 2024-11-10独立开发者 5 个月,月收入赶超北京工资,我的一点心得
- 2024-11-09程序员 SEO 系列:如何找到更多搜索关键词?
- 2024-11-09为何选择Spring AI Alibaba开发智能客服平台?
- 2024-11-09Sentinel不同的流控效果资料详解
- 2024-11-09Sentinel配置限流资料:新手入门教程
- 2024-11-09Sentinel配置限流资料详解
- 2024-11-09Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel限流资料入门教程