|
引用數(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)用該類型實(shí)例的功能。 ? 變量名.方法名(); ? ? l?Scanner類 Scanner類是引用數(shù)據(jù)類型的一種,我們可以使用該類來完成用戶鍵盤錄入,獲取到錄入的數(shù)據(jù)。 ? Scanner使用步驟: ? 導(dǎo)包:import java.util.Scanner; ? 創(chuàng)建對象實(shí)例: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?隨機(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時,我們已經(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)行另一種處理。例如,要判斷一個正整數(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í)行流程如下圖所示。
? 接下來通過一段代碼,來實(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是一個偶數(shù)");
} else {
System.out.println("num是一個奇數(shù)");
}
}
}
1.1.2?if…else if…else語句? if…else if…else語句用于對多個條件進(jìn)行判斷,進(jìn)行多種不同的處理。例如,對一個學(xué)生的考試成績進(jìn)行等級的劃分,如果分?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語句與三元運(yùn)算轉(zhuǎn)換?三元運(yùn)算符,它和if-else語句類似,語法如下: 判斷條件 ? 表達(dá)式1 : 表達(dá)式2 ? 三元運(yùn)算符會得到一個結(jié)果,通常用于對某個變量進(jìn)行賦值,當(dāng)判斷條件成立時,運(yùn)算結(jié)果為表達(dá)式1的值,否則結(jié)果為表達(dá)式2的值。 例如求兩個數(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í)行大括號內(nèi)的執(zhí)行語句。區(qū)別在于,while語句會反復(fù)地進(jìn)行條件判斷,只要條件成立,{}內(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í)行流程如下圖所示:
實(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 |
|
|