Java入門-Java學習路線課程第四課:循環結構

本博客地址 | GitHub | 更多資源免費下載

JavaSE循環結構

流程控制分以下三類

  • 順序(見前章順序結構圖)
  • 選擇結構(見前章選擇結構圖)
  • 循環結構(如下圖)

循環結構圖

使用循環的四個基本要素:

  • 初始化值
  • 條件判斷
  • 打印需求(執行代碼塊)
  • 迭代(更新)

順序結構 循環結構-while的應用

package org.gyun.whiles;

/**
 * 
 * @ClassName:Test1.java
 * @Description:順序結構 循環結構-while的應用
 * @Author:DongGaoYun
 * @URL: www.gyun.org
 * @Email:[email protected]
 * @QQ:1050968899
 * @WeiXin:QingYunJiao
 * @Date:2019-9-5 下午3:18:18
 * @Version:1.0
 */
public class Test2 {	
	// while使用步驟:
	/**
	 * 使用循環有幾個條件: 1.初始化值 2.條件判斷 3.打印需求 4.迭代(更新)
	 */
	public static void main(String[] args) {
		// 循環
		// 調用方法
		// 案例1
		//TestCase();
		// 案例2
		// whileTest1();
		// 聲明變量
		// 打印50遍好好學習,天天向上
		//案例3
		int i = 50;
		while (i >= 1) {
			System.out.println("第" + (50 - i + 1) + "遍:好好學習,天天向上!");
			i--;// --i i--沒有區別
		}
	}

	// 順序結構 從上到下 依次(順序)打印
	private static void TestCase() {
		System.out.println("第1遍:好好學習,天天向上!");
		System.out.println("第2遍:好好學習,天天向上!");
		System.out.println("第3遍:好好學習,天天向上!");
		System.out.println("第4遍:好好學習,天天向上!");
		System.out.println("第5遍:好好學習,天天向上!");
		System.out.println("第6遍:好好學習,天天向上!");
		System.out.println("第7遍:好好學習,天天向上!");
		System.out.println("第8遍:好好學習,天天向上!");
		System.out.println("第9遍:好好學習,天天向上!");
		System.out.println("第10遍:好好學習,天天向上!");
	}

	// while的用法 這個會死循環
	private static void whileTest1() {
		int i = 0;
		int num = 0;
		while (i < 100) {
			System.out.println("第" + (++num) + "遍:好好學習,天天向上!");
		}
	}
}

while的語法

初始化語句;
while(判斷條件語句) {
循環體語句;
迭代(更新);
}


do-while的語法

初始化語句;
do {
循環體語句;
迭代(更新);
}while(判斷條件語句);


for的語法

for(初始化表達式;條件表達式;循環後的迭代) {
循環體語句;
}


循環結構-while do-while for的使用

package org.gyun.whiles;

import java.util.Scanner;

/**
 * 
 * @ClassName:Test1.java
 * @Description: 循環結構-while do-while for的使用
 * @Author:DongGaoYun
 * @URL: www.gyun.org
 * @Email:[email protected]
 * @QQ:1050968899
 * @WeiXin:QingYunJiao
 * @Date:2019-9-5 下午3:18:18
 * @Version:1.0
 */
public class Test5_While_DoWhile_For {
	/**
	 *  for使用步驟:
	 * 使用循環有幾個條件: 1.初始化值 2.條件判斷 3.打印需求 4.迭代(更新)
	 * 
	 * 需求: 循環輸入某同學S1結業考試的5門課成績,並計算平均分 1.輸入同學的姓名 2.循環輸入5門成績  for(int
	 * i=1;i<=5;i++) 1.初始化值 int i=1 2.條件判斷 i<=5 3.打印需求
	 * System.out.println("輸入S1結業考試的第+i+門課成績:"); 4.迭代(更新) i++ 技術: Scanner對象 for
	 * 打印
	 */
	public static void main(String[] args) {
		// whileTest2();
		// 創建Scanner對象三步走:引包 創建對象 使用
		Scanner input = new Scanner(System.in);
		System.out.print("請輸入姓名:");
		String name = input.next();
		int count = 0;
		// 有固定的次數,就用for
		for (int i = 1; i <= 5; i++) {
			//循環操作
			System.out.print("輸入S1結業考試的第" + i + "門課成績:");
			int score = input.nextInt();
			count += score;// count=count+score
		}
		System.out.println(name + "的平均成績爲:" + count / 5);
	}
	
