JAVA學習筆記(4)
一、三目運算符
格式:表達式0 ? 表達式1 : 表達式2
表達式0,是一個布爾表達式,要得到一個布爾值。
Eg:
class Test
{
public static void main(String[] args)
{
int a = 777;
int b = 77;
System.out.println(a>b?a:b); //等價於 int c=a>b?a:b; System.out.println(a>b?a:b);
//a>b?a:b 不是語句,這個表達式運算完後得到的結果是a或者b
}
}
/*
運行結果:
D:\myjava\ja>java Test
777
*/
PS:(1)println()這個方法很強大,可以對應處理各種數據類型。println()有多個,如,println(int arg)、println(byte arg)、println(String arg)、println(char arg)、println(float arg) 等等 。
(2)print、printf、println的區別:a. print爲一般輸出,不能保留精度格式轉化,也不能換行輸出;
b. printf常用於格式轉換,但不是換行輸出,只用於精度轉換 ;
c. println爲換行輸出,不能用於格式轉換。
二、控制語句
-
if 語句
if(bool表達式) { java語句; java語句; ... } else if(bool表達式) { java語句; java語句; ... } else { java語句; java語句; ... }
-
switch語句
switch("值") { case "值1":java語句;java語句;break; case "值2":java語句;java語句;break; case "值3":java語句;java語句;break; ... default:java語句; }
說明:
switch:開關
switch ("值"):這個"值"只能是int型和String型,且 要求"值" 與 case後面跟的"值i"要匹配。
switch語句中,case是不必要的;default也是不必要的; break也是不必要的。如若沒有break語句,則會出現case穿透現象。
三、循環
-
for 循環
for(表達式1; 表達式2; 表達式3) { java語句; } for(表達式1; 表達式2; 表達式3) { for(表達式i; 表達式j; 表達式k) { java語句; } java語句; }
PS:(1)表達式1是初始化表達式,表達式2是判斷條件表達式,表達式3是更新表達式 。
(2)首先,初始化表達式(即表達式1)最先執行,且只執行一次。
(3)其次,判斷條件表達式(即表達式2)隨後執行,該表達式的結果是一個bool值,即 true or false 。 如果是true,執行循環體,循環體執行完畢之後進入下一步。
(4)最後,執行更新表達式(即表達式3)。更新表達式執行完畢之後,進入到第2 步,執行判斷條件表達式,直到判斷條件表達式的結果爲false, 循環執行完畢。
-
while 循環
while(表達式) { 循環體 }
-
do / while循環
do { 循環體 } while(表達式)
while 循環 和 do / while 循環 的區別:do/while 循環能夠保證至少執行一次循環;而 while 循環 則不一定,如果表達式的值爲假,則直接終止循環不進入循環。
四、break 與 continue
-
break語句
break語句可用於跳出所在的循環體。
(1)只能在循環體內和switch語句體內使用break;
(2)當break出現在循環體中的switch語句體內時,起作用只是跳出該switch語句體,並不能終止循環體的執行。 -
continue語句
continue語句的作用是跳過本次循環體中餘下尚未執行的語句,立即進行下一次的循環條件判定,可以理解爲僅結束本次循環。
注意:continue語句並沒有使整個循環終止。
以上。