JavaSE
流程控制
1.用户交互Scanner
- 基本語法:Scanner s = nwe Scaneer(System.in);
- 通過Scanner類的next()與nextLine()方法獲取輸入的字符串,在讀取之前一般使用hasNext()與hasNextLine()判斷是否還有輸入的數據
1.next()
- 一定要讀取到有效字符後才可以結束輸入
- 對輸入的有效字符之前遇到的空白,next()方法會自動將其去掉
- 只有輸入有效字符後,將其後面的空白作為分隔符或結束符
- next()方法不能得到帶有空格的字符串
2.nextLine()
- 以Enter為結束符,返回回車之前的所有字符。(包括空格符號數字)
2.順序結構
- Java的基本結構是順序結構
- 順序結構是最簡單的算法結構
- 語句與語句之間,框與框之間是按從上下的順序進行的,它是任何一個算法離不開的一種基本算法
3.選擇結構
- if單選擇結構--語法
if(布爾值表達式){
//如果布爾值表達式為ture將執行語句
}
- if雙選擇結構---語法
if(布爾值表達式){
//如果布爾值表達式為ture
}else{
//如果布爾值表達式為false
}
- if多選擇結構---語法
if(布爾達式1){
//如果布爾表達式1的值為ture執行代碼
}else if(布爾達式2){
//如果布爾表達式2值為ture執行代碼
}else if(布爾達式3){
//如果布爾表達式3值為ture執行代碼
}else{
////如果以上布爾值表達式都不為ture將執行代碼
}
- 嵌套的if結構---語法
if(布爾表達式1){
//如果布爾表達式1的值為ture執行代碼
if(布爾表達式2){
//如果布爾表達式2的值為ture執行代碼
}
}
- switch多選擇結構--語法
switch(expression){
case value:
//語句
break;
case value:
//語句
break;
default :
//語句
}
4.循環結構
while 循環----基本循環
while(布爾表達式){
//循環內容
}
- 只要表達式為ture,循環會一直執行
- 大多數情況需要讓循環停下來,需要一個false表達式來結束循環
- 少部分情況需要一直循環,比如服務器的請求嚮應監聽等
- 循環一直為ture就會造成無限循環(死循環),正常業務編程中應該儘量避免死循環。影響程序性能或造成程序卡死奔潰。
do...while 循環
語句
do{
//語句
}while(布爾表達式);
-
while和do...while 的區別:
while先判斷後執行。do...while 先執行後判斷。
do...while總是保證循環體至少執行一次,這是它們的主要區別
for 循環
-
for循環語句是支持迭代的一種通用結構,是最有效,最靈活的循環結構
-
for循環執行的次數是在執行前就確定的。語法
for(初始化;布爾表達式;更新){ //代碼語句 }
增強for循環
Java增強for循環語法格式:
for(聲明語句:表達式){
//代碼語句
}
聲明語句:聲明新的局部變量,該變量的類型必須和數組元素的類相匹配。其作用域限定在循環語句塊,其值與此時數組的值相等
表達式:表達式要訪問的數組名,或返回值為數組的方法。
5.break & continu
break 在任何循環語句中的主體部分,均可用break 控制循環的流程過程。break用於強行退出循環,不執行循環中剩餘的語句。(break語句在switch語句中使用)
continue語句在循環語句體中,用於終止某次循環過程,即跳過循環體中本次語句,繼續進行下次循環語句。