本文主要详细介绍了 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==03.需要一个变量,用来进行累加操作,就好比一个存钱安罐。例子:用的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+”分”); } } }}
复制代码
评论