โครงสร้างแบบลำดับสามารถดำเนินการตามลำดับเท่านั้น และไม่สามารถตัดสินหรือเลือกได้ ดังนั้นจึงจำเป็นต้องมีโครงสร้างสาขา
Java มีโครงสร้างการแตกแขนง 2 โครงสร้าง:
คำสั่ง if ประกอบด้วยนิพจน์บูลีนและคำสั่งหนึ่งหรือหลายคำสั่ง
ไวยากรณ์ของคำสั่ง If เป็นดังนี้:
if(布尔表达式) { //如果布尔表达式为true将执行的语句}
ถ้านิพจน์บูลีนประเมินเป็นจริง บล็อกโค้ดในคำสั่ง if จะถูกดำเนินการ มิฉะนั้น โค้ดที่ตามหลังบล็อกคำสั่ง If จะถูกดำเนินการ
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是if 语句"); } } }
ผลลัพธ์ของการคอมไพล์และรันโค้ดข้างต้นมีดังนี้:
这是if 语句
คำสั่ง if สามารถตามด้วยคำสั่ง else เมื่อค่านิพจน์บูลีนของคำสั่ง if เป็นเท็จ คำสั่ง else จะถูกดำเนินการ
การใช้งาน if…else มีดังนี้
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是if 语句"); }else{ System.out.print("这是else 语句"); } } }
ผลลัพธ์ของการคอมไพล์และรันโค้ดข้างต้นมีดังนี้:
这是else 语句
คำสั่ง if สามารถตามด้วยคำสั่ง else if...else ซึ่งสามารถตรวจจับสถานการณ์ที่เป็นไปได้ได้หลากหลาย
เมื่อใช้คำสั่ง if, else if, else คุณต้องคำนึงถึงประเด็นต่อไปนี้:
รูปแบบไวยากรณ์ของ if...else เป็นดังนี้:
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码}else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码}else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码}else { //如果以上布尔表达式都不为true执行代码}
public class Test { public static void main(String args[]){ int x = 30; if( x == 10 ){ System.out.print("Value of X is 10"); }else if( x == 20 ){ System.out.print("Value of X is 20"); }else if( x == 30 ){ System.out.print("Value of X is 30"); }else{ System.out.print("这是else 语句"); } } }
ผลลัพธ์ของการคอมไพล์และรันโค้ดข้างต้นมีดังนี้:
Value of X is 30
การใช้คำสั่ง if-else แบบซ้อนเป็นเรื่องถูกกฎหมาย ซึ่งหมายความว่าคุณสามารถใช้คำสั่ง if หรือ else if ภายในคำสั่ง if หรือ else if อื่นได้
รูปแบบไวยากรณ์ if…else ที่ซ้อนกันจะเป็นดังนี้:
if(布尔表达式1){ ////如果布尔表达式1的值为true执行代码if(布尔表达式2){ ////如果布尔表达式2的值为true执行代码} }
คุณสามารถซ้อน else if...else ได้เหมือนกับคำสั่ง if
public class Test { public static void main(String args[]){ int x = 30; int y = 10; if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } } }
ผลลัพธ์ของการคอมไพล์และรันโค้ดข้างต้นมีดังนี้:
X = 30 and Y = 10
คำสั่ง switch กำหนดว่าตัวแปรมีค่าเท่ากับค่าในชุดค่าหรือไม่ แต่ละค่าเรียกว่าสาขา
รูปแบบไวยากรณ์ของสวิตช์มีดังนี้:
switch(expression){ case value : //语句break; //可选case value : //语句break; //可选//你可以有任意数量的case语句default : //可选//语句}
คำสั่ง switch มีกฎดังต่อไปนี้:
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); case 'F' : System.out.println("你需要继续努力"); break; default : System.out.println("无效等级"); } System.out.println("你的等级是" + grade); } }
ผลลัพธ์ของการคอมไพล์และรันโค้ดข้างต้นมีดังนี้:
良好你的等级是C