ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

Java - Decision Making

คำสั่งตัดสินใจ เป็นประโยคคำสั่งที่ใช้ควบคุมให้โปรแกรมเลือกดำเนินไปในเส้นทางใดเส้นทางหนึ่ง โดยขึ้นอยู่กับผลการตรวจสอบเงื่อนไข

คำสั่งตัดสินใจในภาษา Java ได้แก่

„- คำสั่ง if

„- คำสั่ง switch

คำสั่ง if..

Syntax

if(Boolean_expression)
{
//Statements will execute if the Boolean expression is true
}

การทำงาน : เริ่มต้นจะทำการตรวจสอบ condition ในวงเล็บ ผลการตรวจสอบจะได้ true หรือ false ถ้าเป็น true จะทำ statement แต่ถ้าเป็น false จะไปทำคำสั่งอื่นๆถัดไป

ตัวอย่าง

public class Test {
public static void main(String args[]){
int x = 10
if( x < 20)
{
System.out.print("This is if statement");
}
}
}

ผลการรัน

This is if statement

คำสั่ง if..else

Syntax

if(Boolean_expression){
//Executes when the Boolean expression is true
}else{
//Executes when the Boolean expression is false
}

ตัวอย่าง

public class Test {
public static void main(String args[]){
int x = 30;
if( x < 20)
{
System.out.print("This is if statement");
}else{
System.out.print("This is else statement");
}
}
}

ผลการรัน

This is else statement

คำสั่ง if.. else if.. else

if..else if..else เป็นคำสั่งในภาษา Java โดย if...else if...else ใช้สร้างเงื่อนไข โดยสามารถ else if กำหนดและสร้างทางเลือกได้หลายทาง และหลาย block โดยในแต่ล่ะ block สามารถสร้างเงื่อนไขของตัวเองได้

Syntax

if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
//Executes when the Boolean expression 3 is true
}else {
//Executes when the none of the above condition is 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("This is else statement");
}
}
}

ผลการรัน

Value of X is 30

คำสั่ง Nested if...else

Nested if...else เป็นคำสั่งในภาษา Java โดย Nested if...else ใช้สร้างเงื่อนไขซ้อนเงื่อนไข โดยเงื่อนไขทั้งสอง จะต้องเป็นจริง ถึงจะทำงานใน Statement ที่ต้องการ

Syntax

if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}
}

ตัวอย่าง

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 Case คือ คำสั่งสำหรับการสร้างเงื่อนไขแบบทำหลายทิศทาง ซึ่งจะไม่เหมือนกับ If - Then - Else Statement เพราะ Switch Statement นั้นจะสามารถทำได้หลายเงื่อนไขที่เป็นจริง ซึ่งสามารถทำงานกับชนิดข้อมูลต่าง ๆ เช่น byte, short, char, และ int primitive data types

ภาพรวมของ Switch Statement

1. ประกอบไปด้วย 3 คำสั่งหลัก ๆ คือ switch, case และ break

2. switch ใช้สำหรับระบุค่าที่ต้องการสร้างเงื่อนไข

3. case ใช้สำหรับระบุขั้นตอนการดำเนินงานในแต่ละทิศทาง

4. break ใช้สำหรับจบขั้นตอนการดำเนินงานในเหตุการณ์นั้น ๆ

5. ใช้คำสั่ง default เพื่อระบุถึงขั้นตอนการดำเนินงานที่ไม่พบทิศทางใด ๆ

ตัวอย่าง

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("Excellent!");
break;
case 'B' :
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}

ผลการรัน