	/**
	 * while使用步驟:
	 * 使用循環有幾個條件:
	 * 1.初始化值
	 * 2.條件判斷
	 * 3.打印需求
	 * 4.迭代(更新)
	 * while的用法 //先判斷,再執行
	 * 需求:
	 * 老師每天檢查張浩的學習任務是否合格,如果不合格,則繼續進行。
	 * 老師給張浩安排的每天的學習任務爲:上午閱讀教材,學習理論部分,
	 * 下午上機編程,掌握代碼部分
	 * 1.初始化值
	 * Scanner input=new Scanner(System.in)
	 * String str=input.next();
	 * 2.條件判斷
	 * while(!"Y".equals(str)){
	 * }
	 * 3.打印需求
	 * System.out.println("上午閱讀教材,學習理論部分");
	 * System.out.println("下午上機編程,掌握代碼部分");
	 * 4.迭代(更新)
	 * String str=input.next();
	 */
	private static void whileTest2() {
		// 創建Scanner對象三步走:引包 創建對象 使用
		Scanner input = new Scanner(System.in);
		System.out.println("是否合格(Y/N)");
		String str = input.next();
		// 循環判斷
		while (!"Y".equals(str)) {
			//循環操作
			// 忽略大小的方法equalsIgnoreCase
			// while (!"Y".equalsIgnoreCase(str)) {
			System.out.println("上午閱讀教材,學習理論部分");
			System.out.println("下午上機編程,掌握代碼部分");
			// 迭代更新
			System.out.println("是否合格(Y/N)");
			str = input.next();
		}
		System.out.println("恭喜你通過了!");
	}
	/**
	 * do while使用步驟:
	 * 使用循環有幾個條件:
	 * 1.初始化值
	 * 2.打印需求
	 * 3.迭代(更新)
	 * 4.條件判斷	
	 * 需求可以參考while
	 * do while先執行,後判斷
	*/ 
	private static void doWhileTest3() {
		// 創建Scanner對象三步走:引包 創建對象 使用
		Scanner input = new Scanner(System.in);
		String str = "";
		// 循環判斷
		do {
			//循環操作
			//打印需求
			System.out.println("上午閱讀教材,學習理論部分");
			System.out.println("下午上機編程,掌握代碼部分");
			// 迭代更新
			System.out.println("是否合格(Y/N)");
			str = input.next();
		} while (!"Y".equals(str));
		System.out.println("恭喜你通過了!");
	}
}

兩種最簡單的死循環格式

  • while(true){…}
  • for( ; ; ){…}

while do-while for執行順序

  • while 循環:先判斷,再執行
  • do-while循環:先執行,再判斷
  • for循環:先判斷,再執行

while do-while for使用場景

  • 循環次數固定的情況下,一般選用for循環
  • 循環次數不固定的情況下,一般選用while循環
  • 循環次數不固定,且要先執行一次再判斷的情況下,一般選用do-while循環

補充break跳出循環的演示案例:

package org.gyun.test;

/**
 * @ClassName:Test1.java
 * @Description:break的使用
 * @Author:DongGaoYun 
 * @URL: www.gyun.org
 * @Email:[email protected]
 * @QQ:1050968899
 * @WeiXin:QingYunJiao
 * @Date:2019-9-6 上午10:05:16
 * @Version:1.0
 */
public class Test1 {

	/**
	 * break的使用
	 */
	public static void main(String[] args) {
		// 初始化變量
		int count = 1;
		
		for (; count <= 21; count++) {
			// 需求: 打印完5遍“歡迎21班新學員”之後結束循環
			if (count == 6) {
				break;
			}
			System.out.println("歡迎21班新學員!\t" + count);
		}
	}
}


———— 精 選 文 章 ————
  1. Java入門-Java學習路線課程第一課:初識JAVA
  2. Java入門-Java學習路線課程第二課:變量與數據類型
  3. Java入門-Java學習路線課程第三課:選擇結構
  4. Java入門-Java學習路線課程第五課:一維數組
  5. Java入門-Java學習路線課程第六課:二維數組
  6. Java入門-Java學習路線課程第七課:類和對象
  7. Java入門-Java學習路線課程第八課:方法和方法重載
  8. Java入門-Java學習路線擴展課程:equals的使用
  9. Java入門-Java學習路線課程面試篇:取商 / 和取餘(模) % 符號的使用
  10. Java進階-Java學習路線課程第一課:Java集合框架-ArrayList和LinkedList的使用
  11. Java進階-Java學習路線課程第二課:Java集合框架-HashSet的使用及去重原理
  12. Spring框架-Java學習路線課程第一課:Spring核心
  13. Spring框架-Java學習路線課程:Spring的擴展配置
  14. Springboot框架-Java學習路線課程:Springboot框架的搭建之maven的配置
  15. java學習:在給學生演示用Myeclipse10.7.1工具生成War時,意外報錯:SECURITY: INTEGRITY CHECK ERROR
  16. 使用jquery發送Ajax請求的幾種異步刷新方式
  17. idea Springboot啓動時內嵌tomcat報錯- An incompatible version [1.1.33] of the APR based Apache Tomcat Native
  18. 一個簡單的SSM框架Demo(登錄(包含攔截器)和註銷

更多免費資源請關注微信公衆號:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章