三月四日归纳
循环结构
for循环 while循环 do-while循环
while
条件初始化;
while(条件判断){
循环体语句;
条件变化;
}
do…while
条件初始化;
do{
循环体语句;
条件变化;
}while(条件判断);
死循环
循环无法停止
编译器识别的死循环:
while(true){}
for(;😉{}
do{}while(true);
死循环后面的代码为不可达语句
运行时期的死循环 :
后面出现了语句,编译也不会报错,因为编译器认为这个循环有可能停止
循环嵌套
for(条件初始化;条件判断;条件变化){
//循环体语句
for(条件初始化;条件判断;条件变化){
循环体语句
}
//循环体语句
}
外层循环执行一次,内存循环执行一轮(从开始到不满足循环条件结束)
break和continue
break :
作用 : 终止,结束
应用场景 : switch,循环
continue:
作用 : 结束本次循环,直接进入到下一次循环
应用场景 : 循环中
多重循环嵌套下break与continue的使用
break与continue默认针对最内层循环
如果想要break与continue针对多重循环嵌套下的某一层循环,可以使用带标签的break与continue
步骤:
1.每一层设置标签,例如:one ,two…
2.使用break与continue的时候==> break|continue 标签名;
while和do while循环的区别
while : 先判断,满足条件要求再执行每一次循环
do…while : 先执行一次,然后判断条件决定下一次知否执行
无论是否满足条件,都至少执行一次
三个循环重要性
for : 次数循环 -> 多 ****
while : 条件循环 -> **
do…while : 理解 区别
死循环的应急措施
ctrl + c 控制台中强制终止程序的执行
一道比较综合的题,梳理自己在前期各个学习阶段的掌握程度
import java.util.Scanner;
public class Class032_Work {
public static void main(String[] args) {
//接盘接收年月日
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
System.out.println("请输入日期:");
int day = sc.nextInt();
System.out.println(year+"-->"+month+"-->"+day);
//今天多少天 = 1~(month-1) 月份总和 + day
int sum = 0; //1~(month-1) 月份天数总和(不包含2月份)
for(int i=1;i<=month-1;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum+=31;
break;
case 4:
case 6:
case 9:
case 11:
sum+=30;
break;
}
}
//计算2月份
if(month-1>=2){
//闰年=>能够被4整数并且不能被100整除或者能被400整除
if(year%4==0 && year%100!=0 || year%400==0){
sum+=29;
}else{
sum+=28;
}
}
//1~month-1所有月份天数总和计算完毕
int result = sum+day;
System.out.println("今天是"+year+"年的第"+result+"天...");
}
}