自學Java基礎知識第三天
課程內容
1、運算子剩餘部分
2、鍵盤錄入
3、分支結構
一、運算子剩餘部分
(一)位移運算子
1、對於在記憶體中表示的資料,按照位置來移動,以達到對資料進行運算的目的。
2、說明:Java中的位移運算子,只能對整數進行操作,最終結果依然是個整數
3、成員:
(1)<<:左移,針對整數,不論正負,每次左移1位,相當於原來的數字乘2
(2)>>:右移,針對整數,不論正負,每次右移1位,相當於原來的數字除2
(3)>>>:無符號右移,只能操作正整數,不能操作負數,運算規律和右移效果一樣
4、好處:比直接乘2或除以2效率要高很多
程式碼示例
package com.offcn.demos;
public class Demo01_Move {
public static void main(String[] args) {
int num = 10;
int num1 = -10;
System.out.println(num << 1);//符號右側的數字表示移動幾位
System.out.println(num << 2);//符號右側的數字表示移動幾位
System.out.println(num1 << 1);
System.out.println(num >> 1);
System.out.println(num >> 2);
System.out.println(num1 >> 1);
System.out.println(num >>> 1);
System.out.println(num1 >>> 1);
}
}
(二)三目運算子(三元運算子)
1、元(目):可以操作的資料或者表示式
2、三元運算子:可以同時操作三個表示式或者資料
3、定義格式:
表示式1 ? 表示式2 : 表示式3
4、說明:
(1)表示式1,一定是一個布林表示式(邏輯表示式),即運算結果一定是布林型別的值,true或者false
(2)表示式2和表示式3:可以是任意型別的資料或者表示式
5、執行流程:
(1)執行表示式1
(2)如果表示式1返回的結果是true,就執行表示式2,執行完畢後就結束了
(3)如果表示式1返回的結果是false,就執行表示式3,執行完畢後就結束了
程式碼示例
package com.offcn.demos;
public class Demo02_TernaryOperator {
public static void main(String[] args) {
//表示式1 ? 表示式2 : 表示式3
//判斷一個數是奇數還是偶數
/*int num = 13;
String result = num % 2 == 0 ? "偶數" : "奇數";
System.out.println(result);*/
int num = 11;
System.out.println(10 > num ? "666" : 10 + 1);
}
}
(三)三目運算子的練習
有四個int型別的變數,分別是int a = 10;int b = 20; int c = 30; int d = 40;通過三目運算子進行比較,獲取四個值中的最大值。
程式碼示例
package com.offcn.demos;
/**
* 有四個int型別的變數,
* 分別是int a = 10;int b = 20; int c = 30; int d = 40;
* 通過三目運算子進行比較,獲取四個值中的最大值。
*
*/
public class Demo03_Exercise {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
int d = 40;
//1.獲取a和b中較大的那個數字
int num1 = a > b ? a : b;
//2.獲取c和d中較大的那個數字
int num2 = c > d ? c : d;
//3.從num1和num2兩個比較大的數字中得出一個最大的數
int result = num1 > num2 ? num1 : num2;
System.out.println("最大值為:" + result);
}
}
二、鍵盤錄入
(一)概述
1、在程式的執行過程中,我們有時需要將某些資料通過鍵盤輸入到計算機中,參與運算,就可以通過鍵盤錄入的方式,將資料錄入到程式。
2、步驟:
(1)導包:在類的宣告上,書寫:import java.util.Scanner;
(2)建立掃描器物件並且關聯到鍵盤:Scanner sc = new Scanner(System.in);
(3)呼叫掃描器物件的nextInt()方法,進行鍵盤錄入,注意:只能錄入int型別的資料
int num = sc.nextInt();
(4)根據你的需求,對錄入好的資料進行操作
程式碼示例
package com.offcn.demos;
//1.導包
import java.util.Scanner;
public class Demo04_Scanner {
/*
* 鍵盤錄入的功能是java官方提供好的
* 我們使用鍵盤錄入的功能需要將java官方的資源引入到我們的程式碼中
* 之後就可以進行使用了
*
* */
public static void main(String[] args) {
//2.建立掃描器物件
Scanner sc = new Scanner(System.in);//此時掃描器物件建立完畢且關聯到了鍵盤
//3.呼叫掃描器物件sc的nextInt()方法(功能),進行鍵盤錄入的掃描
int num = sc.nextInt();//此功能只能用於錄入int型別的資料,其他的資料一概不能錄入
//4.可以將錄入好的資料結合你的業務邏輯進行操作
System.out.println("您錄入的資料為:" + num);
}
}
(二)練習1
鍵盤錄入兩個整數,計算他們的和
package com.offcn.demos;
//1.導包(引入官方的資源)
import java.util.Scanner;
//鍵盤錄入兩個整數,計算他們的和
public class Demo05_Exercise1 {
public static void main(String[] args) {
//2.建立掃描器,關聯到鍵盤,用於掃描鍵盤錄入的資料
Scanner sc = new Scanner(System.in);//System.in表示關聯到了鍵盤
//3.呼叫nextInt()方法,也就是使用掃描器掃描的方法,實現鍵盤錄入int型別資料的操作
System.out.println("請錄入第一個整數:");
int num1 = sc.nextInt();
System.out.println("請錄入第二個整數:");
int num2 = sc.nextInt();
//4.計算兩數的和
System.out.println("和為:" + (num1 + num2));
}
}
(三)練習2
鍵盤錄入三個整數,輸出三個整數中的最大值
package com.offcn.demos;
//1.導包
import java.util.Scanner;
//鍵盤錄入三個整數,輸出三個整數中的最大值
public class Demo06_Exercise2 {
public static void main(String[] args) {
//2.建立掃描器物件
Scanner sc = new Scanner(System.in);
//3.呼叫nextInt()方法,錄入int型別的資料
System.out.println("請錄入第一個整數:");
int num1 = sc.nextInt();
System.out.println("請錄入第二個整數:");
int num2 = sc.nextInt();
System.out.println("請錄入第三個整數:");
int num3 = sc.nextInt();
//4.通過三目運算子來獲取三個數中的最大值
//① 先獲取三個數中任意兩個數的較大值
int num = num1 > num2 ? num1 : num2;
//② 將較大值和第三個數字進行比較,就能得到最大值
int result = num > num3 ? num : num3;
System.out.println(result);
}
}
(四)練習3
鍵盤錄入一個整數,判斷該數字是奇數還是偶數
package com.offcn.demos;
//1.導包
import java.util.Scanner;
//鍵盤錄入一個整數,判斷該數字是奇數還是偶數
public class Demo07_Exercise3 {
public static void main(String[] args) {
//2.建立掃描器物件
Scanner sc = new Scanner(System.in);
//3.呼叫nextInt()方法錄入
System.out.println("請錄入一個整數:");
int num = sc.nextInt();
//4.判斷錄入的資料是奇數還是偶數
String result = num % 2 == 0 ? "偶數" : "奇數";
System.out.println(result);
}
}
三、流程控制
1、流程:程式碼在執行中的先後順序,就是程式碼執行的流程
2、流程控制:控制程式碼執行的先後順序
3、分類:
(1)順序結構:按照從上到下從左到右的順序依次執行
(2)分支結構:程式碼執行到達某個狀態時,存在多種情況的選擇,就需要準備多種情況的分支,具體滿足哪一個分支的條件,就執行哪一個分支。特點:程式碼寫的多,執行的少。
(3)迴圈結構:在程式碼執行中,如果有一部分程式碼邏輯相同或者相似,就相當於這段程式碼和邏輯在重複執行,我們就可以使用迴圈結構,讓一句或者幾句程式碼反覆執行。
四、分支結構
(一)分支結構的概述
1、程式碼到達某種狀態時,存在多種情況,每種情況都需要提前準備好,具體執行得到什麼結果,就執行對應的分支
2、實現格式:
(1)if語句
① if
② if...else
③ if...else if...else if...else
(2)switch語句
(二)if語句的第一種格式
1、if:假如
2、定義格式:
if(邏輯表示式) {
語句體;
}
3、注意事項:
(1)if後面的小括號中,只能是邏輯表示式,即執行結果必須是布林型別,不是true就是false
(2)語句體:當條件滿足的時候,要去執行的程式碼,可以是一句,也可以是多句
4、執行流程:
(1)執行if語句小括號中的邏輯表示式
(2)邏輯表示式的執行結果為true,就執行語句體
(3)邏輯表示式的執行結果為false,不做任何操作
程式碼示例
package com.offcn.demos;
public class Demo08_IfFirstStyle {
public static void main(String[] args) {
/*
* 定義格式:
* if(邏輯表示式) {
* 語句體;
* }
*
* */
//判斷一個數是否為偶數,如果是偶數就列印"偶數",如果是奇數就不做任何操作
int num = 11;
if(num % 2 == 0) {
System.out.println("偶數");
}
System.out.println("========");
}
}
(三)if語句體的第二種格式
1、定義格式:
if(邏輯表示式) {
語句體1;
} else {
語句體2;
}
2、說明:
(1)語句體1和語句體2是達成不同情況的時候,要執行的不同的業務邏輯
(2)else:否則,關鍵字,表示出了if中情況以外的情況都需要執行
3、執行流程:
(1)執行邏輯表示式
(2)如果邏輯表示式返回true,就執行語句體1
(3)如果邏輯表示式返回false,就執行語句體2
4、注意事項:
(1)會不會有任何一個語句體都不執行的情況?不會。達成條件,即返回true,就執行語句體1,返回false,就執行語句體2
(2)會不會兩條語句都執行?不會。因為達成某種情況,就去執行某個語句體,該格式中,勢必會執行一個語句體,執行完後,整個if會全部結束,不會再去執行額外的語句體。
程式碼示例
package com.offcn.demos; public class Demo09_IfSecondStyle { public static void main(String[] args) { //判斷一個數字是奇數還是偶數,如果是偶數就列印偶數,如果是奇數就列印奇數 int num = 11; if(num % 2 == 0) { System.out.println("偶數"); } else { System.out.println("奇數"); } System.out.println("========="); } }
(四)if語句的第三種格式
1、定義格式:
if(邏輯表示式1) {
語句體1;
} else if(邏輯表示式2) {
語句體2;
} else if(邏輯表示式3) {
語句體3;
}
....
} else if(邏輯表示式n) {
語句體n;
} else {
語句體n+1;
}
2、執行流程:
(1)執行邏輯表示式1,如果返回true,就執行語句體1,執行完畢後整個if都會結束
(2)如果執行邏輯表示式1,返回false,則按照從上到下的順序,一次執行邏輯表示式2到邏輯表示式n
(3)如果某一個邏輯表示式返回true,則執行其對應的語句體,執行完畢後整個if語句體都會結束
(4)如果所有的邏輯表示式都返回false,則執行else中的語句體n+1
程式碼示例
package com.offcn.demos; //1.導包 import java.util.Scanner; public class Demo10_IfThirdStyle { public static void main(String[] args) { //2.建立掃描器物件 Scanner sc = new Scanner(System.in); //3.鍵盤錄入 System.out.println("老爺,時間不早了,該歇息了:"); int num = sc.nextInt(); if(num == 1) { System.out.println("正宮夫人伺候老爺就就寢。。。"); } else if(num == 2) { System.out.println("趙夫人伺候老爺就就寢。。。"); } else if(num == 3) { System.out.println("錢夫人伺候老爺就就寢。。。"); } else if(num == 4) { System.out.println("孫夫人伺候老爺就就寢。。。"); } else if(num == 5) { System.out.println("李夫人伺候老爺就就寢。。。"); } else { System.out.println("隨便找個好看的丫鬟吧。。。"); } } }
(五)if語句的注意事項
1、if後面的小括號裡,一定是邏輯表示式
2、if語句的小括號後面,不能隨便寫分號,如果加上分號,就將if判斷和語句體分割開了
3、if語句體只有一句的時候,可以省略大括號,如果為多句,不能省略大括號
程式碼示例
package com.offcn.demos; public class Demo11_Notice { public static void main(String[] args) { int num = 11; /*if(num++) { }*/ /*if(num % 2 == 0); { System.out.println("遙想公瑾當年,小喬初嫁了,使我不得開心顏。"); }*/ if(num % 2 == 0) System.out.println("遙想公瑾當年,小喬初嫁了,使我不得開心顏。"); System.out.println("垂死病中驚坐起,談笑風生又一年"); } }
(六)if語句的細節
package com.offcn.demos; public class Demo12_Exercise { public static void main(String[] args) { int i = 10; int j; /*if(i < 0) { j = 11; } else if(i >=0 && i <= 100) {//在java程式碼中表示一個區間按照當前寫法書寫,不能寫成 0 <= i <= 100 j = 111; } else if(i > 100) { j = 1111; }*/ /*if(i < 0) { j = 11; } else if(i >=0 && i <= 100) {//在java程式碼中表示一個區間按照當前寫法書寫,不能寫成 0 <= i <= 100 j = 111; } else if(i > 100) { j = 1111; } else { j = 0; }*/ if(i < 0) { j = 11; } else if(i >=0 && i <= 100) {//在java程式碼中表示一個區間按照當前寫法書寫,不能寫成 0 <= i <= 100 j = 111; } else { j = 1111; } /* * java程式碼需要先編譯後執行 * * 所以,分為了編譯期和執行期 * * java程式碼的編譯期,不檢測任何的邏輯,只檢測語法,大部分時候只是將人了語言寫成的程式碼編譯為機器能看懂的語言 * * 真正檢查邏輯的時間是在程式碼執行期 * * 我們此時出現的語法錯誤是屬於編譯期的錯誤:變數j沒有賦值,也就是違背了我們變數先賦值後使用的原則 * * 雖然我們看似本段程式碼邏輯沒有遺漏,但是現在屬於編譯期,不檢測邏輯,只檢視語法, * 編譯器認為,我們只有三個條件,如果三個條件都不滿足,j就無法被賦值 * * 就算我們的邏輯沒有遺漏,也需要到執行期才能被執行,但是此時編譯都無法通過,就談不上執行 * */ System.out.println(j); } }
(七)switch語句
1、switch,關鍵字,意義:開關。switch語句中,有多種情況,每一種情況都像是一扇門,如果匹配到,門就打開了就可以去執行,如果沒有匹配到就不執行。
2、定義格式:
switch(表示式) {
case 常量1:
語句體1;
break;
case 常量2:
語句體2;
break;
case 常量3:
語句體3;
break;
......
case 常量n:
語句體n;
break;
default:
語句體n+1;
break;
}
3、執行流程:
(1)執行表示式
(2)將表示式和每一個case去按照從上到下的順序匹配
(3)如果匹配到某一個case,就去執行case中對應的語句體
(4)語句體執行完畢後,執行break;語句,結束整個switch
(5)如果所有的case都匹配不到,就會進入default中,執行default的語句體,執行完畢後,執行break;語句結束整個switch(defualt中可以不加break;,當defualt的語句體執行完畢的時候,遇到右大括號,也會結束整個switch)
程式碼示例
package com.offcn.demos; import java.util.Scanner; //鍵盤錄入一個int數字,輸出對應是星期幾的漢字 public class Demo13_switch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("請錄入一個數字:"); int num = sc.nextInt(); switch(num) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("輸入有誤,地球上沒這個日子"); //break; } System.out.println("=========="); } }
(八)switch語句的注意事項
1、switch:開關,case:情況,break:破壞,default:預設
2、表示式:
(1)JDK1.5之前:byte、short、char、int
(2)JDK1.5:列舉型別
(3)JDK1.5之後:String
3、case後面只能跟常量,不能跟變數
4、switch語句的結束標誌:遇到break語句或者遇到右大括號
5、case穿透:case中語句體執行完畢後如果有break,就會將整個switch語句結束掉,如果case中沒有break語句,則會繼續向下執行下一個case的語句體,直到遇見第一個break;語句結束,或者遇到switch的右大括號結束
6、default語句可以寫在任意位置,都會最後才去執行,但是一般情況下,最好還是將deaflt語句寫在最後。另外,default語句可以省略不寫,不寫就不執行。
程式碼示例
package com.offcn.demos; import java.util.Scanner; public class Demo14_Notice { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("請錄入一個數字:"); int num = sc.nextInt(); /* * case穿透 * case中語句體執行完畢後如果有break,就會將整個switch語句結束掉 * 如果case中沒有break語句,則會繼續向下執行下一個case的語句體, * 直到遇見第一個break;語句結束,或者遇到switch的右大括號結束 * * * */ switch(num) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; /*default: System.out.println("輸入有誤,地球上沒這個日子"); //break;*/ } /*int b = 1; byte by = 6; switch (b) { case 1: case 'z': //case by: }*/ /*short s = 3; switch (s) { } char ch = 'z'; switch (ch) { }*/ /*double dou = 3.5; switch (dou) { }*/ /*String str = "abc"; switch (str) { }*/ } }
(九)switch語句的練習
鍵盤錄入一個數字,表示月份,列印對應的季節
3、4、5表示春季,6、7、8表示夏季、9、10、11表示秋季,12、1、2表示冬季
程式碼示例
package com.offcn.demos; import java.util.Scanner; /** * 鍵盤錄入一個數字,表示月份,列印對應的季節 3、4、5表示春季,6、7、8表示夏季、9、10、11表示秋季,12、1、2表示冬季 * */ public class Demo15_Exercise { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("請錄入月份:"); int month = sc.nextInt(); switch(month) { case 3: case 4: case 5: System.out.println("春季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; case 12: case 1: case 2: System.out.println("冬季"); break; default: System.out.println("地球上沒有這個月份!"); } } }
五、迴圈結構
(一)概述
1、對於某些需要重複執行的相同的、相似的或者相近的程式碼,使用某種個是來讓其重複執行,完成對程式碼的簡化。
2、迴圈結構:
for迴圈【常用】
while迴圈【常用】
do...while迴圈
(二)for迴圈
1、定義格式:
for(初始化變數; 邏輯表示式; 步進表示式) {
迴圈語句體;(需要重複執行的程式碼)
}
2、執行流程:
(1)執行初始化變數,有且僅有一次執行機會。初始化變數具有初始值,初始化變數就是用來最終記錄我們一件事兒完成了多少次的計數器。
(2)執行邏輯表示式,判斷當前迴圈次數,是否達到目標,如果返回true,即沒有達到目標,就執行迴圈語句體。
(3)如果邏輯表示式返回false,直接結束for迴圈
(4)接步驟2,迴圈語句體執行完畢後,會執行步進表示式,在初始化變數上,進行已經迴圈次數的增減
(5)再次執行邏輯表示式,判斷是否打成目標,如果邏輯表示式返回false,就停止迴圈,如果返回true,就繼續迴圈
3、執行流程圖:
4、說明:
(1)初始化語句有且僅有一次執行機會,在最開始執行
(2)邏輯表示式:結果必須是布林型別,返回true則執行迴圈語句體,返回false直接結束for迴圈
(3)迴圈語句體:要重複執行的程式碼,可以是一句,也可以是多句
(4)步進表示式:可以是增,可以是減,每次增減的幅度,可以根據業務邏輯來定
程式碼示例
package com.offcn.demos; public class Demo16 { public static void main(String[] args) { /* * 跑圈是重複的事情 * * 需要使用一個計數器來記錄已經重複做了多少遍:初始化變數 * * 我們重複做一件事情,是有遍數的,例如跑10圈,就是將跑圈重複10次,如果沒打成目標就繼續重複,打成了就結束:邏輯表示式 * * 每次跑圈跑完一圈,就要在已經跑的基礎上,加上1圈:初始化變數的自增自減(步進表示式) * * for(初始化變數; 邏輯表示式; 步進表示式) { * 迴圈語句體;(需要重複執行的程式碼) * } * */ //列印90-100的數字 for(int i = 90; i <= 100; i = i + 2) { System.out.println(i); } /*for(int i = 1; i <= 10; i++) { 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("HelloWorld!");*/ } }
(三)for迴圈的注意事項
1、初始化變數必須是變數,用於記錄迴圈次數的,在迴圈的最開始執行,有且僅有一次執行機會
2、邏輯表示式:結果必須是布林型別,返回true則執行迴圈語句體,返回false直接結束for迴圈
3、迴圈語句體:要重複執行的程式碼,可以是一句,也可以是多句
4、步進表示式:可以是增,可以是減,每次增減的幅度,可以根據業務邏輯來定
5、for迴圈的小括號後面不能加分號
6、當且僅當迴圈語句提只有一句的時候,for迴圈的大括號可以省略
程式碼示例
package com.offcn.demos; public class Demo17_ForNotice { public static void main(String[] args) { /*for(int i = 1; i <= 10; i++); { System.out.println("HelloWorld!"); }*/ for(int i = 1; i <= 10; i++) System.out.println("HelloWorld!"); System.out.println("======="); } }
(四)練習1
列印1到10的數字
程式碼示例
package com.offcn.demos; //列印1到10的數字 public class Demo18_Exercise1 { public static void main(String[] args) { for(int i = 1; i <= 10; i++) { System.out.println(i); } } }
(五)練習2
計算1+2+3+...+98+99+100的和
程式碼示例
package com.offcn.demos; //計算1+2+3+...+98+99+100的和 public class Demo19_Exercise2 { public static void main(String[] args) { //定義一個計數器,用於記錄1-100的和 int sum = 0;//6 for(int i = 1; i <= 100; i++) { //sum = sum + i; sum += i; } System.out.println(sum); } }
(六)練習3
計算1-100的偶數和
程式碼示例
package com.offcn.demos; //計算1-100的偶數和 public class Demo20_Exercise3 { public static void main(String[] args) { int sum = 0; /*for(int i = 1; i <= 100; i++) { if(i % 2 == 0) { sum += i; } }*/ for(int i = 2; i <= 100; i += 2) { sum += i; } System.out.println(sum); } }
(七)練習4
列印四葉玫瑰數及其個數。四葉玫瑰數:是一個四位數,它的各個位的四次方和等於它本身。
程式碼示例
package com.offcn.demos; //列印四葉玫瑰數及其個數。四葉玫瑰數:是一個四位數,它的各個位的四次方和等於它本身。 public class Demo21_Exercise4 { public static void main(String[] args) { //定義計數器,用於記錄四葉玫瑰數的個數 int count = 0; //通過for迴圈,獲取到每一個四位數 for(int i = 1000; i < 10000; i++) { //將當前迴圈得到的四位數的各個位獲取下來 int unit = i % 10; int ten = i / 10 % 10; int hundred = i / 100 % 10; int thousand = i / 1000; //求每個位的四次方,之後加和 int sum = unit * unit * unit * unit + ten * ten * ten * ten + hundred * hundred * hundred * hundred + thousand * thousand * thousand * thousand; //四次方和等於它本身 if(sum == i) { System.out.println(i); count++; } } System.out.println("四葉玫瑰數的個數位:" + count); } }
(八)while迴圈
1、定義格式:
初始化變數;
while(邏輯表示式) {
迴圈語句體;
步進表示式;
}
2、執行流程
(1)執行初始化變數
(2)執行邏輯表示式,如果判斷為true,就執行while迴圈的迴圈語句體,如果判斷為false,就結束while迴圈
(3)假設邏輯表示式為true,會執行迴圈語句體,迴圈語句體執行完畢後,執行步進表示式
(4)步進表示式執行完畢,重新執行步驟(2)
程式碼示例
package com.offcn.demos; public class Demo22_while { public static void main(String[] args) { //列印1-10的數字,橫向列印,並且數字之間用空格隔開 //System.out.print();列印的時候不換行 //System.out.println();列印的時候換行 //特別的如果直接執行System.out.println();是會直接進行換行操作的 int i = 1; while(i <= 10) { System.out.print(i + " "); i++; } } }
(九)while迴圈的練習
使用while迴圈,列印1-100範圍內有多少數字可以被7整除
程式碼示例
package com.offcn.demos; //使用while迴圈,列印1-100範圍內有多少數字可以被7整除(7的倍數) public class Demo23_Exercise { public static void main(String[] args) { /*for(int i = 1; i <= 100; i++) { System.out.println(i); }*/ /* * 初始化變數; * * while(邏輯表示式) { * 迴圈語句體; * 步進表示式; * } * * */ //定義計數器用於記錄個數 int count = 0; int i = 1; while(i <= 100) { if(i % 7 == 0) { System.out.println(i); count++; } i++; } System.out.println("7的倍數的個數位:" + count); } }