本文主要详细介绍了 Java 中的选择结构中的 if 语句、switch 语句、for 循环、While 循环、do…while 循环、三种循环的区别、Break 语句、Continue 语句、死循环、循环嵌套。然后通过举例代码实战,更加深入了解 if 语句和循环结构。
选择结构
选择结构分为:if 语句,switch 语句
if 语句
if 语句第一种格式:if
格式:
if (关系表达式) {
语句体;
}
执行流程:
首先判断关系表达式结果是ture还是false
如果是true就执行语句体
如果是false就不执行语句体
复制代码
if 语句第二种格式:if...else
格式:
if(关系表达式){
语句体1;
} else{
语句体2;
}
执行流程:
首先判断关系表达式看其结果是ture还是false
如果是true就执行语句体1
如果是false就执行语句体2
复制代码
例:
int num=13;
if (num % 2 == 0 ) { //如果除以2能够余数为0,说明是偶数
System.out.println("偶数")
}else{
System.out.println("奇数")
}
复制代码
if 语句第三种格式:if...else if...else
格式:
if (判断条件1){
执行语句1;
} else if (判断条件2){
执行语句2;
}
...
} else if (判断条件n){
执行语句n;
} else {
执行语句n+1;
}
执行流程:
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式...看其结果是ture还是fales
...
如果上面的ekse if 都没有符合条件的南那么就执行最后一个else。 else就是用来收尾的
三元运算符和if-else可以等效替换
复制代码
选择语句--switch
语句格式:
switch(表达式){ //表达式:他并不是booklan值,而是被检测量;如果是表达式,直接把表达式的值计算出来;如果是变量,直接把变量放进去就行
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
首先计算出表达式的值
其次,和case后面的常量值依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
switch语句使用的注意事项:
1. 多个case后面的数值不可以重复。
2. switch后面的小括号只能是下列数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3. switch语句格式可以很灵活:前后顺序可以颠倒(case和default的顺序可以随意颠倒),
break语句还可以省略,”匹配哪一个case就从哪个位置向下执行,直到遇到了break或者整体结束为止“ (如果匹配到的这个case没有break,那么就继续执行下一个case,知道碰到break或者整体结束为止)
复制代码
循环结构
循环结构的基本组成部分,一般可以分成四个部分:
初始化语句: 在循环开始最初执行,而且只做唯一一次。
条件判断: 如果成立,则循环继续;如果不成立,则循环退出。
循环体: 重复要做的事情内容,若干行语句。
进步语句: 每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。也就是结束循环的条件。
for 循环
for循环语句格式:
for (初始化表达式1;布尔表达式2;进步语句4){
循环体3
}
复制代码
执行流程:
-执行顺序:1234>234>234...2 不满足为止。-1 负责完成循环变量初始化-2 负责判断是否满足循环条件,不满足则跳出循环体-3 具体执行的语句-4 循环后,循环条件所涉及变量的变化情况
例子:
public class aabb{
public static void main (String[] args){
for (int i = 1; i<=100; i++){
System.out.println("你好你好");
}
System.out.println("你好你好");
}
}
复制代码
While 循环
While循环语句格式:
初始化表达式a
While(布尔表达式b){
循环体c;
步进表达式d;
}
复制代码
执行流程:abcd>bcd>bcd…b 不满足为止。a 负责完成循环变量初始化。b 负责判断是否满足循环条件,不满足则跳出循环。c 具体执行的语句。d 循环后,循环变量的变化情况。
例子:
public class aabb{
public static void main (String[] args){
int i =1; //a初始化条件语句
while (i<=100;){ //b条件判断
System.out.println("你好你好"); //c循环体
i++; //d步进语句
}
}
}
复制代码
do…while 循环
格式:
初始化表达式1;
do{
循环体3;
步进语句4;
}while(条件判断2);
复制代码
执行流程:执行顺序:134>234>234…2 不满足为止 1 负责完成循环变量初始化。2 负责判断是否满足循环条件,不满足则跳出循环。3 具体执行的语句。4 循环后,循环变量的变化情况。只要有 do,无脑执行一次它的大括号里面的代码一次,然后在看后面的判断语句,只要满足条件就一直继续执行 do 后面大括号的代码,不满足的话循环退出。
例子:
public class aaaa{
public static void main (String[] args){
int i =1; //a初始化条件语句
do{ /
System.out.println("你好你好"); //c循环体
i++; //步进语句
}whiln(i<=10); //条件判断
}
}
复制代码
循环小练习
题目:求出1-100之间的偶数和。
思路:
1.既然范围已经确定,那么就从1-100之间这么多数字一个一个进行检查。
2.共100个数字,必须偶数才能用,判断(if语句)偶数:num%2==0
3.需要一个变量,用来进行累加操作,就好比一个存钱安罐。
例子:用的for循环,三种循环都可以做
public class aaaa{
public static void main (String[] args){
int sum = 0; //用来累加的存钱罐
for (int i= 1;i <=100;i++){
if (i%2==0){ //如果是偶数
sum+=1;
}
}
System.out.println("你好你好");
}
}
复制代码
三种循环的区别
1.如果条件判断从来没有满足过过,那么 for 循环和 while 循环将会执行零次,但是 do…while 循环至少会执行一次(注意:尽管条件不满足,它也会执行一次,也就意味着里面的布加语句也会执行,外面的初始化语句就会改变)
2.For 循环的变量在小括号当中定义,只有循环内部才可以使用。While 和 do…whiled 的初始化语句本来就在外面,所以出来循环也可以继续使用。
3.关于循环的选择的小建议:凡是次数确定的场景多用 for 循环;否则多用 while。
Break 语句
常见的两种用法:
1.可以用在 switch 语句,一旦执行,整个 switch 语句立刻结束。
2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
例子:
Public class aaaa{
Public static void main(String[] arge{
for (int i = 1;i<=10;i++){
//如果希望从第四次开始,后续全都不要了,就要打断循环
If(i==4){
break;
}
System.out.println(“heal”);
}
}
}
复制代码
Continue 语句
一旦执行,立刻跳过当前次循环,马上开始下一次循环
例子:
Public class aaaa{
Public static void main(String[] arge{
for (int i = 1;i<=10;i++){
If(i==4){ //如果当前是四层
continue; // 那么跳过当前次循环,马上开始下一次(第五层)
}
System.out.println(“I + 层到了”);
}
}
}
复制代码
死循环
永远停不下来的循环,叫死循环
死循环标准格式:
While(true){
循环体
}
复制代码
循环嵌套
指一个循环的循环体是另一个循环。比如 for 循环里面还有一个 for 循环。总共循环次数=外循环次数*内循环次数
例子:
public class aa{
public static void main(String[] args){
for (int hour = 0;hour<24;hour++){ // 外层控制小时
for(int miute = 0; miute<60; miute++){ // 内层控制小时之内的分钟
System,out,println(hour+”点”+miute+”分”);
}
}
}
}
复制代码
评论