第2章循環流程控制語句
阿新 • • 發佈:2018-02-08
多少 tex water 裏的 功能 for ack als pub 2.1for循環的格式及基本使用
2.1.1for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句) {
循環體語句; / /讓循環體代碼執行多次;
}
2.1.2執行流程
A:執行初始化語句
B:執行判斷條件語句,看其結果是true還是false
如果是false,循環結束。
如果是true,繼續執行。
C:執行循環體語句
D:執行控制條件語句
E:回到B繼續
2.1.3for循環的執行流程圖
2.1.4代碼案例八
2.1.1for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句) {
循環體語句; / /讓循環體代碼執行多次;
}
2.1.2執行流程
A:執行初始化語句
B:執行判斷條件語句,看其結果是true還是false
如果是false,循環結束。
如果是true,繼續執行。
C:執行循環體語句
D:執行控制條件語句
E:回到B繼續
2.1.3for循環的執行流程圖
2.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"); } } }
2.2for循環的練習
2.2.1for循環實現獲取指定範圍數據
2.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); } } }
2.2.3for循環實現1-5之間數據求和
2.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); } }
2.2.5for循環實現1-100之間偶數和
2.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);
}
}
2.2.7for循環實現在控制臺打印水仙花數
2.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);
}
}
}
}
2.2.9for循環實現統計水仙花的個數
2.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+"個");
}
}
2.3while循環的格式及基本使用
2.3.1while循環語句格式
基本格式
while(判斷條件語句) {
循環體語句;
}
擴展格式
初始化語句;
while(判斷條件語句) {
循環體語句;
控制條件語句;
}
2.3.2執行流程圖
2.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++;
}
}
}
2.4while循環的練習
2.4.1while循環實現1-100之間數據求和
2.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);
}
}
2.5do…while循環的格式及基本使用
2.5.1do…while循環語句格式
基本格式
do {
循環體語句;
}while((判斷條件語句);
擴展格式
初始化語句;
do {
循環體語句;
控制條件語句;
} while((判斷條件語句);
2.5.2執行流程圖
2.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);
}
}
2.6三種循環的區別
2.6.1區別概述
雖然可以完成同樣的功能,但是還是有小區別:
do…while循環至少會執行一次循環體。
for循環和while循環只有在條件成立的時候才會去執行循環體
for循環語句和while循環語句的小區別:
使用區別:控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。
2.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++;
}while(y<3);
*/
for(int x=1; x<=10; x++){
System.out.println("愛生活,愛Java");
}
//這裏的x無法繼續訪問
//System.out.println(x);
System.out.println("-----------------");
int y = 1;
while(y<=10) {
System.out.println("愛生活,愛Java");
y++;
}
System.out.println(y);
}
}
第2章循環流程控制語句