免費學習推薦:java基礎教程
- 1.用戶交互Scanner
- 2.順序結構
- 3.選擇結構
-
-
- if單選結構
- if雙選擇結構
- if多選擇結構
- 嵌套的if結構
- switch多選擇結構
-
1.用戶交互Scanner
- 之前我們學的基本語法中我們并沒有實現程序和人的交互,但是Java給我們提供了這樣一個工具類,我們可以獲取用戶的輸入。java.util.Scanner是Java5的新特性,
我們可以通過Scanner類來獲取用戶的輸入
- 基本語法
Scanner s = new Scanner(System.in);
- 通過Scanner類的next( )與nextLine( )方法獲取輸入的字符串,在讀取前我們一般需要使用hasNext( )與hasNextLine( )判斷是否還有輸入的數據。
程序最后記得輸入scanner.close()
關閉scanner,減少資源的占用
2.順序結構
- JAVA的基本結構就是順序結構,除非特別聲明,否則就按照順序一句一句執行。
- 順序結構是最簡單的結構算法。
- 語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,
它是任何一個短發都離不開的一種基本算法結構。
3.選擇結構
-
if單選結構
我們很多時候需要去判斷一個東西是否可行,然后我們采取執行,這樣一個過程在程序中用if語句表示
語法
if(布爾表達式){ //如果布爾表達式為true將執行的語句}
-
if雙選擇結構
場景:公司要收購一個軟件,成功了:給人支付100萬元,失敗了:自己找人開發。
在這種場景下用一個if就搞不定了,我們需要有兩個判斷,需要一個雙選擇結構(
if-else
)
語法:
if(布爾表達式){ //如果布爾表達式的值為true}else{ //如果布爾表達式的值為false}
-
if多選擇結構
場景:可能真實情況可能存在ABCD等多種選擇,存在區間多級判斷。比如90-100就是A,80-90就是B…,生活中我們有很多時候的選擇也不僅僅只有兩個,多以我們需要一個多選擇結構來處理這類問題!
語法:
if(布爾表達式1){ //如果布爾表達式 1的值為true,則執行}else if(布爾表達式2){ //如果布爾表達式 2的值為true,則執行}else if(布爾表達式3){ //如果布爾表達式 3的值為true,則執行}else{ //如果以上布爾表達式都不為true,執行代碼}
-
嵌套的if結構
使用嵌套的if…else語句是合法的。也就是說你可以在另一個if或者else if語句中使用if或者else if語句。你可以像if語句一樣嵌套else if…else。
語法:
if(布爾表達式1){ //如果布爾表達式 1的值為true,執行 if(布爾表達式2){ //如果布爾表達式 2的值為true,執行 }}
思考?我們需要尋找一個數,在1-100之間(提示:二分法)
-
switch多選擇結構
- 多選擇結構還有一個實現方式就是switch case語句。
- switch case語句判斷一個變量與一系列值中某個值是否相等,每個值成為一個分支。
- switch語句中的變量類型可以是:
- byte、short、int或者char
從Java SE 7開始,switch支持字符串String類型了
- 同時case標簽必須為字符串常量或字面量。
switch(expression){ case value: //語句 break; case value: //語句 break; //你可以有任意數量的case語句 default://可選 //語句}
順著文件找到我們當時寫代碼前建好的包,找到class文件
我們無法直接把文件從IDEA上粘貼上去,所以需要找到存放java文件的文件夾,直接把class文件放進去
總結:
-
每一個對象都有自己的hashCode,每一個字符中文都有它對應的hash值,然后IDEA通過hash值來判斷比較
-
代碼編譯以后,在字節碼他就是像(上圖)這樣執行的
-
直接把class文件丟到IDEA里面就可以查看他的源碼(簡單暴力的反編譯方法),如果想下一些其它的反編譯工具可以自行百度
-
多看源碼!