04.JAVASE 循环语句 & Debug中Resume使用
文章目录
循环的本质是用来解决代码循环的问题的
1.for循环
针对循环次数明确的情况
//格式
for (1.初始化语句;2.循环条件语句;4.控制条件语句) {
3.循环语句体;
}
特点:
- 初始化语句可以放在循环外边,并且初始化语句只能执行一次
- 循环条件语句可以省略,表示死循环
- 控制条件语句可以省略,表示死循环
- 初始化语句,循环条件语句,控制条件语句都可以省略,表示死循环
- 在for循环声明的变量在循环体结束之后会释放内存资源
//关于循环条件语句
boolean flag = true;
for (int i = 1, j = 10;true; i++, j--) {
System.out.println("HelloWorld" + i + "," + j);
}
System.out.println(i);
System.out.println("Over");
//但循环条件语句省略时,编译器会报错:Unreachable code
//这时可以通过boolean flag = true;
//把true代入循环条件语句解决报错问题,主要原理是编译器只能识别常量
2.while循环
针对循环次数不明确的情况
//格式
1.初始化语句;
while (2.循环条件语句) {
3.循环体语句;
4.控制条件语句;
}
3.do-while循环
针对循环次数不明确,且先执行,执行后再判断循环条件语句是否成立的情况
(eg:要求执行完后,问是否继续执行的时候使用)
//格式
1.初始化语句;
do {
3.循环体语句;
4.控制条件语句;
}while (2.循环条件语句;)
4.嵌套循环
外循环控制行数,内循环控制列数
执行内循环时,忽略外循环
5.for while do-while之间的区别
- for循环用于循环次数明确
- while和do-while都用于循环次数不明确情况
- while和for都先判断条件,再执行循环体语句
- do-while先执行循环体语句一次后,再判断循环条件是否成立
6.break
退出循环语句块和switch语句
特点:
- 只能用于循环语句和switch语句内
- 放在单层循环时,跳出循环体
- 放在多层循环时,跳出当前循环体
- 可以使用标签退出指定循环体或switch
//标签运用例子
outLoop: for (int i = 0; i < 3; i++) {
innerLoop: for (int j = 0; j < 7; j++) {
if (j == 3) {
break outLoop;
}
System.out.print("*");
}
System.out.println();
}
System.out.println("over");
//结果是:***over
7.continue
跳出当前循环语句,执行下一次循环
特点:
- continue只能在循环体中使用
- 针对for循环,执行continue语句时,当前循环体内在continue之后的代码都不会执行,直接执行控制条件语句(eg:i++)
- 针对switch语句,执行continue语句时,当前循环体内在continue之后的代码都不会执行,直接执行循环条件语句
//执行continue语句时,当前循环体内在continue之后的代码都不会执行
outLoop: for (int i = 0; i < 3; i++) {
innerLoop: for (int j = 0; j < 7; j++) {
if (j == 3) {
continue outLoop;
}
System.out.print("*");
}
System.out.println();
}
//结果是:*********
8.return
- 退出当前所在方法
- 退出当前所在的方法的同时返回给调用者一个具体的数据 【后面讲解方法的时候详细介绍】
9.Debug——Resume的运用
- Resume一个断点,会直接完成整个代码
- 存在两个断点时,Resume会跳到另一个断点(eg:有时两断点之间有一万行代码,不可能逐条运行)
- 在循环体内时,Resume需要逐条代码点击运行,不会一次把所有循环执行完毕(可以通过取消循环体内的断点结束循环体)
Debug所指的行是还没有执行的