一、循环结构简介
1、什么是循环?
重复做且有一定规律的事情
2、循环执行的次数和步长有关,例如黄瓜切厚一点,切得次数就少一点
3、没有退出条件的循环是死循环,永远不会结束,要避免
1. 掌握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 ++;
}
}
}
public class void main(String[] args){
// 初始化【循环变量】
int i = 0
// while语法套用
// 循环条件
while(i < 10){
// 循环体
System.out.println("I love you" + i);
// 更新循环变量【循环出口】
i ++;
}
}
} 显示结果:是10条I love you
while循环的组成(四要素):
1. 循环变量的初始化:如果没有它,无法进行判断(编写条件表达式)。也可以理解为:循环变量,用于计数,或者,判断循环的状态。
2. **循环的条件(循环体)**:循环满足什么条件时执行,通常用大括号包裹。
3. **循环操作**:循环中应该进行的重复操作,也可理解为,改变循环变量的值,例如:i++
4. 循环变量的更新:如果不进行变量更新,那么变量不会进行改值,会造成循环条件一直满足,出现死循环。
/**
* 需求:老师要求小明完成学习任务 检查是否合格 如果合格则停止 不合格继续完成学习任务。
* 循环条件:不合格 就继续
* 循环操作:完成学习任务
*/
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("任务完成!等级提升!");
}
}
2. 掌握do-while循环结构(前期常用)
结构:
// 初始化循环的变量
do{
// 循环操作
// 循环出口
}while(循环条件);
/**
* 需求:老师要求小明完成学习任务 检查是否合格 如果合格则停止 不合格继续完成学习任务。
* 循环条件:不合格 就继续
* 循环操作:完成学习任务
*/
input java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 初始化循环变量
String isPass;
do {
// 循环操作
System.out.println("上午阅读教材,下午上机编程!");
// 循环出口
System.out.print("小明的学习任务是否合格?(y/n):");
// 变量的作用域(生效的范围),变量的作用域和其直接所属的{}有关
isPass = input.next();
}while("n".equals(isPass)); // 循环条件
System.out.println("任务完成!等级提升!");
}
}
while和do-while的区别?
语法不同:
while(循环条件){
// 循环操作
}
do{
// 循环操作
}while(循环条件);
运行时机不同:
while循环是先判断,再执行。
do-while循环是先执行,再判断。
循环次数不同:
while循环:当第一次条件不成立时,while循环不会执行!
do-while循环:do-while循环无论是否成立都至少会执行一次!
3. 掌握for循环结构(后期非常普遍)
for循环只能用于固定循环次数的场景。
for(1;2;3){
4
}
1:初始化循环的变量
2:循环条件
3:更新循环变量
4:循环体
循环顺序:1->2->4->3->2->4->3->2->4....依次进行
for循环的注意事项】
1、初始化部分有且执行一次,最先执行
2、i++用于修改变量值,步长可以改变,例如:i+=3
3、在for循环中声明的变量不能在循环外部使用
4、for循环括号里面的三个部分度可以省略不写,但是分号不能省略.
4.理解各种循环结构的适用场景
区别1:语法不一样
区别2:执行顺序
while循环:先判断,在执行
do-while循环:先执行,在判断
for循环:先判断,在执行
区别3:
循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while或do-while循环
5. 调试编程
1.1、程序编写的过程中可能出错,一般叫bug
1.2、解决错误的过程,叫做debug
1.3、解决错误的方法:
a、目测代码哪里有错
b、查看报错信息
c、调试程序,即一点点一步步来执行,仔细检查程序哪里不对
1.4、调试的过程:
a、在可能出bug的地方前面几行代码设置断点(breakpoint)
b、然后调试执行
c、单步执行,F6快捷键
d、在监视窗口查看变量的值的改变
e、找到bug,修改程序,删除断点,关闭调试窗口结束调试
6、跳转语句braek的使用
1.1、break语句可以用在for、while、do-while中
1.2、break语句
a、用于终止某个循环,是程序跳到循环体外的下一个语句
b、在循环中位于break后的语句将不再执行,循环也停止执行
c、通常与if语句联用
7、跳转语句continue的使用
1.1、continue语句可以用在for、while、do-while中
1.2、continue语句
a、跳过本次循环,继续执行下一次循环
b、通常与if语句联用