循环结构
第四章:循环结构
流程控制语句中的一种,循环有一定难度(转弯)。
1.掌握while循环结构
java
while:当…的时候 和if选择结构很相像
多次的判断 循环条件
while(条件表达式){
// 循环操作/循环体
}
if只会执行一次判断
if(条件表达式){
// 执行内容
}
一个循环必然包括循环条件和循环操作(循环体),在遇到一个需求的时候,如果考虑用循环解决,必须首先将这两个部分识别出来。
练习
第一题:
java
/**
-
需求:模拟打印50份试卷
-
循环条件:打印完50份
-
循环操作:打印试卷
-
@author Charles
-
2019年3月20日 上午9:13:39
*/
public class Demo2 {public static void main(String[] args) {
// 初始化【循环变量】 int i = 1; // 套用while循环语法 // 循环条件 while(i <= 50) { // 循环体 System.out.println("正在打印第"+i+"份试卷!"); // 更新循环变量【循环出口】 必须有这种更新变量的过程 否则循环称为死循环 i ++; }
}
}
第二题:
java
/**
-
需求:老师要求张三完成学习任务 检查是否合格 如果合格则停止 不合格继续完成学习任务。
-
循环条件:不合格 就继续
-
循环操作:完成学习任务
-
@author Charles
-
2019年3月20日 上午9:39:06
*/
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循环的组成(四要素):
1. 循环变量的初始化:如果没有它 无法进行判断(编写条件表达式)
2. 循环的条件:循环满足什么条件时执行
3. 循环操作:循环中应该进行的重复操作
4. 循环变量的更新:如果不进行变量更新,那么变量不会进行改值,会造成循环条件一直满足,出现死循环。
2. 掌握do-while循环结构(前期常用)
java
// 初始化循环的变量
do{
// 循环操作
// 循环出口
}while(循环条件);
while和do-while的区别
1.语法不同
while(循环条件){
// 循环操作
}
do{
// 循环操作
}while(循环条件);
2.运行时机不同
while是先判断再执行。
do-while是先执行再判断。
当第一次条件不成立时,while不会执行!而do-while无论是否成立都至少会执行一次!
3. 掌握for循环结构(后期非常普遍)
for循环只能用于固定循环次数的场景。
for循环结构:
for(1;2;3){
4
}
1:初始化循环的变量
2:循环条件
3:更新循环变量
4:循环体
多重/多层/嵌套循环
1.掌握多重循环的使用
一个循环结构中可以嵌套其他两种循环结构,嵌套多少层和多少个都可以,一般不会超过两层!所以多重循环又往往被称为叫双重循环。
外层循环执行一次,内层循环执行一遍/轮
while(){ // 外层循环
// 内层循环
for(){
}
do{
}while();
}
######### 如果在打印图形的时候,先看有几行,外层循环控制打印几行。
再看有几列,内层循环控制每列打印的内容。
2. 掌握循环中的跳转语句使用
结构
switch(){
case 常量1:
break;
…
}
掌握continue和break的区别
break:退出当前
循环! 如果出现在多重循环的内层循环中,不会退出外层循环,只会退出当前循环.
continue(继续):结束本次循环(后面的代码不执行了),进入下一次循环。
break可以出现在switch选择结构和循环结构中,continue只能出现在循环中。
3. 掌握程序调试(debug/断点调试)
到达循环之后,程序不再是很直观就能推断出结果了!所以需要我们运行时慢慢查看。
1. 添加断点(break point) -> 双击行号 / 右键添加
断点:你希望程序在哪行代码开始进行调试/暂停/中断执行
不要添加在注释行 或者 一些输入上 或者语法声明上(类声明、方法声明、循环、选择声明)!
2. 右键debug as以调试形式运行 ,运行之后,程序会在断点处停止,此时这行代码
处于将要执行还未执行的状态。
不要使用run as