前面講了分支語句,其實分支語句還有一種switch,但是switch涉及到跳轉語句,所以這裏等我們講完跳轉語句再來講switch。
跳轉語句其實本質上就是圍繞着break;continue;return;這幾個關鍵字來談的
break:用於終止整個循環,與他類似的是continue,不過continue的話是結束本層;
return:全部結束掉!
結合switch來講吧:
switch(表達式){
case 常量1:
//將要執行的語句
...
case 常量n:
//將要執行的語句
default:
//默認的執行語句
}
對於這個,我們在工作中需要注意以下幾點:
1對於表達式的結果類型,目前來講只有char,short,int byte;枚舉類型,在面試中會問long可以嗎?答案是否定的
2對於上面的常量,值必須不能相同
3switch執行的語句是從滿足條件的case開始從上往下按順序執行的,如果你需要只執行滿足條件的case,那麼就要在對應的case下面的執行語句最後加上break,表示執行完了,結束整個循環
4default指的是所有case中常量值都不滿足表達式的值,他執行,這與if/else if /else中else有着異曲同工之妙
例子:
int num=3;
switch(num){
case 2:
System.out.println("輸出2");
case 3:
System.out.println("輸出3");
case 4:
System.out.println("輸出4");
case 5:
System.out.println("輸出5");
default:
System.out.println("輸出default");
}
大家可以講上面的代碼放到一個類的main方法中(所謂main方法就是隻在public static void main(String agrs[])這個方法)執行看到輸出結果,然後在每個輸出語句後面加上break;在看看結果,對比一下,結合上面所說的注意點,好好理解一下
對於continue,一般用在循環語句中用的比較多
所以我們再講講循環語句在來講continue
循環語句有for循環,while循環 do-while循環
首先是for循環:
for(變量的初始化A;循環的條件B;改變循環的條件C){
執行的語句D;
}
對於工作中的情況我們需要注意點:
1他的執行順序:ABDCBDCBDC.....直到不滿足條件B
2當ABC都爲空的時候,即什麼也不寫的時候,是一個死循環,死循環在java中要特別注意,雖然在以後我們用到的線程中會用到死循環
3如果在D中插入我們剛剛所講的break,那麼執行break後整個循環都會結束,插入continue的話,那麼continue後面的語句將不會在執行,直接去執行B,然後滿足條件繼續執行D,我們可以用下面的代碼來深入理解下
for(int i=0;i<10;i++){
if(i==2){
continue;
}
if(i==8){
break;
}
System.out.println("輸出的數字:"+i);
}
在這段代碼的執行結果我們可以發現,數字2不會輸出(continue結束本層循環),輸出數字7後,後面的89不會輸出了(break結束整個循環);
i++表示一個自增運算符,關於運算符大家可以到百度或者谷歌去查查,這裏就不講了;
while循環語句E與do-while語句F
while(條件){
滿足條件將要執行的語句
}
do{
將會執行的語句
}while(條件);
在工作中的注意點:
1從上面可以看到,while是隻有滿足條件纔會執行循環體,而do-while我們可以看到,無論什麼條件我們先執行一下循環體再說,然後看滿足while的條件嗎,滿足的話繼續執行循環體,否則不在執行循環體
2do-while的後面的那個while大家不要忽略了有一個分號
我們可以通過以下的代碼放到main方法中驗證一下:
int num=3;
while(num!=3){
System.out.println("執行while循環體");
}
do{
System.out.println("執行do-while循環體");
}while(num!=3);
自己可以去驗證下結果,就會明白上面所說的注意點了。
前面講到了跳轉語句有三個關鍵字,有個return 我們一直沒講,對於return在java中有兩個作用,一個是用於返回參數的關鍵字,在一個返回參數不是void的方法中,return是必有的;還有一個作用是今天要說的:代碼執行到此結束;
java中的控制語句我們一一分析了,其實在實際工作中,我們往往不會單獨的用到某一個控制語句,往往會多個控制語句一起使用,不過,只要我們掌握了他們的基本用法,知道怎麼每個控制語句該怎麼用,本質還是不變的,也就是所謂的萬變不離其宗,這也要求我們在工作中慢慢培養。慢慢總結!
ok,java的基礎的基礎基本上就這些,在java中有這麼一句話:萬事萬物皆對象,還有我們前面講的new,類等又是怎麼回事,下節我們將會爲你推開java的大門,理解這個面相對象編程的語句