流程控制
本节基本内容
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2d41b5c2d708486dc6bd8ee856e82d44.png)
1.选择结构:
1)if:单分支、双分支、多分支
2)switch:表达式的值不能是long、float、double、boolea类型、default的位置随意但一般放最后。
3)注意:
当if分支中存在单条语句时可以省略大括号。
当整个if的表达式无论真假,执行之后都会执行后续代码
以后多大数的逻辑不单单只有两种情况,有待加强。
单分支结构永远只能保证一种情况下会做什么操作。
switch只能用于等值判定、而if可以做区间判定
if:
public class Loop01{
public static void main(String[] args){
if(67>56){
System.out.println("该循环体被执行了");
}
if(67<56){
System.out.println("这是对的");
}else{
System.out.println("这是错的");
}
int score=(int)(Math.random()*99);
System.out.println(score);
if(score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=70){
System.out.println("中等");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("菜鸡");
}
}
}
执行结果:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3a50b8a7d81ec77cfd3c82c271c473b1.png)
switch:
public class Loop{
public static void main(String[] args){
int month=(int)(Math.random()*12+1);
System.out.println("当前月份数为"+month);
switch(month){
case 1:
case 11:
case 12:
System.out.println("冬天");
break;
case 2:
case 3:
case 4:
System.out.println("春天");
break;
case 5:
case 6:
case 7:
System.out.println("夏天");
break;
case 8:
case 9:
case 10:
System.out.println("冬天");
break;
}
}
}
执行结果:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f9826f2b23daf9ed00a4e9eed0b24e66.png)
2.循环结构:
1)while:不确定循环次数可以优先考虑while循环
2)do-while:
3)for:确定循环次数可以使用for循环
4)注意:while先判定再执行
do-while先执行再判定
while:
public class Loop03{
public static void main(String[] args){
int a=0;
while(a<5){
System.out.println("a的值是"+a);
a++;
}
}
}
执行结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dc449e880f800c13517cad7e3854f429.png)
do-while:
public class Loop04{
public static void main(String[] args){
int a=0;
do{
System.out.println("a的值是"+a);
a++;
}while(a<5);
}
}
执行结果:
![[外链图片转存失败(img-T3tV70kI-1562859307602)(C:\Users\盛萌\AppData\Roaming\Typora\typora-user-images\1562858373366.png)]](https://i-blog.csdnimg.cn/blog_migrate/5d88b6878ebc852b4b0b739c03d5353f.png)
while与do-while的区别:
1)while先判定再执行
2)do-while先执行再判定
public class Loop03{
public static void main(String[] args){
int a=0;
while(a<0){
System.out.println("a的值是"+a);
a++;
}
}
}
执行结果:
while循环时不满足条件不会执行循环体。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/41b4410b9794fcd98e8c28a2490ef33c.png)
public class Loop04{
public static void main(String[] args){
int a=0;
do{
System.out.println("a的值是"+a);
a++;
}while(a<0);
}
}
执行结果:
do-while循环先执行一次再判断条件
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e66f57d09883360bceeddc9f4b1ed365.png)
for:
public class Loop02{
public static void main(String[] args){
for(int i=1,count=0;i<=100;i++){
if(i%5==0){
System.out.print(i+"\t");
count++;
if(count%3==0){
System.out.print("\n");
}
}else{
continue;
}
}
}
}
执行结果:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2de2b38e406974c5dc1c699b57527613.png)