循环结构

流程控制语句中的一种,循环有一定难度。
掌握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过了!

  1. 添加断点(break point) -> 双击行号 / 右键添加断点:你希望程序在哪行代码开始进行调试/暂停/中断执行不要添加在注释行 或者 一些输入上 或者语法声明上(类声明、方法声明、循环、选择声明)!
  2. 右键debug as以调试形式运行 ,运行之后,程序会在断点处停止,此时这行代码处于将要执行还未执行的状态。不要使用run as
  3. 可以按下F6(Step Over)执行当前行代码,并进入下一行
  4. 可以在一行一行调试的过程中,随时切换断点的位置!并且可以随时按下F8(Resume)快速放行到下一个断点,如果没有下一个断点,程序会直接运行至结束。
  5. (了解)按下F5(Step Into),它可以进入方法内查看运行。
  6. 如果在调试过程中发现问题,随时可以中断进行修复解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值