09 顺序选择循环结构
顺序结构
按顺序的
选择结构
if单选择结构
if(布尔表达式){
//如果布尔表达式的为true 将执行的语句
}
if双选择结构
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为fasle
}
if多选择结构
if(布尔表达式1){
//如果布尔表达式1的值为true
}else if(布尔表达式2){
//如果布尔表达式的值2为true
}else if(布尔表达式3){
//如果布尔表达式的值3为true
else{
//如果以上布尔表达式都不为true执行代码
}
if 语句至多有一个else语句 else语句在所有的else if语句之后
if语句可以有若干个 else if语句,他们必须在else语句之前
一旦一个else if 语句为 true 其他的else if 语句 和 else 语句 都不会执行
嵌套的if语句
if(布尔表达式1){
//如果布尔表达式1的值为true 执行代码
}if(布尔表达式2){
//如果布尔表达式2的值为true 执行代码
}
switch多选择结构
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的caseyuju
default;
//语句
}
switch 语句中的变量类型可以是:
-
byte、short、int或者char
-
从java SE 7 开始
-
switch 支持字符串 String类型
-
同时 case标签必须为字符串常量过字面量
循环结构
while循环
while(布尔表达式){
//循环内容
}
-
只要布尔表达式为 true ,循环就会一直执行下去
-
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失败的方式来结束循环
-
少部分情况需要一直执行,比如服务器的请求相应监听等
-
循环一直为true就会造成无限循环 我们正常的业务编码应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃
do while 循环
对于while语句 如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次
do……while至少执行一次
do{
//代码
}while(布尔表达式);
for循环
for循环 是一些结果变得更加简单
for循环是支持迭代的 是最有效 最灵活的循环结构
for循环结构执行的次数是在执行之前就确定的
for(初始化;布尔表达式;更新)
{
//代码语句
}
注意点
-
最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
-
然后,检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句
-
执行一次循环体后,更新循环控制变量(迭代因子控制循环变量的增减)
九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" +(i*j) + "\t");
}
System.out.println();
}
打印5行三角形
//打印5行三角形
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i;j--) {
System.out.print(" ");
}
for (int j = 1;j <=i;j++){
System.out.print("*");
}
for (int j = 2;j <=i;j++){
System.out.print("*");
}
System.out.println();
}
增强for循环
用于数组或集合的增强型for循环
int[] number = {10,20,30,40,50};
for (int x:number){
System.out.println(x);
}
break continue
break 在任何循环体语句的主体部分,均可用break控制循环体的流程,break用于强行退出循环,不执行循环中剩余的语句(break 也在switch语句中使用)
continue 用在 循环体语句中 用于终止某次循环过程,即 跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的过程
关于 goto 关键字
没有得到正式的使用
对于java来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)