Well done
Your grade is a C
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เมื่อมีโอกาสทำงาน...
โดย mindphp พฤ 21 มิ.ย. 2018 12:59 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
4
พฤ 21 มิ.ย. 2018 12:59 am โดย mindphp
R - รายละเอียดวิธีคิดต้นทุนสินค้า [2018-06][007]
โดย Rujikon พ 20 มิ.ย. 2018 8:06 pm บอร์ด Mindphp Task (ทดลองงาน)
0
1
พ 20 มิ.ย. 2018 8:06 pm โดย Rujikon
สอบถามเกี่ยวกับ onclick html
โดย AePongsak พ 20 มิ.ย. 2018 6:33 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
14
พ 20 มิ.ย. 2018 6:33 pm โดย AePongsak
B - ปุ่มปริ้น inv มี 2 ปุ่ม
โดย thatsawan พ 20 มิ.ย. 2018 6:25 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
พ 20 มิ.ย. 2018 6:25 pm โดย thatsawan
R - รายละเอียดวิธีคิดต้นทุนสินค้า [2018-06][007]
โดย Rujikon พ 20 มิ.ย. 2018 4:21 pm บอร์ด Hachanna - Testter
1
9
พ 20 มิ.ย. 2018 9:00 pm โดย Rujikon
B - หน้า Detail ช่องว่างด้านล่างเยอะไป
โดย AePongsak พ 20 มิ.ย. 2018 2:23 pm บอร์ด Doy-shop ( 15 พ.ค. - 29 พ.ค. 61)
0
4
พ 20 มิ.ย. 2018 2:23 pm โดย AePongsak
B - คลิกที่รูปแล้วไม่ไปหน้า Detail
โดย AePongsak พ 20 มิ.ย. 2018 2:20 pm บอร์ด Doy-shop ( 15 พ.ค. - 29 พ.ค. 61)
0
2
พ 20 มิ.ย. 2018 2:20 pm โดย AePongsak
B - กรอบหน้าดาวน์โหลดไม่โค้ง
โดย AePongsak พ 20 มิ.ย. 2018 2:11 pm บอร์ด Doy-shop ( 15 พ.ค. - 29 พ.ค. 61)
0
3
พ 20 มิ.ย. 2018 2:11 pm โดย AePongsak
B - ไม่เห็นตัวเลขที่ แบ่งหน้าสินค้า
โดย AePongsak พ 20 มิ.ย. 2018 2:07 pm บอร์ด Doy-shop ( 15 พ.ค. - 29 พ.ค. 61)
0
2
พ 20 มิ.ย. 2018 2:07 pm โดย AePongsak
B - ช่องสินค้ากว้างกว่าช่องอื่น
โดย AePongsak พ 20 มิ.ย. 2018 2:06 pm บอร์ด Doy-shop ( 15 พ.ค. - 29 พ.ค. 61)
0
2
พ 20 มิ.ย. 2018 2:06 pm โดย AePongsak
Q - ทำรูปภาพในหน้า order ให้เปลี่ยนสีตามที่เลือก
โดย Parichat พ 20 มิ.ย. 2018 11:17 am บอร์ด Joomla Dev
20
47
พ 20 มิ.ย. 2018 7:53 pm โดย Parichat
เข้าดู supplier แล้วเกิด error
โดย wilawan พ 20 มิ.ย. 2018 10:33 am บอร์ด บริษัท เซนิธ เบบี้ แคร์ จำกัด - Tester
4
9
พ 20 มิ.ย. 2018 11:05 am โดย thatsawan
งานประจำวันที่ 20 มิถุนายน 2561
โดย Rujikon พ 20 มิ.ย. 2018 10:43 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
2
10
พ 20 มิ.ย. 2018 6:20 pm โดย Rujikon
งานประจำวันที่ 20 มิถุนายน 2561
โดย taemmynatchapon พ 20 มิ.ย. 2018 10:42 am บอร์ด M063 - ณัชพล ชัยวุฒิ
1
5
พ 20 มิ.ย. 2018 7:38 pm โดย taemmynatchapon
B-ไม่สามารถดูข้อมูลใน Lead ได้
โดย watcharin พ 20 มิ.ย. 2018 10:14 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
พ 20 มิ.ย. 2018 10:14 am โดย watcharin
งานประจำวันที่ 20 มิถุนายน 2561
โดย Parichat พ 20 มิ.ย. 2018 9:48 am บอร์ด M061 - ปาริชาติ รัตโณภาส
1
2
พ 20 มิ.ย. 2018 7:47 pm โดย Parichat
งานประจำวันที่ 20 มิถุนายน 2561
โดย wilawan พ 20 มิ.ย. 2018 9:43 am บอร์ด M062 - วิลาวัณย์ นักษัตรมณฑล
3
15
พ 20 มิ.ย. 2018 5:58 pm โดย wilawan
ฺB - ทำไมไม่มีการคำนวณต้นทุนเงินบาทครับ [2018-06][006]
โดย Rujikon อ 19 มิ.ย. 2018 5:40 pm บอร์ด Hachanna - Testter
8
41
พ 20 มิ.ย. 2018 5:34 pm โดย Rujikon
Q - จัดรูปให้ติดกัน
โดย Parichat อ 19 มิ.ย. 2018 3:23 pm บอร์ด Joomla Dev
28
54
อ 19 มิ.ย. 2018 7:00 pm โดย Parichat
Q - สอบถามการตั้งค่า Access Right ของ User ใหม่สำหรับใช้งาน WH/CLM [2018-06][001]
โดย Rujikon อ 19 มิ.ย. 2018 3:53 pm บอร์ด อาร์ซีพี โกลบอล จำกัด - Tester
0
12
อ 19 มิ.ย. 2018 3:53 pm โดย Rujikon