วันอาทิตย์ที่ 4 กันยายน พ.ศ. 2559

Flow Control 1 - Boolean และ Expression

Flow Control

 ผมขอเกริ่นถึงเรื่องการควบคุม Flow การรันของโปรแกรมก่อนนะครับ อย่างที่ทราบกันดีอยู่แล้วว่าโปรแกรมจะรัน Code จากบนลงล่าง มันจะรันลงไปทีละบรรทัดต่อกันไปเรื่อยๆ

Flow Control คือ สิ่งที่ช่วยเปลี่ยนพฤติกรรมการรันของโปรแกรมครับ ซึ่งจะมีอยู่ 2 เรื่องใหญ่ๆ คือ
  • Conditional Statement คือ การเลือก Code ที่จะรัน หรือไม่รัน
  • Looping คือ การทำซ้ำ

แต่ก่อนที่จะเริ่มต้นศึกษา Flow Control เราจะต้องทำความเข้าใจ Boolean กับ Expression กันก่อนครับ ซึ่งก็จะเป็นเนื้อหาหลักในวันนี้

Boolean

อันดับแรกเราต้องมาทำความเข้าใจชนิดของตัวแปรอีกแบบหนึ่งใน ActionScript 3.0 ที่เรียกกันว่า Boolean ครับ ตัวแปรชนิด Boolean นั้นจะสามารถเก็บค่าได้แค่ 2 ค่าเท่านั้น ซึ่งก็คือ true และ false หรือก็คือ ใช่ และ ไม่ใช่ นั่นเองครับ

ตัวอย่างที่ 1

var b1:Boolean = true;
trace(b1);
var b2:Boolean = false;
trace(b2);

Output
true
false

รูปประกอบ





เจ้าตัวแปร Type Boolean นั้นอยู่เฉยๆ ของมันจะไม่มีประโยชน์อะไรเลยครับ แต่มันจะกลายเป็นสิ่งจำเป็นขึ้นมาทันทีเมื่อเราต้องการจะใช้ Conditional Statement

Expression

Expression ในเชิง Programming หมายถึง Code ของโปรแกรมที่สามารถประมวลผลออกมาได้ผลลัพธ์มีค่าเป็น true หรือ false โดยการใช้ Operator ประเภท Comparison และ Logical ช่วยในการประมวลผล

Operator คืออะไร? มันก็คือเครื่องหมายนั่นเองครับ และเราก็เคยใช้กันมาแล้วด้วย เช่น
  • Arithmetic Operators ได้แก่ +, -, *, /, ++, --
  • Assignment Operators ได้แก่ =, +=, -=, *=, /=

Comparison Operators

ทีนี้ Comparison Operators มีอะไรบ้างหละ ก็ตามด้านล่างนี้เลยครับ
  • ==   มีค่าเท่ากับ
  • !=   มีค่าไม่เท่ากับ
  • >          มีค่ามากกว่า
  • >=   มีค่ามากกว่าหรือเท่ากับ
  • <    มีค่าน้อยกว่า
  • <=      มีค่าน้อยกว่าหรือเท่ากับ
 
ตัวอย่างที่ 2

var b1:Boolean = 10 == 10;
var b2:Boolean = 10 != 11;
var b3:Boolean = 5 > 3;
var b4:Boolean = 5 >= 5;
var b5:Boolean = 3 < 5;
var b6:Boolean = 3 <= 5;
trace(b1, b2, b3, b4, b5, b6);

Output
true true true true true true

รูปประกอบ

Recap
ไอ้เจ้า Code 10 == 10 หรือ 10 != 10 พวกนี้แหละครับคือ Expression
10 == 10 >>> 10 มีค่าเท่ากับ 10 >>> ใช่ >>> true
10 != 11 >>> 10 มีค่าไม่เท่ากับ 11 >>> ใช่ >>> true
5 > 3 >>> 5 มีค่ามากกว่า 3 >>> ใช่ >>> true
5 >= 5 >>> 5 มีค่ามากกว่าหรือเท่ากับ 5 >>> ใช่ >>> true
3 < 5 >>> 3 มีค่าน้อยกว่า 5 >>> ใช่ >>> true
3 <= 5 >>> 3 มีค่าน้อยกว่าหรือเท่ากับ 5 >>> ใช่ >>> true


