本篇文章小编给大家分享一下Java逻辑控制代码示例解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
顺序结构
顺序结构就是按照代码从上往下执行,我们运行的程序就是从上往下的顺序结构,当遇到方法的时候,才去执行方法。例如:
System.out.println("aaa"); System.out.println("bbb"); System.out.println("ccc");
当改变代码顺序的时候,输出的结果也不一样。例如:
System.out.println("bbb"); System.out.println("ccc"); System.out.println("aaa");
分支结构
if 语句
if 语句的基本语法(单判断):
if(布尔表达式){
//条件满足时执行代码
}
if 语句的基本语法(加否定):
if(布尔表达式){
//条件满足时执行代码
}else{
//条件不满足时执行代码
}
if 语句的基本语法(多分支):
if(布尔表达式){
//条件满足时执行代码
}else if(布尔表达式){
//条件满足时执行代码
}else{
//条件都不满足时执行代码
}
if 语句当中可以写很多 else if ,但是 if 和 else 只能有一个。
代码实例 1:判断一个数是奇数还是偶数:
int num = 10; if (num % 2 == 0) { System.out.println("num 是偶数"); } else { System.out.println("num 是奇数"); }
代码实例2:判定一个数是正数还是负数。
int num = 10; if (num > 0) { System.out.println("num 是正数"); } else if (num < 0) { System.out.println("num 是负数"); } else { System.out.println("num 是 0"); }
代码实例3:判定一年是不是闰年。
因为闰年的规律是:如果这一年是 4 的倍数,且不是 100 的倍数,那么这一年就是闰年。或者这个数能整除 400 。
Scanner scanner = new Scanner(System.in); int i = scanner.nextInt(); if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) { System.out.println(i + " 是闰年"); } else { System.out.println(i + " 不是闰年"); }
这里是通过 Scanner 来输入一个数。
悬垂 else 问题
此代码输出什么?
int x = 10; int y = 10; if (x == 20) if (y == 10) System.out.println("aaa"); else System.out.println("bbb");
这里什么都不输出 ,因为这里就涉及到了悬垂 else 。else 只与最近的 if 相匹配,这里最近的 if 是 y==10 所以就什么都不输出了。
所以我们平时写代码,一定要加上括号,这样既方便别人阅读代码,也方便我们自己去修改。
switch 语句
基本语法:
switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;]
}
case 内容2 : {
内容满足时执行语句;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
switch 语句是我们常见的多分支语句,可根据 switch 括号内的变量对应的值去执行相应的 case 语句。而且每个 case 语句下面都要有 break 否则会继续执行下面的 case 语句。当 switch 语句当中没有匹配的 case 语句的时候,就会执行 default 语句。switch 虽然也可以嵌套,但是嵌套之后会很乱,非常不易于阅读代码。所以尽量不要嵌套。
代码示例:
int day = 7; switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("此数字不属于星期"); break; }
循环结构
while 循环
基本语法:
while(循环条件){
循环语句;
}
要注意的是:循环条件是 true 就执行循环语句,否则就结束循环。例如求 1 - 10 的和:
int n = 1; int sum = 0; while (n <= 10){ sum += n; n++; } System.out.println(sum);
这里就是通过 while 循环来计算 1 - 10 的和。
while 循环和 if 语句一样,while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。所以为了方便阅读和后期的维护,还是应该加上括号。就像这样:
int num = 1; while (num <= 10) System.out.println(num); num++;
因为只能执行一条语句,所以就一直死循环。
break
在循环结构当中,break 也是经常用到的。break 就是让循环提前结束。例如:找到 1 - 10 中第一个 3 的倍数。
int num = 1; while (num <= 10) { if (num % 3 == 0) { System.out.println("找到了 3 的倍数 为:" + num); break; } num++; }
执行到 break 的时候,就会让循环结束。但是要注意的是:如果是多层循环嵌套 break 结束的是最近的一层循环。
continue
continue 的功能是跳过这次循环, 进入下次循环。就是这次循环当中 continue 下面的代码不执行,进入下一次循环。例如:找到 100 - 200 中所有 3 的倍数。
int num = 100; while (num <= 200) { if (num % 3 != 0) { num++; continue; } System.out.println("找到了 3 的倍数, 为:" + num); num++; }
执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句,所以不是 3 的倍数的数就没有打印出来。
for循环
语法:
for(表达式1;表达式2;表达式3){
循环体;
}
表达式1: 用于初始化循环变量.
表达式2: 循环条件
表达式3: 更新循环变量.
相对于 while 循环,for 循环会把这三个部分结合在一起,降低出现 bug 的可能。举例:求 1- 100 的和
int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } System.out.println("sum = " + sum);
do while 循环
语法:
do{
循环语句;
}while(循环条件);
do while 循环是先执行循环语句,在判断循环条件,如果循环条件为 true 就继续循环,否则就退出循环。不论如何 do while 循环 都会执行一次。循环最后的分号一定不要忘记。举例:求 1 - 100 的和。
int num = 1; int sum = 0; do { sum += num; num++; } while (num <= 100); System.out.println(sum);
一般 do while 很少用到, 更推荐使用 for 和 while 。
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整