一个星期快速自学java编程高级语言干货笔记 循环结构-语法

循环结构-语法

流程控制语句中的一种,循环有一定难度(转弯)。

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 ++;
		}
	}

}

while循环的组成(四要素):

  1. 循环变量的初始化:如果没有它 无法进行判断(编写条件表达式)
  2. 循环的条件:循环满足什么条件时执行
  3. 循环操作:循环中应该进行的重复操作
  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(循环条件);
/**
 * 需求:要求完成学习任务  检查是否合格 如果合格则停止  不合格继续完成学习任务。
 * 	循环条件:不合格 就继续
 * 	循环操作:完成学习任务
 */
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不会执行!而do-while无论是否成立都至少会执行一次!

3. 掌握for循环结构(后期非常普遍)

for循环只能用于固定循环次数的场景。

for(1;2;3){
    4
}
1:初始化循环的变量
2:循环条件
3:更新循环变量
4:循环体

1  2  4  3  2  4  3  2  4....

4. 掌握多重循环的使用

一个循环结构中可以嵌套其他两种循环结构,嵌套多少层和多少个都可以,一般不会超过两层!所以多重循环又往往被称为叫双重循环。

外层循环执行一次,内层循环执行一遍/轮

for(){ // 外层循环
   
    for(){ // 内层循环
        
    }

如果在打印图形的时候,先看有几行,外层循环控制打印几行

再看有几列,内层循环控制每列打印的内容

5. 掌握循环中的跳转语句使用

一会break和标志位做对比。

switch(){
    case 常量1:
    	break;
    ....
}

掌握continue和break的区别

break:退出当前循环! 如果出现在多重循环的内层循环中,不会退出外层循环,只会退出当前循环。

continue(继续):结束本次循环(后面的代码不执行了),进入下一次循环。

break可以出现在switch选择结构和循环结构中,continue只能出现在循环中。

利用continue和break实现重复输入:

6. 掌握程序调试(debug/断点调试)

到达循环之后,程序不再是很直观就能推断出结果了!所以需要我们运行时慢慢查看。

**要求:**如果你来问我问题,首先应该保证你已经debug过了!

  1. 添加断点(break point) -> 双击行号 / 右键添加

    断点:你希望程序在哪行代码开始进行调试/暂停/中断执行

    不要添加在注释行 或者 一些输入上 或者语法声明上(类声明、方法声明、循环、选择声明)!

  2. 右键debug as以调试形式运行 ,运行之后,程序会在断点处停止,此时这行代码处于将要执行还未执行的状态。

    不要使用run as

  3. 可以按下F6(Step Over)执行当前行代码,并进入下一行

  4. 可以在一行一行调试的过程中,随时切换断点的位置!并且可以随时按下F8(Resume)快速放行到下一个断点,如果没有下一个断点,程序会直接运行至结束。

  5. (了解)按下F5(Step Into),它可以进入方法内查看运行。

  6. 如果在调试过程中发现问题,随时可以中断进行修复解决。

猜你喜欢

转载自blog.csdn.net/weixin_44793608/article/details/88819366