1. 程式人生 > >第2章 循環流程控制語句

第2章 循環流程控制語句

Java

1.1 for循環的格式及基本使用1.1.1 for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句) {
循環體語句; / /讓循環體代碼執行多次;
}
1.1.2 執行流程
A:執行初始化語句
B:執行判斷條件語句,看其結果是true還是false
如果是false,循環結束。
如果是true,繼續執行。
C:執行循環體語句
D:執行控制條件語句
E:回到B繼續
1.1.3 for循環的執行流程圖
技術分享圖片
1.1.4 代碼案例八

package com.itheima_04;
/*
 * for循環語句格式:
 * for(初始化語句;判斷條件語句;控制條件語句) {
 * 循環體語句;
 * }
 *
 * 執行流程:
 * A:執行初始化語句
 * B:執行判斷條件語句,看結果是true還是false
 * 如果是true,就繼續執行
 * 如果是false,就結束循環
 * C:執行循環體語句
 * D:執行控制條件語句
 * E:回到B繼續
 *
 * 需求:
 * 在控制臺輸出10次”HelloWorld”的案例。
 */
public class ForDemo {
public static void main(String[] args) {
//原始寫法
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("HelloWorld");
System.out.println("-------------------------");
//用循環改進
for(int x=1; x<=10; x++) {
System.out.println("HelloWorld");
}
}
}

1.2 for循環的練習1.2.1 for循環實現獲取指定範圍數據1.2.2 代碼案例九

package com.itheima_04;
/*
 * 需求:獲取數據1-5和5-1
 */
public class ForTest {
public static void main(String[] args) {
//原始做法
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 x=1; x<=5; x++) {
System.out.println(x);
}
System.out.println("-------------");
//1-5的數據我們獲取到了,如何獲取5-1呢?
for(int x=5; x>=1; x--){
System.out.println(x);
}
}
}

1.2.3 for循環實現1-5之間數據求和1.2.4 代碼案例十

package com.itheima_04;
/*
 * 需求:求出1-5之間數據之和
 *
 * 分析:
 * A:定義求和變量,初始化值是0
 * B:獲取1-5之間的數據,用for循環實現
 * C:把每一次獲取到的數據,累加起來就可以了
 * D:輸出求和變量即可
 */
public class ForTest2 {
public static void main(String[] args) {
//定義求和變量,初始化值是0
int sum = 0;
//獲取1-5之間的數據,用for循環實現
for(int x=1; x<=5; x++) {
//把每一次獲取到的數據,累加起來就可以了
//sum = sum + x;
/*
 * 第一次:sum = 0 + 1 = 1
 * 第二次:sum = 1 + 2 = 3
 * 第三次:sum = 3 + 3 = 6
 * 第四次:sum = 6 + 4 = 10
 * 第五次:sum = 10 + 5 = 15
 */
sum += x;
}
//輸出求和結果
System.out.println("sum:"+sum);
}
}

1.2.5 for循環實現1-100之間偶數和1.2.6 代碼案例十一

package com.itheima_04;
/*
 * 需求:求出1-100之間偶數和
 *
 * 分析:
 * A:定義求和變量,初始化值是0
 * B:獲取1-100之間的數據,用for循環實現
 * C:把獲取到的數據進行判斷,看是否是偶數
 * 如果是,就累加
 * D:輸出求和結果
 */
public class ForTest3 {
public static void main(String[] args) {
//定義求和變量,初始化值是0
int sum = 0;
//獲取1-100之間的數據,用for循環實現
for(int x=1; x<=100; x++) {
//把獲取到的數據進行判斷,看是否是偶數
if(x%2 ==0) {
sum += x;
}
}
//輸出求和結果
System.out.println("sum:"+sum);
}
}

1.2.7 for循環實現在控制臺打印水仙花數1.2.8 代碼案例十二

package com.itheima_04;
/*
 * 需求:在控制臺輸出所有的”水仙花數”
 *
 * 分析:
 * 什麽是水仙花數呢?
 * 所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數本身。
 *        舉例: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:讓每個位上的立方和相加,並和該數據進行比較,如果相等,就說明該數據是水仙花數,在控制臺輸出
 */
public class ForTest4 {
public static void main(String[] args) {
//通過循環獲取到每一個三位數
for(int x=100; x<1000; x++) {
//獲取個位,十位,百位
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
//讓每個位上的立方和相加,並和該數據進行比較,如果相等,就說明該數據是水仙花數,在控制臺輸出
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
System.out.println(x);
}
}
}
}

1.2.9 for循環實現統計水仙花的個數1.2.10 代碼案例十三

package com.itheima_04;
/*
 * 需求:統計”水仙花數”共有多少個
 *
 * 分析:
 * A:定義統計變量,初始化值是0
 * B:獲取三位數,用for循環實現
 * C:獲取三位數的個位,十位,百位
 * D:判斷這個三位數是否是水仙花數,如果是,統計變量++
 * E:輸出統計結果就可以了
 */
