文章目录
day_03 流程控制语句
switch循环语句
格式:
switch(表达式){ //表达式类型可以为 byte short char int String 枚举
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
default:
语句体n+1;
break;
}
执行流程:
首先计算表达式的值
一次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行过程中,遇到break就会结束
如果所有的case值和表达式的值不匹配,则执行default后面的语句
小结:
switch:进行选择
case:理解为一个选项
break:结束这个选项
default:默认。所有的case值和表达式的值不匹配的时候,运行default
注意:
case穿透:倘若case后面没有加break,那么程序在运行完对应的case里面的方法体后,会执行后面下一个case的方法体再break
for循环
循环结构
初始化语句:用于表示循环开启时的起始状态,可以定义一个或者多个
条件判断语句:用于表示循环反复执行的条件,为关系表达式
循环体语句:用于表示循环反 复执行的内容
条件控制语句:用于控制变量的变化
格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
执行流程:
1、执行初始化语句
2、执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果为true,继续执行
3、执行循环体语句
4、执行条件控制语句
5、回到2继续
for循环案例之秋水仙花数
水仙花数:
水仙花数是三位数
水仙花数的个位、十位、百位的数字立方和等于原数
eg:
371 -> 1 + 777 + 333 = 1+343+27=371
求每个位置上的数字
个位:371 % 10 = 1
十位:371/10%10=7
百位:371/100%10=3
小结
1、首先遍历所有的三位数
2、求出每个数的个位、十位、百位分别是多少
3、判断个位、十位、百位的数字立方和是否等于原数
水仙花数java代码:
public class test01 {
public static void main(String[] args) {
int gewei,shiwei,baiwei;
for (int i = 100; i <= 999 ; i++) {
gewei = i%10;
shiwei = i/10%10;
baiwei = i/100%10;
//进行水仙花数判断
if(i==lifang(gewei)+lifang(shiwei)+lifang(baiwei))
System.out.println(i+"是水仙花数");
}
}
public static int lifang(int num){
int result = num*num*num;
return result;
}
}
输出结果:
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
while循环语句
基本格式:
while(条件判断语句){
循环体语句;
条件控制语句;
}
完整格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
执行流程:
1、执行初始化语句
2、执行条件盘点语句,看其结果是true还是false
如果为false,循环结束
如果是true,继续执行
3、执行循环体语句
4、执行条件控制语句
5、回到2继续
do…while循环语句
基本格式:
do{
循环体语句;
}while(条件判断语句);
完整格式:
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
1、执行初始化语句;
2、执行循环体语句;
3、执行条件控制语句;
4、执行条件判断语句
如果结果是false,循环结束
如果结果是true,继续执行
5、回到2继续
do…while的特点
至少执行一次循环
三种循环的区别
for | while | do…while | |
---|---|---|---|
特点 | 先判断再执行 | 先判断 再运行 | 先运行一次 再判断 |
初始化变量 | 变量不能在循环外使用 | 变量在循环外使用 | 变量能在循环外使用 |
应用场景 | 明确循环次数的时候 | 一般是不明确循环次数的时候 | 基本上时不使用的 |
死循环:
for(;; ){}
while(true)
do{}while(true);
控制跳转语句
跳转控制语句 | 作用 |
---|---|
continue | 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次执行 |
break | 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环 |
循环嵌套
在重复执行一个动作的同时,重复去执行另一个动作时考虑使用循环嵌套
Random
Random类用来干什么的?
产生一个随机数
使用步骤:
1、导包
import java.util.Random
2、创建对象
Random r = new Random();
3、获取随机数
int num = r.nextInt(10); //取值范围[0,10)
Random和Scanner的比较
区别 | Random | Scanner |
---|---|---|
导包 | import java.util.Random | import java.util.Scanner |
创建对象 | Random r = new Random | Scanner sc = new Scanner |
取值 | int num = r.nextInt() | int num = sc.nextInt() |
Memorial Day is 380 days |