原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
看到這章,那么你已經掌握了java的基本的語法,現在可以來做點稍微高級的事情啦。判斷,是編程的最基本的邏輯,因此本章我們來講一講java的條件判斷。
在java中,最常用的條件判斷無非是if判斷語句,我們的if語句又有三種格式
int a = 1;
int b = 2;
if(a+b==3){
System.out.println("a+b等于3");
}
這段代碼運行的結果是a+b等于3,因為a+b運算結果為3,這個結果剛好等于3為true,因此程序進入了判斷的方法體內,執行了輸出語句。如果我們把b的值改為1:int a = 1;
int b = 1;
if(a+b==3){
System.out.println("a+b等于3");
}
運行結果是什么也沒有,那就說明方法體沒有被進入,輸出語句沒有執行。int a = 1;
int b = 1;
if(a+b==3){
System.out.println("a+b等于3");
}else{
System.out.println("a+b不等于3");
}
這段代碼運行的結果是a+b不等于3,因為判斷條件a+b=3的結果是false,所以執行了else下的內容。int a = 1;
int b = 0;
if(a+b==3){
System.out.println("a+b等于3");
}else if(a+b==2){
System.out.println("a+b等于2");
}else if(a+b==1){
System.out.println("a+b等于1");
}
這段代碼的執行結果是a+b等于1,由此可以看出這種格式的判斷是符合哪個條件就會執行下面的方法別的就不去執行了。當然,為了方便那種不符合任何條件的判斷,我們可以在最末尾加上一個else{執行的內容},如果前面所有的條件都不符合,則執行else下的內容。除了if語句,我們的判斷還有switch語句,格式如下:
switch (條件) {
case 值1:
要執行的內容
break;
case 值2:
要執行的內容
break;
…
default:
要執行的內容
break;
}
代碼如下:
int a = 1;
int b = 2;
switch (a+b) {
case 3:
System.out.println("a+b等于3");
break;
case 2:
System.out.println("a+b等于2");
break;
case 1:
System.out.println("a+b等于1");
break;
default:
System.out.println("都不是");
break;
}
這段代碼執行的結果是a+b等于3,我們目前可以手動改變ab的值來決定結果。
switch的執行效率要比if else執行的效率高。因此我們可以用在已知有固定結果的條件下進行判斷,代替if else,最后一個default是在沒有找到想要的值的時候執行的內容,是不是跟if else的邏輯非常像?另外,程序中的break;可不能少,這個break的作用是執行了想要的語句之后跳出循環,若沒有break,會繼續執行緊挨著的下一個case下的內容一直到遇到break或者到循環末尾。
三目運算:
格式為:
條件?結果為true是時執行:結果為fasle時執行
代碼如下:
int a = 1;
int b = 2;
int c = a>b?a:b;
System.out.println(c);
這段代碼的執行結果為2,它的意思是先判斷a是否大于b,如果a大于b就把a的值賦給c,反之,就把b的值賦給c。
三目運算本質上也是一種判斷并且的執行效率也比if else高,在一定的條件下可以代替if else語句。