public class ForTest5 {
public static void main(String[] args) {
//定義統計變量,初始化值是0
int count = 0;
//獲取三位數,用for循環實現
for(int x=100; x<1000; x++) {
//獲取三位數的個位,十位,百位
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
//判斷這個三位數是否是水仙花數,如果是,統計變量++
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
count++;
}
}
//輸出統計結果就可以了
System.out.println("水仙花數共有:"+count+"個");
}
}
1.3 while循環的格式及基本使用1.3.1 while循環語句格式
基本格式
   while(判斷條件語句) {
         循環體語句;
   }
擴展格式
   初始化語句;
   while(判斷條件語句) {
         循環體語句;
         控制條件語句;
}

1.3.2 執行流程圖
技術分享圖片
1.3.3 代碼案例十四

package com.itheima_05;
/*

  • while循環語句的基本格式:
  • while(判斷條件語句) {
  • 循環體語句;
  • }
  • 擴展格式:
  • 初始化語句;
  • while(判斷條件語句) {
  • 循環體語句;
  • 控制條件語句;
  • }
  • 回顧for循環的語句格式:
  • for(初始化語句;判斷條件語句;控制條件語句) {
  • 循環體語句;
  • }
    /
    public class WhileDemo {
    public static void main(String[] args) {
    //輸出10次HelloWorld
    /

    for(int x=1; x<=10; x++) {
    System.out.println("HellloWorld");
    }
    */
    //while循環實現
    int x=1;
    while(x<=10) {
    System.out.println("HellloWorld");
    x++;
    }
    }
    }
    1.4 while循環的練習1.4.1 while循環實現1-100之間數據求和1.4.2 代碼案例十五
package com.itheima_05;
/*
 * 求1-100之和。
 * 練習:統計水仙花個數。
 */
public class WhileTest {
public static void main(String[] args) {
//回顧for循環實現
/*
//定義求和變量
int sum = 0;
//獲取1-100之間的數據
for(int x=1; x<=100; x++) {
//累加
sum += x;
}
System.out.println("1-100的和是:"+sum);
*/
//while循環實現
//定義求和變量
int sum = 0;
int x = 1;
while(x<=100) {
sum += x;
x++;
}
System.out.println("1-100的和是:"+sum);
}
}

1.5 do…while循環的格式及基本使用 1.5.1 do…while循環語句格式
基本格式
do {
循環體語句;
}while((判斷條件語句);
擴展格式
初始化語句;
do {
循環體語句;
控制條件語句;
} while((判斷條件語句);
1.5.2 執行流程圖
技術分享圖片
1.5.3 代碼案例十六

package com.itheima_06;
/*
 * do...while循環的基本格式:
 * do {
 * 循環體語句;
 * }while(判斷條件語句);
 * 擴展格式:
 * 初始化語句;
 * do {
 * 循環體語句;
 * 控制條件語句;
 * }while(判斷條件語句);
 * 執行流程:
 * A:執行初始化語句;
 * B:執行循環體語句;
 * C:執行控制條件語句;
 * D:執行判斷條件語句,看是true還是false
 * 如果是true,回到B繼續
 * 如果是false,就結束
 *
 * 練習:
 * 求和案例
 * 統計水仙花個數
 */
public class DoWhileDemo {
public static void main(String[] args) {
//輸出10次 HelloWorld
/*
for(int x=1; x<=10; x++) {
System.out.println("HelloWorld");
}
*/
//do...while改寫
int x=1;
do {
System.out.println("HelloWorld");
x++;
}while(x<=10);
}
}

1.6 三種循環的區別1.6.1 區別概述
雖然可以完成同樣的功能,但是還是有小區別:
do…while循環至少會執行一次循環體。
for循環和while循環只有在條件成立的時候才會去執行循環體
for循環語句和while循環語句的小區別:
使用區別:控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。
1.6.2 代碼案例十七

package com.itheima_06;
/*
 * 三種循環的區別:
 * A:do...while至少執行一次循環體
 * B:for,while循環先判斷條件是否成立,然後決定是否執行循環體
 *
 * for和while的小區別:
 * for循環的初始化變量,在循環結束後,不可以被訪問。而while循環的初始化變量,是可以被繼續使用的。
 * 如果初始化變量,後面還要繼續訪問,就使用while,否則,推薦使用for。
 *
 * 循環的使用推薦:
 * for -- while -- do...while
 */
public class DoWhileDemo2 {
public static void main(String[] args) {
/*
int x = 3;
while(x<3) {
System.out.println("我愛林青霞");
x++;
}
System.out.println("--------------");
int y = 3;
do {
System.out.println("我愛林青霞");
y++;

第2章 循環流程控制語句