ตัวอย่างที่ 3

var b1:Boolean = 10 == 15;
var b2:Boolean = 10 != 10;
var b3:Boolean = 5 > 10;
var b4:Boolean = 5 >= 6;
var b5:Boolean = 3 < 1;
var b6:Boolean = 3 <= 2;
trace(b1, b2, b3, b4, b5, b6);

Output
false false false false false false

รูปประกอบ


Recap
10 == 15 >>> 10 มีค่าเท่ากับ 15 >>> ไม่ใช่ >>> false
10 != 10 >>> 10 มีค่าไม่เท่ากับ 10 >>> ไม่ใช่ >>> false
5 > 10 >>> 5 มีค่ามากกว่า 10 >>> ไม่ใช่ >>> false
5 >= 6 >>> 5 มีค่ามากกว่าหรือเท่ากับ 6 >>> ไม่ใช่ >>> false
3 < 1 >>> 3 มีค่าน้อยกว่า 1 >>> ไม่ใช่ >>> true
3 <= 2 >>> 3 มีค่าน้อยกว่าหรือเท่ากับ 2 >>> ไม่ใช่ >>> false


Logical Operators

ส่วนของ Logical Operators มีตามนี้ครับ
  • && (AND)  ตรวจสอบว่าค่าทั้งด้านซ้ายและด้านขวาของเครื่องหมายคือ true
  • || (OR)   ตรวจสอบว่าอย่างน้อยมีค่าด้านใดด้านหนึ่งเป็น true (หรือทั้งสองด้านก็ได้)
  • !  (NOT)     แปลงกลับค่าจาก true เป็น false จาก false เป็น true
เครื่องหมาย ! (NOT) นั้นเวลาใช้จะวางอยู่ด้านหน้าของตัวแปรหรือวางอยู่ด้านหน้า Expression อีกทีก็ได้ครับ


ตัวอย่างที่ 4

var money:Number = 10;
var b1:Boolean = (money > 0) && (money < 100);
money = -10;
var b2:Boolean = (money > 0) && (money < 100);
money = 150;
var b3:Boolean = (money > 0) && (money < 100);
trace(b1, b2, b3);

Output
true false false

รูปประกอบ


Recap
(10 > 0) && (10 < 100) >>>>> true && true >>>>> true
(-10 > 0) && (-10 < 100) >>>>> false && true >>>>> false
(150 > 0) && (150 < 100) >>>>> true && false >>>>> false



ตัวอย่างที่ 5

var isAge18Up:Boolean = true;
var isMember:Boolean = true;
var canPass1:Boolean = isAge18Up || isMember;
isAge18Up = false;
var canPass2:Boolean = isAge18Up || isMember;
isMember = false;
var canPass3:Boolean = isAge18Up || isMember;
isAge18Up = true;
var canPass4:Boolean = isAge18Up || isMember;
trace(canPass1, canPass2, canPass3, canPass4);

Output
true true false true

รูปประกอบ

 Recap
โปรแกรมนี้หมายความว่าขอให้มีอายุ 18 ปีขึ้นไปหรือแค่มีบัตรสมาชิกก็เข้าได้แล้วครับ

true || true >>>>> true
false || true >>>> true
false || false >>>> false
true || false >>>>> true


ตัวอย่างที่ 6

var isRunning:Boolean = true;
var isWalking:Boolean = !isRunning;
trace(isRunning, isWalking);
isRunning = false;
isWalking = !isRunning;
trace(isRunning, isWalking);

Output
true false
false true

รูปประกอบ

 Recap
โปรแกรมนี้ตัวแปร isWalking จะคอยปรับค่าให้เป็นตรงกันข้ามกับ isRunning ครับ


วันนี้หวังว่าคุณจะเข้าใจ Boolean และ Expression รวมถึง Operator ต่างๆ ที่ใช้ในการ Evaluate ผลลัพธ์ออกมาเป็น true หรือ false นะครับ

แล้วพบกันใหม่ในเรื่อง Conditional Statement ครับผม

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...