引用數(shù)據(jù)數(shù)據(jù)類型(Scanner、Random) 流程控制語句(if、for、while、dowhile、break、continue) 1?引用數(shù)據(jù)類型1.1?Scanner類1.1引用數(shù)據(jù)類型的使用 與定義基本數(shù)據(jù)類型的變量不同,引用數(shù)據(jù)類型的變量定義以及賦值有一個相對固定的步驟或格式。 數(shù)據(jù)類型 ?變量名 ?= ?new 數(shù)據(jù)類型(); ? 每種引用數(shù)據(jù)類型都有其功能,我們可以調(diào)用該類型實例的功能。 ? 變量名.方法名(); ? ? l?Scanner類 Scanner類是引用數(shù)據(jù)類型的一種,我們可以使用該類來完成用戶鍵盤錄入,獲取到錄入的數(shù)據(jù)。 ? Scanner使用步驟: ? 導(dǎo)包:import java.util.Scanner; ? 創(chuàng)建對象實例:Scanner sc?= new Scanner(System.in); ? 調(diào)用方法: ? int ?i = sc.nextInt(); 用來接收控制臺錄入的數(shù)字 ? String s = sc.next(); 用來接收控制臺錄入的字符串 import java.util.Scanner; public class ScannerDemo01 { public static void main(String[] args) { //創(chuàng)建Scanner引用類型的變量 Scanner sc = new Scanner(System.in); //獲取數(shù)字 System.out.println("請輸入一個數(shù)字"); int n = sc.nextInt(); System.out.println("n的值為" n); //獲取字符串 System.out.println("請輸入一個字符串"); String str = sc.next(); System.out.println("str的值為" str); } }
1.2?隨機數(shù)類Randoml?方法簡介 public int nextInt(int maxValue) 產(chǎn)生[0,maxValue)范圍的隨機整數(shù),包含0,不包含maxValue; public double nextDouble()??產(chǎn)生[0,1)范圍的隨機小數(shù),包含0.0,不包含1.0。 引用數(shù)據(jù)類型的使用方式,在學(xué)習(xí)鍵盤錄入Scanner時,我們已經(jīng)學(xué)習(xí)過,在這里,再次回顧一下: ? l?Random使用方式: ? l?import導(dǎo)包:所屬包java.util.Random?? ? l?創(chuàng)建實例格式:Random 變量名 = new Random(); import java.util.Random; public class RandomDemo { public static void main(String[] args) { // 創(chuàng)建Random類的實例 Random r = new Random(); // 得到0-100范圍內(nèi)的隨機整數(shù),將產(chǎn)生的隨機整數(shù)賦值給i變量 int i = r.nextInt(100); //得到0.0-1.0范圍內(nèi)的隨機小數(shù),將產(chǎn)生的隨機小數(shù)賦值給d變量 double d = r.nextDouble(); System.out.println(i); System.out.println(d); } } ? 流程控制語句 1.1.1?if…else語句if…else語句是指如果滿足某種條件,就進行某種處理,否則就進行另一種處理。例如,要判斷一個正整數(shù)的奇偶,如果該數(shù)字能被2整除則是一個偶數(shù),否則該數(shù)字就是一個奇數(shù)。if…else語句具體語法格式如下: ? if (判斷條件){ 執(zhí)行語句1 …… }else{ 執(zhí)行語句2 …… } ?上述格式中,判斷條件是一個布爾值。當(dāng)判斷條件為true時,if后面{}中的執(zhí)行語句1會執(zhí)行。當(dāng)判斷條件為false時,else后面{}中的執(zhí)行語句2會執(zhí)行。if…else語句的執(zhí)行流程如下圖所示。 ? 接下來通過一段代碼,來實現(xiàn)判斷奇偶數(shù)的程序,IfDemo02.java public class IfDemo02 { public static void main(String[] args) { int num = 19; if (num % 2 == 0) { // 判斷條件成立,num被2整除 System.out.println("num是一個偶數(shù)"); } else { System.out.println("num是一個奇數(shù)"); } } }
1.1.2?if…else if…else語句? if…else if…else語句用于對多個條件進行判斷,進行多種不同的處理。例如,對一個學(xué)生的考試成績進行等級的劃分,如果分?jǐn)?shù)大于80分等級為優(yōu),否則,如果分?jǐn)?shù)大于70分等級為良,否則,如果分?jǐn)?shù)大于60分等級為中,否則,等級為差。if…else if…else語句具體語法格式如下: ? if (判斷條件1) { 執(zhí)行語句1 } else if (判斷條件2) { 執(zhí)行語句2 } ... else if (判斷條件n) { 執(zhí)行語句n } else { 執(zhí)行語句n 1 } ? 上述格式中,判斷條件是一個布爾值。當(dāng)判斷條件1為true時,if后面{}中的執(zhí)行語句1會執(zhí)行。當(dāng)判斷條件1為false時,會繼續(xù)執(zhí)行判斷條件2,如果為true則執(zhí)行語句2,以此類推,如果所有的判斷條件都為false,則意味著所有條件均未滿足,else后面{}中的執(zhí)行語句n 1會執(zhí)行。if…else if…else語句的執(zhí)行流程如下圖所示。 public class IfDemo03 { public static void main(String[] args) { int grade = 75; // 定義學(xué)生成績 if (grade > 80) { // 滿足條件 grade > 80 System.out.println("該成績的等級為優(yōu)"); } else if (grade > 70) { // 不滿足條件 grade > 80 ,但滿足條件 grade > 70 System.out.println("該成績的等級為良"); } else if (grade > 60) { // 不滿足條件 grade > 70 ,但滿足條件 grade > 60 System.out.println("該成績的等級為中"); } else { // 不滿足條件 grade > 60 System.out.println("該成績的等級為差"); } } }
1.1.3?if語句與三元運算轉(zhuǎn)換?三元運算符,它和if-else語句類似,語法如下: 判斷條件 ? 表達(dá)式1 : 表達(dá)式2 ? 三元運算符會得到一個結(jié)果,通常用于對某個變量進行賦值,當(dāng)判斷條件成立時,運算結(jié)果為表達(dá)式1的值,否則結(jié)果為表達(dá)式2的值。 例如求兩個數(shù)x、y中的較大者,如果用if…else語句來實現(xiàn),具體代碼如下: int x = 0; int y = 1; int max; if (x > y) { max = x; } else { max = y; } 上面的代碼運行之后,變量max的值為1。其中3-8行的代碼可以使用下面的三元運算來替換。 int max = (x > y) ? x : y;
1.3?循環(huán)語句whilewhile循環(huán)語句和選擇結(jié)構(gòu)if語句有些相似,都是根據(jù)條件判斷來決定是否執(zhí)行大括號內(nèi)的執(zhí)行語句。區(qū)別在于,while語句會反復(fù)地進行條件判斷,只要條件成立,{}內(nèi)的執(zhí)行語句就會執(zhí)行,直到條件不成立,while循環(huán)結(jié)束,while循環(huán)語句的語法結(jié)構(gòu)如下: while(循環(huán)條件){ 執(zhí)行語句 ……… } 在上面的語法結(jié)構(gòu)中,{}中的執(zhí)行語句被稱作循環(huán)體,循環(huán)體是否執(zhí)行取決于循環(huán)條件。當(dāng)循環(huán)條件為true時,循環(huán)體就會執(zhí)行。循環(huán)體執(zhí)行完畢時會繼續(xù)判斷循環(huán)條件,如條件仍為true則會繼續(xù)執(zhí)行,直到循環(huán)條件為false時,整個循環(huán)過程才會結(jié)束。while循環(huán)的執(zhí)行流程如下圖所示: 實現(xiàn)打印1~4之間的自然數(shù),WhileDemo.java public class WhileDemo { public static void main(String[] args) { int x = 1; // 定義變量x,初始值為1 while (x <= 4) { // 循環(huán)條件 System.out.println("x = " x); // 條件成立,打印x的值 x ; // x進行自增 } } } 1.4?循環(huán)語句forfor循環(huán)語句是最常用的循環(huán)語句,一般用在循環(huán)次數(shù)已知的情況下。for循環(huán)語句的語法格式如下: ? for(初始化表達(dá)式; 循環(huán)條件; 操作表達(dá)式){ 執(zhí)行語句 ……… } ?
?
?
? ? ?
? ? ? ? ? ? ? ? ? 來源:https://www./content-1-329401.html |
|