JAVAEE工程师技术课之第二课运算符.输入类
day02 - Java基礎(chǔ)語法
課程目標(biāo)
1. 【理解】數(shù)據(jù)類型轉(zhuǎn)換 2. 【掌握】五種運(yùn)算符類型 3. 【掌握】數(shù)據(jù)錄入 4. 【掌握】流程控制語句-IF語句一.類型轉(zhuǎn)換
自動(dòng)類型轉(zhuǎn)換
把一個(gè)表示數(shù)據(jù)范圍小的數(shù)值或者變量賦值給另一個(gè)表示數(shù)據(jù)范圍大的變量。這種轉(zhuǎn)換方式是自動(dòng)的,直接書寫即可。
-
示例
double num = 10; // 將int類型的10直接賦值給double類型 System.out.println(num); // 輸出10.0
強(qiáng)制類型轉(zhuǎn)換
把一個(gè)表示數(shù)據(jù)范圍大的數(shù)值或者變量賦值給另一個(gè)表示數(shù)據(jù)范圍小的變量。
-
強(qiáng)制類型轉(zhuǎn)換格式
目標(biāo)數(shù)據(jù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型)值或者變量;
-
示例
byte a = 3;byte b = 4;// int c = a + b;//動(dòng)類型轉(zhuǎn)為大的類型// 從大到小的轉(zhuǎn)換: 強(qiáng)制類型轉(zhuǎn)換// byte d = a + b;// 我不想提升為大的類型,我就想用byte,怎么辦?/** 強(qiáng)制類型轉(zhuǎn)換** 目標(biāo)類型 變量名 = (目標(biāo)類型)原始類型;** 缺點(diǎn): 會(huì)造成精度丟失問題** */byte d = ( byte) (a + b);System.out.println(d);
-
-
強(qiáng)制類型轉(zhuǎn)換注意事項(xiàng)
-
char類型的數(shù)據(jù)轉(zhuǎn)換為int類型是按照碼表中對應(yīng)的int值進(jìn)行計(jì)算的。比如在ASCII碼表中,'a’對應(yīng)97。
int a = 'a'; System.out.println(a); // 將輸出97 -
整數(shù)默認(rèn)是int類型,byte、short和char類型數(shù)據(jù)參與運(yùn)算均會(huì)自動(dòng)轉(zhuǎn)換為int類型。
byte b1 = 10; byte b2 = 20; byte b3 = b1 + b2; // 第三行代碼會(huì)報(bào)錯(cuò),b1和b2會(huì)自動(dòng)轉(zhuǎn)換為int類型,計(jì)算結(jié)果為int,int賦值給byte需要強(qiáng)制類型轉(zhuǎn)換。 // 修改為: int num = b1 + b2; // 或者: //目標(biāo)類型 變量名 = (目標(biāo)類型)原始類型; byte b3 = (byte) (b1 + b2); -
boolean類型不能與其他基本數(shù)據(jù)類型相互轉(zhuǎn)換。
-
二.運(yùn)算符
什么是運(yùn)算符
-
運(yùn)算符
對常量或者變量進(jìn)行操作的符號,注意符號都是特定,不能改變量
-
表達(dá)式
用運(yùn)算符把常量或者變量連接起來符合java語法的式子就可以稱為表達(dá)式。 不同運(yùn)算符連接的表達(dá)式體現(xiàn)的是不同類型的表達(dá)式。
?
-
舉例說明
int a = 10; int b = 20; int c = a + b;+:是運(yùn)算符,并且是算術(shù)運(yùn)算符。
a + b:是表達(dá)式,由于+是算術(shù)運(yùn)算符,所以這個(gè)表達(dá)式叫算術(shù)表達(dá)式。
算術(shù)運(yùn)算符
| + | 加 | 參看小學(xué)一年級 |
| - | 減 | 參看小學(xué)一年級 |
| * | 乘 | 參看小學(xué)二年級,與“×”相同 |
| / | 除 | 參看小學(xué)二年級,與“÷”相同 |
| % | 取余/取模 | 獲取的是兩個(gè)數(shù)據(jù)做除法的余數(shù) |
-
注意事項(xiàng)
/和%的區(qū)別:兩個(gè)數(shù)據(jù)做除法,/取結(jié)果的商,%取結(jié)果的余數(shù)。
整數(shù)操作只能得到整數(shù),要想得到小數(shù),必須有浮點(diǎn)數(shù)參與運(yùn)算。
字符的"+"操作
-
char類型參與算術(shù)運(yùn)算
使用的是計(jì)算機(jī)底層對應(yīng)的十進(jìn)制數(shù)值。需要我們記住三個(gè)字符對應(yīng)的數(shù)值
- ‘a(chǎn)’ – 97 a-z是連續(xù)的,所以’b’對應(yīng)的數(shù)值是98,'c’是99,依次遞加
- ‘A’ – 65 A-Z是連續(xù)的,所以’B’對應(yīng)的數(shù)值是66,'C’是67,依次遞加
- ‘0’ – 48 0-9是連續(xù)的,所以’1’對應(yīng)的數(shù)值是49,'2’是50,依次遞加
-
算術(shù)表達(dá)式
算術(shù)表達(dá)式中包含不同的基本數(shù)據(jù)類型的值的時(shí)候,整個(gè)算術(shù)表達(dá)式的類型會(huì)自動(dòng)進(jìn)行提升。
-
提升規(guī)則
byte類型,short類型和char類型將被提升到int類型,不管是否有其他類型參與運(yùn)算。 整個(gè)表達(dá)式的類型自動(dòng)提升到與表達(dá)式中最高等級的操作數(shù)相同的類型等級順序:byte,short,char --> int --> long --> float --> double -
演示
byte b1 = 10; byte b2 = 20; // byte b3 = b1 + b2; // 該行報(bào)錯(cuò),因?yàn)閎yte類型參與算術(shù)運(yùn)算會(huì)自動(dòng)提示為int,int賦值給byte可能損失精度 int i3 = b1 + b2; // 應(yīng)該使用int接收 byte b3 = (byte) (b1 + b2); // 或者將結(jié)果強(qiáng)制轉(zhuǎn)換為byte類型 ------------------------------- int num1 = 10; double num2 = 20.0; double num3 = num1 + num2; // 使用double接收,因?yàn)閚um1會(huì)自動(dòng)提升為double類型正是由于上述原因,所以在程序開發(fā)中我們很少使用byte或者short類型定義整數(shù)。也很少會(huì)使用char類型定義字符,而使用字符串類型,更不會(huì)使用char類型做算術(shù)運(yùn)算。
-
字符串的"+"操作
當(dāng)“+”操作中出現(xiàn)字符串時(shí),這個(gè)”+”是字符串連接符,而不是算術(shù)運(yùn)算。
System.out.println("我最"+ 666); // 輸出:我最666在”+”操作中,如果出現(xiàn)了字符串,就是連接運(yùn)算符,否則就是算術(shù)運(yùn)算。當(dāng)連續(xù)進(jìn)行“+”操作時(shí),從左到右逐個(gè)執(zhí)行。
//字符串拼接int a = 520;System.out.println("我愛江一燕"+a);System.out.println("我愛江一燕"+",冰冰");System.out.println(1+2+"4"+6);System.out.println(1 + 99 + "年企業(yè)");System.out.println(1+3+"江一燕"+(5+3));System.out.println(1+3+"江一燕"+5+3);System.out.println("hello"+'a'+1);//helloa1System.out.println('a'+1+"hello");//98helloSystem.out.println("5+5="+5+5);//5+5=55 System.out.println(5+5+"=5+5");//10=5+5賦值運(yùn)算符
賦值運(yùn)算符的作用是將一個(gè)表達(dá)式的值賦給左邊,左邊必須是可修改的,不能是常量。
| = | 賦值 | a=10,將10賦值給變量a |
| += | 加后賦值 | a+=b,將a+b的值給a |
| -= | 減后賦值 | a-=b,將a-b的值給a |
| *= | 乘后賦值 | a*=b,將a×b的值給a |
| /= | 除后賦值 | a/=b,將a÷b的商給a |
| %= | 取余后賦值 | a%=b,將a÷b的余數(shù)給a |
注意:
擴(kuò)展的賦值運(yùn)算符隱含了強(qiáng)制類型轉(zhuǎn)換。
面試題:short s=1; s = s+1; short s=1; s+=1;上面兩個(gè)代碼有沒有問題,如果有,那里有問題。為什么第二個(gè)木有問題呢?擴(kuò)展的賦值運(yùn)算符其實(shí)隱含了一個(gè)強(qiáng)制類型轉(zhuǎn)換。 s += 1;不是等價(jià)于 s = s + 1;而是等價(jià)于 s = (s的數(shù)據(jù)類型)(s + 1);自增自減運(yùn)算符
| ++ | 自增 | 變量的值加1 |
| – | 自減 | 變量的值減1 |
- 注意事項(xiàng):
- ++和-- 既可以放在變量的后邊,也可以放在變量的前邊。
- 單獨(dú)使用的時(shí)候, ++和-- 無論是放在變量的前邊還是后邊,結(jié)果是一樣的。
- 參與操作的時(shí)候,如果是變量++或變量–,先拿變量參與操作,后拿變量做++或者–。
- 參與操作的時(shí)候,如果放在變量的前邊,先拿變量做++或者–,后拿變量參與操作。
練習(xí)一:
int x = 10; int y = x++ + x++ + x++; System.out.println(y); // y的值是多少? /* 解析,三個(gè)表達(dá)式都是++在后,所以每次使用的都是自增前的值,但程序自左至右執(zhí)行,所以第一次自增時(shí),使用的是10進(jìn)行計(jì)算,但第二次自增時(shí),x的值已經(jīng)自增到11了,所以第二次使用的是11,然后再次自增。。。 所以整個(gè)式子應(yīng)該是:int y = 10 + 11 + 12; 輸出結(jié)果為33。 */ 注意:通過此練習(xí)深刻理解自增和自減的規(guī)律,但實(shí)際開發(fā)中強(qiáng)烈建議不要寫這樣的代碼!小心挨打!練習(xí)二:
int x = 4; int y = (x++) + (++x) + x; System.out.println(x); System.out.println(y);關(guān)系運(yùn)算符
關(guān)系運(yùn)算符有6種關(guān)系,分別為小于、小于等于、大于、等于、大于等于、不等于。最終于的結(jié)果是boolean類型
| == | a==b,判斷a和b的值是否相等,成立為true,不成立為false |
| != | a!=b,判斷a和b的值是否不相等,成立為true,不成立為false |
| > | a>b,判斷a是否大于b,成立為true,不成立為false |
| >= | a>=b,判斷a是否大于等于b,成立為true,不成立為false |
| < | a<b,判斷a是否小于b,成立為true,不成立為false |
| <= | a<=b,判斷a是否小于等于b,成立為true,不成立為false |
-
注意事項(xiàng)
-
關(guān)系運(yùn)算符的結(jié)果都是boolean類型,要么是true,要么是false。
-
千萬不要把“==”誤寫成“=”,"=="是判斷是否相等的關(guān)系,"="是賦值。
-
邏輯運(yùn)算符
邏輯運(yùn)算符把各個(gè)運(yùn)算的關(guān)系表達(dá)式連接起來組成一個(gè)復(fù)雜的邏輯表達(dá)式,以判斷程序中的表達(dá)式是否成立,判斷的結(jié)果是 true 或 false。 最終的結(jié)果也是boolean
| & | 邏輯與 | a&b,a和b都是true,結(jié)果為true,否則為false |
| | | 邏輯或 | a|b,a和b都是false,結(jié)果為false,否則為true |
| ^ | 邏輯異或 | a^b,a和b結(jié)果不同為true,相同為false |
| ! | 邏輯非 | !a,結(jié)果和a的結(jié)果正好相反 |
-
代碼演示
//定義變量 int i = 10; int j = 20; int k = 30;//& “與”,并且的關(guān)系,只要表達(dá)式中有一個(gè)值為false,結(jié)果即為false System.out.println((i > j) & (i > k)); //false & false,輸出false System.out.println((i < j) & (i > k)); //true & false,輸出false System.out.println((i > j) & (i < k)); //false & true,輸出false System.out.println((i < j) & (i < k)); //true & true,輸出true System.out.println("--------");//| “或”,或者的關(guān)系,只要表達(dá)式中有一個(gè)值為true,結(jié)果即為true System.out.println((i > j) | (i > k)); //false | false,輸出false System.out.println((i < j) | (i > k)); //true | false,輸出true System.out.println((i > j) | (i < k)); //false | true,輸出true System.out.println((i < j) | (i < k)); //true | true,輸出true System.out.println("--------");//^ “異或”,(同性)相同為false,(異性)不同為true System.out.println((i > j) ^ (i > k)); //false ^ false,輸出false System.out.println((i < j) ^ (i > k)); //true ^ false,輸出true System.out.println((i > j) ^ (i < k)); //false ^ true,輸出true System.out.println((i < j) ^ (i < k)); //true ^ true,輸出false System.out.println("--------");//! “非”,取反 System.out.println((i > j)); //false System.out.println(!(i > j)); //!false,,輸出true
短路邏輯運(yùn)算符
| && | 短路與 | 作用和&相同,但是有短路效果 |
| || | 短路或 | 作用和|相同,但是有短路效果 |
在邏輯與運(yùn)算中,只要有一個(gè)表達(dá)式的值為false,那么結(jié)果就可以判定為false了,沒有必要將所有表達(dá)式的值都計(jì)算出來,短路與操作就有這樣的效果,可以提高效率。同理在邏輯或運(yùn)算中,一旦發(fā)現(xiàn)值為true,右邊的表達(dá)式將不再參與運(yùn)算。
- 邏輯與&,無論左邊真假,右邊都要執(zhí)行。
- 邏輯或|,無論左邊真假,右邊都要執(zhí)行。
- 短路與&&,如果左邊為真,右邊執(zhí)行;【如果左邊為假,右邊不執(zhí)行】。
- 短路或||,如果左邊為假,右邊執(zhí)行;【如果左邊為真,右邊不執(zhí)行】。
三元(目)運(yùn)算符
三元運(yùn)算符語法格式
關(guān)系表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2;-
格式解析
問號前面的位置是判斷的條件,判斷結(jié)果為boolean型,為true時(shí)調(diào)用表達(dá)式1,為false時(shí)調(diào)用表達(dá)式2。其邏輯為:如果條件表達(dá)式成立或者滿足則執(zhí)行表達(dá)式1,否則執(zhí)行第二個(gè)。
-
舉例
int a = 10; int b = 20; int c = a > b ? a : b; // 如果表式返回的是true ,把結(jié)果1返回 ,如果表達(dá)式返回的false, 把結(jié)果2返回
三元運(yùn)算符案例
-
需求1
動(dòng)物園里有兩只老虎,已知兩只老虎的體重分別為180kg、200kg,請用程序?qū)崿F(xiàn)判斷兩只老虎的體重是否相同。
public class OperatorTest01 {public static void main(String[] args) {//1:定義兩個(gè)變量用于保存老虎的體重,單位為kg,這里僅僅體現(xiàn)數(shù)值即可。int weight1 = 180;int weight2 = 200; //2:用三元運(yùn)算符實(shí)現(xiàn)老虎體重的判斷,體重相同,返回true,否則,返回false。boolean b = weight1 == weight2 ? true : false; //3:輸出結(jié)果System.out.println("b:" + b);} } -
需求2
一座寺廟里住著三個(gè)和尚,已知他們的身高分別為150cm、210cm、165cm,請用程序?qū)崿F(xiàn)獲取這三個(gè)和尚的最高身高。
public class OperatorTest02 {public static void main(String[] args) {//1:定義三個(gè)變量用于保存和尚的身高,單位為cm,這里僅僅體現(xiàn)數(shù)值即可。int height1 = 150;int height2 = 210;int height3 = 165; //2:用三元運(yùn)算符獲取前兩個(gè)和尚的較高身高值,并用臨時(shí)身高變量保存起來。int tempHeight = height1 > height2 ? height1 : height2; //3:用三元運(yùn)算符獲取臨時(shí)身高值和第三個(gè)和尚身高較高值,并用最大身高變量保存。int maxHeight = tempHeight > height3 ? tempHeight : height3; //4:輸出結(jié)果System.out.println("maxHeight:" + maxHeight);} }
三.數(shù)據(jù)輸入
我們可以通過 Scanner 類來獲取用戶的輸入。使數(shù)據(jù)達(dá)到靈活性
使用步驟
導(dǎo)包
Scanner 類在java.util包下,所以需要將該類導(dǎo)入。導(dǎo)包的語句需要定義在類的上面。
import java.util.Scanner;創(chuàng)建Scanner對象
Scanner sc = new Scanner(System.in);// 創(chuàng)建Scanner對象,sc表示變量名,其他均不可變接收數(shù)據(jù)
int i = sc.nextInt(); // 表示將鍵盤錄入的值作為int數(shù)返回。示例:
import java.util.Scanner; public class ScannerDemo {public static void main(String[] args) {//創(chuàng)建對象Scanner sc = new Scanner(System.in);//接收數(shù)據(jù)int x = sc.nextInt();//輸出數(shù)據(jù)System.out.println("x:" + x);} }案例
改寫三個(gè)和尚案例,數(shù)據(jù)使用鍵盤錄入。
import java.util.Scanner; public class ScannerTest {public static void main(String[] args) {//身高未知,采用鍵盤錄入實(shí)現(xiàn)。首先導(dǎo)包,然后創(chuàng)建對象。Scanner sc = new Scanner(System.in);//鍵盤錄入三個(gè)身高分別賦值給三個(gè)變量。System.out.println("請輸入第一個(gè)和尚的身高:");int height1 = sc.nextInt();System.out.println("請輸入第二個(gè)和尚的身高:");int height2 = sc.nextInt();System.out.println("請輸入第三個(gè)和尚的身高:");int height3 = sc.nextInt();//用三元運(yùn)算符獲取前兩個(gè)和尚的較高身高值,并用臨時(shí)身高變量保存起來。int tempHeight = height1 > height2 ? height1 : height2;//用三元運(yùn)算符獲取臨時(shí)身高值和第三個(gè)和尚身高較高值,并用最大身高變量保存。int maxHeight = tempHeight > height3 ? tempHeight : height3;//輸出結(jié)果。System.out.println("這三個(gè)和尚中身高最高的是:" + maxHeight +"cm");} }四.流程控制語句
在一個(gè)程序執(zhí)行的過程中,各條語句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。所以,我們必須清楚每條語句的執(zhí)行流程。而且,很多時(shí)候要通過控制語句的執(zhí)行順序來實(shí)現(xiàn)我們想要的功能。
流程控制語句分類
? 順序結(jié)構(gòu)
? 分支結(jié)構(gòu)(if, switch)
? 循環(huán)結(jié)構(gòu)(for, while, do…while)
順序結(jié)構(gòu)
順序結(jié)構(gòu)是程序中最簡單最基本的流程控制,沒有特定的語法結(jié)構(gòu),按照代碼的先后順序,依次執(zhí)行,程序中大多數(shù)的代碼都是這樣執(zhí)行的。
順序結(jié)構(gòu)執(zhí)行流程圖
分支結(jié)構(gòu)之if語句
if格式一
if (關(guān)系表達(dá)式) {語句體; }-
執(zhí)行流程
①首先計(jì)算關(guān)系表達(dá)式的值
②如果關(guān)系表達(dá)式的值為true就執(zhí)行語句體
③如果關(guān)系表達(dá)式的值為false就不執(zhí)行語句體
④繼續(xù)執(zhí)行后面的語句內(nèi)容
-
代碼示例
public class IfDemo {public static void main(String[] args) {System.out.println("開始"); //定義兩個(gè)變量int a = 10;int b = 20; //需求:判斷a和b的值是否相等,如果相等,就在控制臺輸出:a等于bif(a == b) {System.out.println("a等于b");} //需求:判斷a和c的值是否相等,如果相等,就在控制臺輸出:a等于cint c = 10;if(a == c) {System.out.println("a等于c");} System.out.println("結(jié)束");} }
if格式二
if (關(guān)系表達(dá)式) {語句體1; } else {語句體2; }-
執(zhí)行流程
①首先計(jì)算關(guān)系表達(dá)式的值
②如果關(guān)系表達(dá)式的值為true就執(zhí)行語句體1
③如果關(guān)系表達(dá)式的值為false就執(zhí)行語句體2
④繼續(xù)執(zhí)行后面的語句內(nèi)容
-
代碼示例
public class IfDemo02 {public static void main(String[] args) {System.out.println("開始"); //定義兩個(gè)變量int a = 10;int b = 20;//需求:判斷a是否大于b,如果是,在控制臺輸出:a的值大于b,否則,在控制臺輸出:a的值不大于bif(a > b) {System.out.println("a的值大于b");} else {System.out.println("a的值不大于b");} System.out.println("結(jié)束");} } -
if語句案例:奇偶數(shù)
-
需求
任意給出一個(gè)整數(shù),請用程序?qū)崿F(xiàn)判斷該整數(shù)是奇數(shù)還是偶數(shù),并在控制臺輸出該整數(shù)是奇數(shù)還是偶數(shù)。
-
分析
? ①為了體現(xiàn)任意給出一個(gè)整數(shù),采用鍵盤錄入一個(gè)數(shù)據(jù)
? ②判斷整數(shù)是偶數(shù)還是奇數(shù)要分兩種情況進(jìn)行判斷,使用if…else結(jié)構(gòu)
? ③判斷是否偶數(shù)需要使用取余運(yùn)算符實(shí)現(xiàn)該功能 number % 2 == 0
? ④根據(jù)判定情況,在控制臺輸出對應(yīng)的內(nèi)容
-
代碼實(shí)現(xiàn)
import java.util.Scanner; public class IfTest01 {public static void main(String[] args) {//為了體現(xiàn)任意給出一個(gè)整數(shù),采用鍵盤錄入一個(gè)數(shù)據(jù)。(導(dǎo)包,創(chuàng)建對象,接收數(shù)據(jù))Scanner sc = new Scanner(System.in); System.out.println("請輸入一個(gè)整數(shù):");int number = sc.nextInt(); //判斷整數(shù)是偶數(shù)還是奇數(shù)要分兩種情況進(jìn)行判斷,使用if..else結(jié)構(gòu) //判斷是否偶數(shù)需要使用取余運(yùn)算符實(shí)現(xiàn)該功能 number % 2 == 0//根據(jù)判定情況,在控制臺輸出對應(yīng)的內(nèi)容if(number%2 == 0) {System.out.println(number + "是偶數(shù)");} else {System.out.println(number + "是奇數(shù)");} } }
-
if格式三
if (關(guān)系表達(dá)式1) {語句體1; } else if (關(guān)系表達(dá)式2) {語句體2; } … else {語句體n+1; }-
執(zhí)行流程
①首先計(jì)算關(guān)系表達(dá)式1的值
②如果值為true就執(zhí)行語句體1;如果值為false就計(jì)算關(guān)系表達(dá)式2的值
③如果值為true就執(zhí)行語句體2;如果值為false就計(jì)算關(guān)系表達(dá)式3的值
④…
⑤如果沒有任何關(guān)系表達(dá)式為true,就執(zhí)行語句體n+1。
-
代碼示例
鍵盤錄入一個(gè)星期數(shù)(1,2,…7),輸出對應(yīng)的星期一,星期二,…星期日
import java.util.Scanner; public class IfDemo03 {public static void main(String[] args) {System.out.println("開始");// 需求:鍵盤錄入一個(gè)星期數(shù)(1,2,...7),輸出對應(yīng)的星期一,星期二,...星期日Scanner sc = new Scanner(System.in);System.out.println("請輸入一個(gè)星期數(shù)(1-7):");int week = sc.nextInt();if(week == 1) {System.out.println("星期一");} else if(week == 2) {System.out.println("星期二");} else if(week == 3) {System.out.println("星期三");} else if(week == 4) {System.out.println("星期四");} else if(week == 5) {System.out.println("星期五");} else if(week == 6) {System.out.println("星期六");} else {System.out.println("星期日");} System.out.println("結(jié)束");} } -
if語句格式3案例
-
案例需求 TODO
小明快要期末考試了,小明爸爸對他說,會(huì)根據(jù)他不同的考試成績,送他不同的禮物,假如你可以控制小明的得分,請用程序?qū)崿F(xiàn)小明到底該獲得什么樣的禮物,并在控制臺輸出。
-
案例分析
? ①小明的考試成績未知,可以使用鍵盤錄入的方式獲取值
? ②由于獎(jiǎng)勵(lì)種類較多,屬于多種判斷,采用if…else…if格式實(shí)現(xiàn)
? ③為每種判斷設(shè)置對應(yīng)的條件
? ④為每種判斷設(shè)置對應(yīng)的獎(jiǎng)勵(lì)
-
案例代碼
import java.util.Scanner; public class IfTest02 {public static void main(String[] args) {//小明的考試成績未知,可以使用鍵盤錄入的方式獲取值Scanner sc = new Scanner(System.in); System.out.println("請輸入一個(gè)分?jǐn)?shù):");int score = sc.nextInt();//由于獎(jiǎng)勵(lì)種類較多,屬于多種判斷,采用if...else...if格式實(shí)現(xiàn)//為每種判斷設(shè)置對應(yīng)的條件//為每種判斷設(shè)置對應(yīng)的獎(jiǎng)勵(lì) //數(shù)據(jù)測試:正確數(shù)據(jù),邊界數(shù)據(jù),錯(cuò)誤數(shù)據(jù)if(score>100 || score<0) {System.out.println("你輸入的分?jǐn)?shù)有誤");} else if(score>=95 && score<=100) {System.out.println("山地自行車一輛");} else if(score>=90 && score<=94) {System.out.println("游樂場玩一次");} else if(score>=80 && score<=89) {System.out.println("變形金剛玩具一個(gè)");} else {System.out.println("胖揍一頓");}} } -
案例代碼
import java.util.Scanner; public class IfTest02 {public static void main(String[] args) {//小明的考試成績未知,可以使用鍵盤錄入的方式獲取值Scanner sc = new Scanner(System.in); System.out.println("請輸入一個(gè)分?jǐn)?shù):");int score = sc.nextInt();//由于獎(jiǎng)勵(lì)種類較多,屬于多種判斷,采用if...else...if格式實(shí)現(xiàn)//為每種判斷設(shè)置對應(yīng)的條件//為每種判斷設(shè)置對應(yīng)的獎(jiǎng)勵(lì) //數(shù)據(jù)測試:正確數(shù)據(jù),邊界數(shù)據(jù),錯(cuò)誤數(shù)據(jù)if(score>100 || score<0) {System.out.println("你輸入的分?jǐn)?shù)有誤");} else if(score>=95 && score<=100) {System.out.println("山地自行車一輛");} else if(score>=90 && score<=94) {System.out.println("游樂場玩一次");} else if(score>=80 && score<=89) {System.out.println("變形金剛玩具一個(gè)");} else {System.out.println("胖揍一頓");}} }
-
總結(jié)
以上是生活随笔為你收集整理的JAVAEE工程师技术课之第二课运算符.输入类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于实时计算(flink)打造舆情分析平
- 下一篇: 华为公司的管理者培养路径图