三元運算符格式
(條件表達式)?表達式1:表達式2
如果條件為True,運算后得結果為表達式1
如果條件為False,運算后得結果為表達式2
示例:
獲取兩個數中的大數
int x =3,y=4,z;
z=(x>y)?x:y //z變量存儲的是兩個數的大數。
表達式就是具有一定語法規則的語句
語句:
1)循環結構
代表語句:while、do while、 for
while語句格式
while(條件表達式)
{
執行語句;
}
do while 語句格式:
do
{
執行語句;
}while(條件表達式);
while:先判斷條件,只有條件滿足才執行循環體
do while:先執行循環體,再判斷條件,條件滿足再繼續執行循環體
do while 特點是條件無論是否滿足,循環體至少被執行一次
2)判斷結構
if語句三種格式
1. 3.
if(條件表達式) if (條件表達式)
{ {
執行語句; 執行語句;
} }
else if (條件表達式)
2. {
if(條件表達式) 執行語句;
{ }
執行語句; else
} {
else 執行語句;
{ }
執行語句;
}
選擇結構
switch(表達式)
{
case 取值1:
執行語句;
break;
case 取值2:
執行語句;
break;
...
default:
執行語句;
break;
}
示例:
int x = 3; switch(x) { case 3: case 4: case 5: System.out.println(x+"春季"); break; case 6: case 7: case 8: System.out.println(x+"夏季"); break; case 9: case 10: case 11: System.out.println(x+"秋季"); break; case 9: case 10: case 11: System.out.println(x+"冬季"); break; }
if和switch語句很像
具體什么場景下,應用哪個語句呢?
如果判斷具體數值不多,而且符合byte short char 這4種類型
雖然兩個語句都可以使用,建議使用switch,因為效率稍高
其他情況:對區間判斷,對結果為boolean類型判斷,使用if,if的使用范圍更廣
switch 語句特點:
1)switch語句選擇的類型只有4種:byte,char,int,short
2)case之間與default沒有順序。先執行第一個case,沒有匹配的case執行default
3)結束switch語句的兩種情況:遇到break,執行到switch語句結束
4)如果匹配的case或者default沒有對應的break,那么程序會繼續向下執行,運行可以執行的語句,知道遇到break或者switch結尾結束