流程控制语句中的一种,循环有一定难度。
掌握while循环结构
// while:当....的时候 和if选择结构很相像
// 多次的判断 循环条件
while(条件表达式){
// 循环操作/循环体
}
// if只会执行一次判断
if(条件表达式){
// 执行内容
}
一个循环必然包括循环条件和循环操作(循环体),在遇到一个需求的时候,如果考虑用循环解决,必须首先将这两个部分识别出来。
/**
* 需求:模拟打印50份试卷
* 循环条件:打印完50份 * 循环操作:打印试卷
public class Demo2 {
public static void main(String[] args) {
// 初始化【循环变量】
int i = 1;
//套用while循环语法
//循环条件
while(i<=50){
//循环体
System.out.println("正在打印第"+i+"份试卷!");
// 更新循环变量【循环出口】 必须有这种更新变量的过程 否则循环称为死循环
i ++;
}
}
}
while循环的组成(四要素):
循环变量的初始化:如果没有它 无法进行判断(编写条件表达式)
循环的条件:循环满足什么条件时执行
循环操作:循环中应该进行的重复操作
循环变量的更新:如果不进行变量更新,那么变量不会进行改值,会造成循环条件一直满足,出现死循环。
/**
* 需求:老师要求完成学习任务 检查是否合格 如果合格则停止 不合格继续完成学习任务。
* 循环条件:不合格 就继续
* 循环操作:完成学习任务
*/
public class Demo3 {
public static void main(String[] args) {
// 使用Scanner来进行是否合格的输入
Scanner input = new Scanner(System.in);
System.out.print("史浩然的学习任务是否合格?(y/n):");
// 1.循环变量的初始化
String isPass = input.next();
// 2.循环条件
// 先记住:字符串不能使用==来比较内容相同(关系到引用数据类型的问题 后期讲解)
// 字符串比较内容相同:equals()
while("n".equals(isPass)) {
// 3.循环操作
System.out.println("上午阅读教材,下午上机编程!");
// 4.循环出口
System.out.print("学习任务是否合格?(y/n):");
isPass = input.next();
}
System.out.println("任务完成!等级提升!");
}
}
while和do-while的区别?
语法不同:
while(循环条件){
// 循环操作
}
do{
// 循环操作
}while(循环条件);
运行时机不同:
while是先判断再执行。
do-while是先执行再判断。
当第一次条件不成立时,while不会执行!而do-while无论是否成立都至少会执行一次!
掌握for循环结构
for循环语法格式:
for(表达式1;表达式2;表达式){
循环体
}
或更直观地表示为:
for(变量初始化;循环条件;修改循环变量的值){
循环体
}
多重循环的使用
一个循环结构中可以嵌套其他两种循环结构,嵌套多少层和多少个都可以,一般不会超过两层!所以多重循环又往往被称为叫双重循环。
外层循环执行一次,内层循环执行一遍/轮。
while(){//外层循环
//内层循环
for(){
}
do{
}while();
}
如果在打印图形的时候,先看有几行,外层循环控制打印几行。再看有几列,内层循环控制每列打印的内容。
循环中跳转语句的使用
一会break和标志位做对比。
switch(){
case 常量1:
break;
……
}
continue和break的区别
break:退出当前循环! 如果出现在多重循环的内层循环中,不会退出外层循环,只会退出当前循环。
continue(继续):结束本次循环(后面的代码不执行了),进入下一次循环。
break可以出现在switch选择结构和循环结构中,continue只能出现在循环中。
利用continue 和break可以实现重复输入
掌握程序调试(debug/断点调试)
到达循环之后,程序不再是很直观就能推断出结果了!所以需要我们运行时慢慢查看。
要求: 如果你来问我问题,首先应该保证你已经debug过了!
- 添加断点(break point) -> 双击行号 / 右键添加断点:你希望程序在哪行代码开始进行调试/暂停/中断执行不要添加在注释行 或者 一些输入上 或者语法声明上(类声明、方法声明、循环、选择声明)!
- 右键debug as以调试形式运行 ,运行之后,程序会在断点处停止,此时这行代码处于将要执行还未执行的状态。不要使用run as
- 可以按下F6(Step Over)执行当前行代码,并进入下一行
- 可以在一行一行调试的过程中,随时切换断点的位置!并且可以随时按下F8(Resume)快速放行到下一个断点,如果没有下一个断点,程序会直接运行至结束。
- (了解)按下F5(Step Into),它可以进入方法内查看运行。
- 如果在调试过程中发现问题,随时可以中断进行修复解决。