Java循環流程控制語句
7 循環流程控制語句
7.1 for循環的格式及基本使用
7.1.1 for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句){
循環體語句;
}
7.1.2 循環的執行流程圖:
案例:
package com.lyc.test; public class ForDemo01 { public static void main(String[] args) { //需求:在控制臺輸出10次"我好喜歡你" //原始寫法: System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("我好喜歡你"); System.out.println("-----------------------"); //用循環改進 for (int i = 0; i < 10; i++) { System.out.println("我好喜歡你"); } } }
7.2 for循環練習
7.2.1 for循環實現獲取指定範圍數據
package com.lyc.test; public class ForDemo02 { public static void main(String[] args) { //需求:獲取數據1-5和5-1//原始做法 System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); System.out.println("------------------"); //用循環改進 for (int i = 1; i <=5; i++) { System.out.println(i); } System.out.println("------------------"); for (int i = 5; 1<=i; i--) { System.out.println(i); } } }
7.2.2 for循環實現1-5之間數據求和
package com.lyc.test; public class ForDemo03 { public static void main(String[] args) { // 需求:求1-5之間數字之和 // 定義求和變量,初始化值是0 int sum = 0; // 獲取1-5之間的數據,用for循環實現 for (int i = 1; i <= 5; i++) { // 把每一次獲取到的數據,累加起來 /** * sum = sum + i; * * 第一次: sum = 0 + 1 = 1 * 第二次: sum = 1 + 2 = 3 * 第三次: sum = 3 + 3 = 6 * 第四次: sum = 6 + 4 = 10 * 第五次: sum = 10 + 5 = 15 */ sum += i; } //輸出結果 System.out.println("sum="+sum); } }
7.2.3 for循環實現1-100之間偶數和
package com.lyc.test; public class ForDemo04 { public static void main(String[] args) { //需求:求1-100之間的偶數和 //定義求和變量,初始值為0 int sum = 0; //獲取1-100之間的數據,用for循環實現 for(int i=1;i<=100;i++){ if(i%2==0){//把獲取到的數據進行判斷,看是否是偶數 sum += i; } } //輸出結果 System.out.println(sum); } }
7.2.4 for循環實控制臺打印水仙花數和統計的個數
package com.lyc.test; public class ForDemo05 { public static void main(String[] args) { // 需求:在控制臺輸出所有的"水仙花數" /** * 什麽是水仙花數? * 所謂的水仙花數就是指一個三位數,其個位數字的立方和等於概述本身 * 舉例:153就是一個水仙花數 * 153 =1*1*1 + 5*5*5 + 3*3*3 * a:三位數其實就是告訴我們水仙花數的範圍 * 100-999 * b:如何獲取一個數據的每一個位上的數昵? * 如:153 * 個位:153%10=3; * 十位:153/10%10=5; * 百位:153/10/10%10=1; * 千位:... * 萬位:... * c:讓每個位上的立方和相加,並和該數數據進行比較,如果相等 * 則說明該數據是水仙花數,在控制臺輸出 */ //定義變量統計共有多少水仙花數,初始化值是0 int num = 0; //通過循環獲取到每一個三位數 for (int i = 100; i <1000; i++) { int ge = i%10;//獲取各位 int shi = i/10%10;//獲取十位 int bai = i/10/10%10;//獲取百位 //讓每個位上的立方和相加,並和該數數據進行比較 if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i) { System.out.println(i);//輸出水仙花數 num++;//如果是水仙花數,則統計起來 } } System.out.println("共有"+num+"個水仙花數");//輸出共有多少水仙花數 } }
7.3 while循環的格式及基本使用
7.3.1 while循環語句格式
基本格式
while(判斷條件語句){
循環語句體;
}
擴展格式
while(判斷條件語句){
循環體語句;
控制條件語句;
}
7.3.2 執行流程圖
7.3.3 案例
package com.lyc.test; public class WhileDemo01 { public static void main(String[] args) { // for循環輸出 for (int i = 0; i < 10; i++) { System.out.println("hello"); } System.out.println("----------------------"); //while循環實現 int x = 1; while(x<=10){ System.out.println("hello"); x++; } } }
7.3.4 while循環實現1-100之間數據求和
package com.lyc.test; public class WhileDemo02 { public static void main(String[] args) { //求1-100之和 //for循環實現 /* int sum = 0;//定義變量 for(int i = 1;i <= 100;i++){//獲取1-100之間的數據 sum += i;//累加 } System.out.println("1-100之和是:"+sum); */ //while循環實現 int sum = 0; int i = 1; while(i<=100){ sum += i; i++; } System.out.println("1-100之和是:"+sum); } }
7.4 do...while循環的格式及基本使用
7.4.1 do...while循環語句格式
基本格式
do{
循環體語句;
}while(判斷條件語句);
擴展格式
do{
循環體語句;
控制條件語句;
}while(判斷條件語句);
執行流程圖
案例
package com.lyc.test; public class DoWhileDemo { public static void main(String[] args) { /** * 執行流程 * 1>執行初始化語句; * 2>執行循環體語句; * 3>執行控制條件語句; * 4>執行判斷條件語句,看true還是false * 如果是true,繼續 * 如果是false,結束 */ int x = 1; do { System.out.println("我好喜歡你┭┮﹏┭┮"); x++; } while (x<=10); } }
三種循環的區別
雖然可以完成同樣的功能,但是還是有小區別:
do…while循環至少會執行一次循環體。
for循環和while循環只有在條件成立的時候才會去執行循環體
for循環語句和while循環語句的小區別:
使用區別:
控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。
7.5 控制循環語句
7.5.1 控制跳轉語句break
Break的使用場景和作用
break的使用場景:
在選擇結果switch語句中
在循環語句中
離開使用場景的存在是美喲意義的
break的作用:跳出單層循環
案例
package com.lyc.test; public class BreakDemo { public static void main(String[] args) { /** * break:中斷的意思 * 使用場景: * A.switch語句中 * B.循環中 * 作用: * 跳出循環,讓循環提前結束 */ for(int i = 0;i < 10;i++){ if (i==3) { break; } System.out.println(i); } } }
7.5.2 控制跳轉語句continue
continue的作用:
單層循環對比break,然後總結兩個的區別
break:退出當前循環
continue:退出本次循環,繼續下次循環
案例
package com.lyc.test; public class ContinueDemo { public static void main(String[] args) { /** * continue:繼續的意思 * 使用場景:循環中 * 作用:結束本次循環,繼續下次的循環 * 區別:break退出循環 * continue結束本次循環,繼續下次的循環 */ for (int i = 0; i <10; i++) { if (i==3) {//如果等於3就不會輸出,結束這次循環 continue; } System.out.println(i); } } }
Java循環流程控制語句