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