1、 While循环
while循环的逻辑图
//循环变量声明和初始化
while(循环条件){
//循环操作!!!
//循环变量的变化;【注意】
//循环体(语句块);
//循环变量的变化;【注意】
}
package com.kgc.day04;
public class Text03{
public static void main(String[] args){
//打印60份试卷
int iCount=0;//打印的总张数
while(iCount<50){
iCOunt++;
System.out.println("打印试卷,当前已打印总张数为:"+iCount);
}
System.ont.println("已全部打完50份试卷");
}
}
2、 Do-While循环
do-while循环的逻辑图
特点:先执行,再判断
例如:
package com.kgc.day04;
public class Text06{
public static void main(String[] args){
//张浩同学先考试,考试完了,老师判断是否合格
//判断用户输入入口
Scanner input = new Scanner(System.in);
//
do{
System.out.println("张浩同学正在考试");
System.out.println("老师,请问账号同学是否合格,合格输入Y");
flag = inpput.next();
if("Y".equals(flag)){
System.out.print("张浩同学,你这次没有合格,需要继续学习");
System.out.print("上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。");
}
System.out.print("张浩同学,你没有通过,需要重新考试");
System.out.print( );
}while(true);
System.out.print("张浩同学拖过考试,Yes~");
}
}
比较
3、 for循环
for(一号区域;二号区域;四号区域){ 三号区域 } 1、一号区域:写声明变量,此处为循环的最开始执行位置 2、二号区域:写循环的条件,此处为循环第二步执行的位置 3、三号区域:循环的具体操作 4、四号区域:循环具体操作结束之后我们会执行的位置 5、第二次循环,此时将不会再取执行一号区域的内容 6、第二次循环开始,此时将不会再去执行一号区域内容,直接进行二号区域判断 如果判断结果如false将会结束循环,执行for喜欢之后的内容。 //例如 for(int i=0;i<=10000;i++){ System.out.println("第"+i+"编写:好好学习,天天向上!"); }
(实际工作当中绝不可能出现)for循环的四个区域均可以不屑写代码,如果你四个区域都没有写代码,那么我们发现你这个线程卡在此处,死循环,一直套在里
//此时不报错,会一直卡住 for(;;){ } //如果在这之后有代码,会编译报错,无法执行代码; //如 System.out.println("123") //此时第6行代码报红,编辑报错,无法编译
(实际工作当中可能出现)如果第一个区域不写代码,不会影响,你可以把循环中使用的变量,放在for循环外面声明
//此时是正常输出,输出5次i的值,并且在第7行可以调用到i //如果你的int i=0;是卸载一号区域,那么你第7行代码无法调用到i,i为for循环的局部变量 int = 0; for(;i<=5;i++){ System.out.println("i"); } System.out.println("你跑出了这个循环"+i);
(实际工作当中可能出现)如果二号区域不写代码,那么将会条件判断为true,回进入死循环,我们需要在三号区域中打破这个循环(使用break)
//如果不写循环条件,会视同循环条件为true,如果不存在break的情况,那么第8行代码会编辑报错,无法编译 for(int i =0;;i++){ System.out.println("i"); if(i==5){ break; } } System.out.println("你跑出了这个循环");
(实际工作当中不会出现)如果三号区域不写代码,那么我们的for循环依旧会按诈骗规则去执行,并且会执行四号区域逻辑
//该代码是正常运行的,并且在第6行打印的时候i的结果为6(因为当i==6时才不满足循环条件,退出循环) int i =0; for(;i<=5;i++){ } System.out.println("你跑出了这个循环"+i);
(实际工作当中可能出现)如果四号区域不写代码,那么我们可能会需要在三号区域中将该值进行调整
//该代码是正常运行的,并且在第6行打印的时候i的结果为6(因为当i==6时才不满足循环条件,退出循环) for(int i=0;i<=5;){ if(某些情况下){ i++; } }
4、 break和continue
4.1、 break
打破本次的循环,使循环结束,执行循环之后的代码
package com.kgc.day04
import java.util*
public class Test04{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String flag = "";
while(ture){
System.ont.print("请问现在张浩同学是否合格了?如果合格输入Y");
flag=input.next();
if(!"Y".equals(flag)){
System.out.print("张浩同学,你这次没有合格,需要继续学习");
System.out.print("上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。");
}else{
//系统退出(参数为一个系统退出的状态编码,一般给一个0,也可以是别的)
//不推荐使用
//System.exit(status:0);
System.out.println("恭喜你,拖出了本次的循环!");
break;
}
System.out.println();
}
System.out.println("张浩同学搞定了!");
}
}
4.2、continue
结束本次循环,进行下一次循环
//例如
package com.kgc.day04
public class Text05{
public static void main(String[] args){
int num=0;
while (num<=100){
num++;
//只打印计数,如果是偶数的话,我们跳过本次循环
if(num%2==0){
//跳过本次循环(第14行代码不会执行),但不结束循环,循环依旧会进行
continue;
}
System.out.println(num);
}
}
}
当循环,遇到break那么就不会继续执行循环,并且不会再次进行循环条件判断;
当循环,遇到continue那么就不会继续执行循环,但是会再次进行循环条件判断,如果满足继续循环;