任何複雜的邏輯均可以經過「順序」、「分支」、「循環」三種基本的程序結構來實現。分支結構:程序在運行中,根據不一樣的條件執行不一樣的語句。java
三種結構:spa
語法:blog
if(條件表達式){字符串
語句塊;it
}class
1)案例1,判斷一個整數是否是偶數效率
public class Test {
public static void main(String[] args){
int a = 4;
if(a%2==0){
System.out.println(a+"是偶數");
}
System.out.println("over");
}
}
語法:循環
if(條件表達式){ 語法
語句塊1;程序
}else{
語句塊2;
}
1)案例1,判斷一個整數是否是偶數,並輸出結果
public class Test {
public static void main(String[] args){
int a = 4;
if(a%2==0){
System.out.println(a+"是偶數");
}else{
System.out.println(a+"不是偶數");
}
System.out.println("over");
}
}
語法:
if(條件表達式1){
語句塊1;
}else if(條件表達式2){
語句塊2;
}else if(條件表達式3){
語句塊3;
}
1)案例1,判斷一個數是正數、負數或是0並輸出結果
public class Test {
public static void main(String[] args){
int a = 4;
if(a>0){
System.out.println(a+"是正數");
}else if(a<0){
System.out.println(a+"是負數");
}else if(a==0){
System.out.println(a+"是0");
}
System.out.println("over");
}
}
一種特殊的分支結構,只能用於判斷整數,能夠根據一個整數表達式的不一樣值,從不一樣程序入口開始執行,須要和break配合使用,執行完相應的語句後則退出switch塊,不執行下面的語句。
若是不加break,則會在知足條件後,將該條件下面的其餘條件的語句塊一塊兒按順序輸出,直到遇到break或}中止,以下案例2。
default選項能夠不寫,也不是必須放在後一個(建議放最後),默認匹配完全部條件後不匹配的狀況下才會執行default語句,default能夠不寫break,以下案例3。
語法:
switch(判斷整數){
case 1:
語句塊1;
break;
case 2:
語句塊2;
break;
case 3:
語句塊3;
break;
default:
語句塊4;
break;
}
1)案例1
public class Test {
public static void main(String[] args){
int a = 4;
switch(a){
case 1:
System.out.println("A");
break;
case 2:
System.out.println("B");
break;
case 3:
System.out.println("C");
break;
default:
System.out.println("D");
break;
}
}
}
/*
運行結果:D
*/
2)案例2,不加break的狀況
public class Test {
public static void main(String[] args){
int a = 2;
switch(a){
case 1:
System.out.println("A");
break;
case 2:
System.out.println("B");
case 3:
System.out.println("C");
default:
System.out.println("D");
}
}
}
/*
運行結果:
B
C
D
*/
3)案例3,default不寫在最後,default須要加break,以下狀況
public class Test {
public static void main(String[] args){
int a = 4;
switch(a){
default:
System.out.println("D");
case 1:
System.out.println("A");
break;
case 2:
System.out.println("B");
break;
case 3:
System.out.println("C");
break;
}
}
}
/*
運行結果:
D
A
*/
1)優勢:
2)缺點:
3)案例1,判斷字符串
public class Test {
public static void main(String[] args){
String sng = "B";
switch(sng){
case "A":
System.out.println("A");
break;
case "B":
System.out.println("B");
break;
default:
System.out.println("C");
break;
}
}
}
/*
運行結果:B
*/
4)案例2,判斷字符
public class Test {
public static void main(String[] args){
char sng = 'B';
switch(sng){
case 'A':
System.out.println("A");
break;
case 'B':
System.out.println("B");
break;
default:
System.out.println("C");
break;
}
}
}
/*
運行結果:B
*/