1.while循环
-
while(条件){ //代码块 }
-
当条件为真时,执行代码块,执行完循环中的代码块后,再次判断条件是否为真,如果条件为真,继续执行代码块,直到条件为假时,结束循环。
-
循环的组成:
-
循环变量
-
在循环的过程中不断发生变化,当它达到某个值时,不符合条件,就会结束循环。
-
-
循环条件
-
循环执行的依据,条件为真,执行循环,条件为假,结束循环。
-
-
循环体
-
循环时重复执行的操作
-
-
迭代
-
循环变量在循环中的变化
-
-
while (num <= 100) { //sum = sum + num; sum += num;//累加求和,使sum在原有的基础上增加num num++; } System.out.println("1~100的和为:" + sum);
-
-
分类
-
计次循环
-
不计次循环
-
//小明上午学习理论,下午上机,然后找老师检查,如果不合格,继续学习 Scanner input = new Scanner(System.in); String isPass = "不合格";//是否合格,开始时默认不合格 while("不合格".equals(isPass)){ System.out.println("上午学习,下午上机"); System.out.print("小明合格了吗?"); isPass = input.next(); } System.out.println("恭喜你,通过了检测");
-
-
2.do-while循环
do { //代码块 } while(条件);
-
先执行循环中的代码块,然后判断条件是否为真,如果为真,继续执行循环
-
循环体至少执行1次
-
//小明上午学习理论,下午上机,然后找老师检查,如果不合格,继续学习 Scanner input = new Scanner(System.in); String isPass;//是否合格 do { System.out.println("上午学习,下午上机"); System.out.print("小明合格了吗?"); isPass = input.next(); } while("不合格".equals(isPass)); System.out.println("恭喜你,通过了检测");
-
while 和 do-while 的区别
-
执行顺序不同,while是先判断,再执行,do-while先执行再判断
-
while循环和do-while循环只在初始情况不满足时,执行次数有区别,while循环一次都不执行,do-while循环至少执行一次,其他情况,两种循环执行次数一样。
-
3.for循环
for(循环变量初始化;条件;迭代){ //循环体 }
//i的作用域只在for循环中 for (int i = 0;i < 10;i++) { System.out.println(i); }for循环是简化版的while循环,也是先判断,再执行
①循环变量初始化(只执行一次)——>②判断循环条件——>③循环体——>④迭代——>判断循环条件
for循环中小括号的表达式都可以拿出来挪位置,但是要保留分号
for循环的循环条件可以省略,但如果省略,for循环就会变成无限循环
如果有多个相同类型的循环变量,可以用逗号隔开声明部分和迭代部分
for (int i = 0,j = 0;i < 10;i++,j++) { System.out.println(i); }
4.break和continue
-
有时候需要在循环的过程中跳出循环,可以使用循环中断语句——break
-
break用在switch里是跳出switch,用在循环里是跳出循环
-
//找到大于50的17的最小倍数 for (int i = 17;;i++){ //找到符合条件的数字,不需要继续循环了 if (i > 50 && i % 17 == 0) { System.out.println("大于50的17的最小倍数是" + i); break;//跳出循环 } System.out.println(""); }
-
break和continue的区别
-
break是跳出循环,执行循环后面的语句
-
continue是跳出本次循环,执行下一次循环
-
-
continue
-
for (int i = 0;i < 100;i++){ //如果是5的倍数,就跳过打印语句 if (i % 5 == 0){ continue; } System.out.println(i); }
-
使用continue有时可以减少if的嵌套层数
-
-
注意:
-
break和continue后面不能再写java命令,因为这两句话都是结束(本次/整个)循环,后面的语句都执行不到。
-
break和continue总是搭配选择结构使用
-
因为switch中break有特殊作用,所以使用break时,用if搭配
-
-
continue一般和for循环搭配使用
-
因为我们习惯把迭代放在最后,如果使用continue搭配while或do-while容易跳过迭代部分,造成无限循环
-
-
5.程序调试
-
1.打断点
-
在可能出现问题的java语句上打断点,等启动了调试模式时,程序就会停在断点处
-
-
2.启动调试模式
-
3.追踪观察程序的执行过程
-
1.跳到下一个断点
-
2.运行一条java指令,不进入方法体
-
3.运行一条java指令,进入方法体
-
4.观察变量值的变化
-
可以点击"+"自行添加要观察的变量或表达式
注意:
debug可能会出错:①.输入命令卡住程序运行,②.if选择结构没有走到断点的位置