Header Ads

  • Breaking News

    Assignment operator Assignment operator

    ตัวดำเนินการ ใช้สำหรับจัดการกับตัวแปรและค่าคงที่ ยกตัวอย่างเช่น การกำหนดค่า การเปรียบเทียบข้อมูล ตัวดำเนินการในภาษา Visual Basic นั้นมีหลายรูปแบบ
    นี่เป็นตัวดำเนินการในภาษา Visual Basic ที่คุณจะต้องทราบ

    Assignment operator
    ตัวดำเนินการกำหนดค่า (assignment operator) นั้นใช้เครื่องหมายเท่ากับ = มันใช้สำหรับกำหนดค่าให้กับตัวแปรหรือค่าคงที่
    Dim a As Integer = 10
    Dim b As Integer
    Dim c As Integer
    
    b = 3
    c = b + a
    
    Dim bool As Boolean = True
    ในตัวอย่าง เป็นการใช้ตัวดำเนินการในการกำหนดค่าให้กับตัวแปร โดยตัวดำเนินการกำหนดค่านั้นจะมี operand 2 ตัว โดยที่ expression ทางด้านขวาจะกำหนดค่าให้ทางด้านซ้าย ค่าที่กำหนดเป็นได้ทั้ง literal constant และในรูปแบบของ expression เช่น b + a

    Arithmetic operators

    ตัวดำเนินการคณิตศาตร์ ใช้เพื่อการกระทำทางคณิตศาสตร์ของตัวแปรและค่าคงที่เพื่อให้ได้ค่าใหม่ เช่น การบวกเลข และการลบเลข เป็นต้น
    ต่อไปนี้เป็นตารางแสดงตัวดำเนินการทางคณิตศาสตร์ในภาษา Visual Basic
    SymbolNameExample
    +Additionc = a + b
    -Subtractionc = a - b
    *Multiplicationc = a * b
    /Divisionc = a / b
    \Division no fractionc = a \ b
    ^Squarec = a ^ b
    ModModuloc = a Mod b
    ตัวดำเนินการ 4 ตัวแรกคุณคงจะคุ้นเคยอยู่แล้ว มันคือตัวดำเนินการพื้นฐานในวิชาคณิตศาสตร์ ในการเขียนโปรแกรมภาษา Visual Basic จะมีตัวดำเนินการเพิ่มอีกสองตัวคือ การยกกำลัง (^) และ modulo (มอดดูโล) เป็นตัวดำเนินการที่ใช้ในการหารเอาเศษ
    ต่อไปมาดูตัวอย่างการใช้ตัวดำเนินการทางคณิตศาสตร์ในภาษา Visual Basic
    Module ArithmeticOperators
    
        Sub Main()
    
            Dim a As Integer = 5
            Dim b As Integer = 3
    
            Console.WriteLine("a + b = " & (a + b))
            Console.WriteLine("a - b = " & (a - b))
            Console.WriteLine("a * b = " & (a * b))
            Console.WriteLine("a / b = " & (a / b))
            Console.WriteLine("a \ b = " & (a \ b))
            Console.WriteLine("a ^ b = " & (a ^ b))
            Console.WriteLine("a Mod b = " & (a Mod b))
    
        End Sub
    
    End Module
    ในตัวอย่าง เราได้ประกาศตัวแปร a และตัวแปร b และกำหนดค่าให้กับมัน ต่อมาเราได้ใช้่ตัวดำเนินการทางคณิตศาสตร์แบบต่างๆ กับตัวแปรทั้งสองและแสดงผลออกทางหน้าจอ
    a + b = 8
    a - b = 2
    a * b = 15
    a / b = 1.66666666666667
    a \ b = 1
    a ^ b = 125
    a Mod b = 2
    และนี่เป็นผลลัพธ์ของโปรแกรม
    ในภาษา Visual Basic เรามีตัวดำเนินการหารสองแบบคือ / คือการหารแบบปกติซึ่งจะได้เศษทศนิยมของการหารด้วย และ \ คือการหารที่จะได้ผลหารเป็น integer โดยตัดเศษทศนิยมทั้งหมดทิ้งไป
    ในตัวดำเนินการยกกำลัง 5 ^ 3 หมายถึงนำ 5 มาคูณกัน 3 ครั้งซึ่งจะได้คำตอบเป็น 125 และสำหรับตัวดำเนินการมอดดูโล a Mod b ได้คำตอบเป็น 2 นั้นเป็นเพราะว่าตัวดำเนินการมอดดูโลเป็นการหารเอาเศษ ซึ่ง 5 หารด้วย 3 จะได้คำตอบเป็น 1 และมีเศษ 2

    Compound assignment

    Compound assignment เป็นการรวมของตัวดำเนินการใดๆ กับตัวดำเนินการกำหนดค่า (=) ที่ใช้สำหรับอัพเดทค่าให้กับตัวแปรโดยอ้างอิงจากค่าเดิมที่มีอยู่ เช่น การบวกเลขเพิ่มเข้าไปจากค่าเดิม หรือกล่าวอีกนัยหนึ่ง มันสามารถเป็นรูปแบบย่อในการใช้ตัวดำเนินการทางคณิตศาสตร์
    OperatorExampleEquivalent to
    +=a += 3a = a + 3
    -=a -= 3a = a - 3
    *=a *= 3a = a * 3
    /=a /= 3a = a / 3
    \=a \= 3a = a \ 3
    ^=a ^= 3a = a ^ 3
    <<=a <<= 3a = a << 3
    >>=a >>= 3a = a >> 3
    ในตารางเป็นตัวดำเนินการแบบต่างๆ และนี่เป็นตัวอย่างของโปรแกรมที่ใช้งานตัวดำเนินการ compound assignment
    Module CompoundAssignment
    
        Sub Main()
    
            Dim a As Integer = 10
    
            Console.WriteLine("a = " & a)
            a += 10
            Console.WriteLine("a = " & a)
            a += 10
            Console.WriteLine("a = " & a)
    
            Dim b As Double = 8.5
            Console.WriteLine("b = " & b)
            b -= 0.5
            Console.WriteLine("b = " & b)
            b -= 0.5
            Console.WriteLine("b = " & b)
    
        End Sub
    
    End Module
    ในตัวอย่าง โปรแกรมของเราทำการเพิ่มค่า a จากการเริ่มต้นของมันทีละ 10 โดยที่เราไม่จำเป็นต้องเขียนในรูปแบบเต็ม เช่น a = a + 10 ทำให้การเขียนโปรแกรมสะดวกมากขึ้น และต่อมาเราทำการลดค่าของ b ลงทีละ 0.5 โดยตัวดำเนินการ -=
    a = 10
    a = 20
    a = 30
    b = 8.5
    b = 8
    b = 7.5
    นี่เป็นผลลัพธ์ของโปรแกรมในการใช้ตัวดำเนินการ compound assignment

    Comparison Operators

    ตัวดำเนินการเปรีบเทียบ (comparison operators) คือตัวดำเนินการที่ใช้สำหรับเปรียบเทียบตัวแปรหรือค่าคงที่สองตัว ซึ่งจะได้ผลลัพธ์เป็น boolean คือ True หรือ False เท่านั้น มันมักจะใช้กับคำสั่งควบคุมหรือคำสั่งวนซ้ำเพื่อควบคุมการทำงานของโปรแกรม
    นี่เป็นตารางแสดงตัวดำเนินการเปรีบเทียบในภาษา Visual Basic
    OperatorExampleResult
    =a = bTrue if a equal to b, otherwise False
    <>a <> bTrue if a not equal to b, otherwise False
    <a < bTrue if a less than b, otherwise False
    <=a <= bTrue if a less than or equal to b, otherwise False
    >a > bTrue if a greater than b, otherwise False
    >=a >= bTrue if a greater than or equal to b, otherwise False
    ต่อไปมาดูตัวอย่างการใช้งานดำเนินการเปรีบเทียบในรูปแบบต่างๆ
    Module ComparisonOperators
    
        Sub Main()
    
            Dim result As Boolean = 3 < 4
            Console.WriteLine("3 < 4 is " & result)
    
            Dim result2 As Boolean = (10 = 5)
            Console.WriteLine("10 = 5 is " & result2)
    
            ' Using with the If statement
            Const ADMIN_NAME As String = "MATEO"
            Dim name = "DANNY"
    
            If (name <> ADMIN_NAME) Then
                Console.WriteLine("You are not an admin.")
            End If
    
        End Sub
    
    End Module
    ในตัวอย่าง เป็นโปรแกรมในการใช้ตัวดำเนินการเปรียบเทียบ โดยในสองตัวแปรแรก resultและ result2 เราประกาศค่าเป็น boolean เพราะว่าผลลัพธ์จากตัวดำเนินการเปรียบเทียบนั้นจะเป็น boolean เสมอ เราเรียกผลลัพธ์ที่ได้จากตัวดำเนินการเปรียบเทียบว่า expression
    ต่อมาเราใช้ตัวดำเนินการเปรียบเทียบกับคำสั่งเงื่อนไข If คุณจะได้เรียนภายหลัง โปรแกรมจะทำงานในบล็อคของคำสั่ง If ถ้าหาก expression เป็นจริง นั่นหมายถึง ถ้าค่าของ name ไม่เท่ากับ ADMIN_NAME เราจะแสดงข้อความบอกว่า "You are not an admin."
    3 < 4 is True
    10 = 5 is False
    You are not an admin.
    และนี่เป็นผลลัพธ์ของโปรแกรม

    Logical operators

    ตัวดำเนินการตรรกศาสตร์ (logical operators) ใช้สำหรับประเมิน expression ย่อยที่เกิดจากตัวดำเนินการเปรียบเทียบสอง expression และจะได้ผลลัพธ์เป็น boolean expression มันใช้ในกรณีที่โปรแกรมมีมากกว่าหนึ่งเงื่อนไข หรือการสร้างเงื่อนไขที่ซับซ้อนขึ้นกว่าเดิม
    ต่อไปนี้เป็นตารางแสดงตัวดำเนินการตรรกศาตร์ในภาษา Visual Basic
    OperatorExampleDescription
    NotNot aInvert True to False, False to True
    Anda And bTrue if both a and b are true, False otherwise
    Ora or bTrue if at least one a or b is true, False otherwise
    Xora Xor bTrue if a and b different, False otherwise
    AndAlsoa AndAlso bTrue if both a and b are true, False otherwise
    OrElsea OrElse bTrue if at least one a or b is true, False otherwise
    ในภาษา Visual Basic มีตัวดำเนินการตรรกศาสตร์ทั้งสิ้น 6 แบบ มาดูตัวอย่าง
    Module LogicalOperators
    
        Sub Main()
    
            ' Using not operator
            Dim isProgrammer As Boolean = True
            Console.WriteLine("Are you a programmer? " & Not isProgrammer)
    
            ' Using And operator
            Dim username As String = "superadmin"
            Dim password As String = "12345678"
            If username = "superadmin" And password = "12345678" Then
                Console.WriteLine("Username and password is correct.")
            Else
                Console.WriteLine("Username or password is not correct.")
            End If
    
            ' Using Or operator
            Dim money As Integer = 5
            Dim age As Integer = 18
            If money > 20 Or age > 13 Then
                Console.WriteLine("You can watch this movie.")
            Else
                Console.WriteLine("You can not watch this movie.")
            End If
    
            ' Using Xor operator
            Console.WriteLine("True Xor True = " & (True Xor True))
            Console.WriteLine("False Xor False = " & (False Xor False))
            Console.WriteLine("True Xor True = " & (True Xor False))
    
        End Sub
    
    End Module
    ในตัวอย่าง เป็นการใช้ตัวดำเนินการแบบต่างๆ สำหรับตัวดำเนินการ Not นั้นจะทำการกลับค่า expression เป็นค่าที่ตรงกันข้ามคือจาก True เป็น False และจาก False เป็น True ในคำสั่ง Not isProgrammer นั้นจะกลับค่าในตัวแปรให้เป็นตรงข้ามซึ่งก็คือ False
    If username = "superadmin" And password = "12345678" Then
    ต่อมาเป็นการใช้ตัวดำเนินการ And ในเงื่อนไขของคำสั่ง If นั่นคือทั้ง username และ passwordต้องมีค่าเท่ากับที่ใช้ในตัวดำเนินการเปรียบเทียบ โปรแกรมจึงจะทำในบล็อคคำสั่งของ If
    If money > 20 Or age > 13 Then
    ต่อมาเป็นการใช้ตัวดำเนินการ And ในเงื่อนไขของคำสั่ง If ต้องมีอย่างน้อยหนึ่งตัวที่ทำให้ได้ expression ที่เป็นจริง นั่นคือหาก money มากกว่า 20 หรือ age มากกว่า โปรแกรมจะบอกว่าคุณสามารถดูภาพยนตร์เรื่องนี้ได้
    สุดท้ายเป็นการใช้ตัวดำเนินการ Xor โดยตัวดำเนินการนี้จะได้ผลลัพธ์เป็น True ถ้าหาก expression ย่อยต่างกัน และให้ผลลัพธ์ False ถ้าหากเหมือนกัน
    ยังมีตัวดำเนินการอีกสองตัวคือ AndAlso และ OrElse เป็นตัวดำเนินการอีกประเภทหนึ่งของ And และ Or ซึ่งจะทำงานได้เร็วกว่า ในกรณีที่มี expression เรียงต่อกันหลายตัว ยกตัวอย่างเช่น
    If expression1 AndAlso expression2 AndAlso expression2... Then
        ...
    
    If expression1 OrElse expression2 OrElse expression2... Then
        ...
    ในตัวอย่าง ตัวดำเนินการ AndAlso ถ้า expression1 เป็น False โปรแกรมจะข้ามการทำงานในบล็อคคำสั่งของ If ไปทันที โดยที่ไม่ตรวจ expression ที่เหลือ สำหรับตัวดำเนินการ OrElse ถ้า expression1 มีค่าเป็น True โปรแกรมจะทำงานในบล็อคคำสั่ง If ทันทีโดยไม่ตรวจสอบคำสั่งที่เหลือ
    ด้วยเหตุนี้เองทำให้ตัวดำเนินการ AndAlso และ OrElse ทำงานได้เร็วกว่าตัวดำเนินการ And และ Or ซึ่งจะต้องทำการทุกๆ expression

    Bitwise operators

    ตัวดำเนินการระดับบิต ใช้สำหรับการเปรียบเทียบลำดับของบิตของตัวแปรที่แสดงในรูปแบบของตัวเลขฐานสอง ซึ่งเป็นฐานที่คอมพิวเตอร์สามารถเข้าใจและทำงานได้ สำหรับมนุษย์นั้นเราใช้ฐานสิบ เพราะมันเข้าใจได้ง่ายกว่า ตัวดำเนินการระดับบิตใช้เครื่องหมายเดียวกับตัวดำเนินการตรรกศาสตร์ ซึ่งในภาษา Visual Basic มี 4 ตัว
    ต่อไปนี้เป็นตารางแสดงตัวดำเนินการระดับบิตในภาษา Visual Basic
    OperatorDescription
    NotInvert 1 to 0, 0 to 1
    And1 if both a and b are 1, 0 otherwise
    Or1 if at least one a or b is 1, 0 otherwise
    Xor1 if a and b different, 0 otherwise
    เช่นเดียวกันกับตัวดำเนินการตรรกษสาตร์ ในตัวดำเนินการระดับบิตใช้ค่า True เป็น 1 และค่า False เป็น 0 ซึ่งเป็นตัวเลขที่มีในฐานสอง
    Dim x As Integer
    x = 3 And 5
    ในตัวอย่าง เราได้ใช้ตัวดำเนินการระดับบิตกับเลข Integer คือ 5 และ 3 ซึ่งในการทำงานของตัวดำเนินการนั้นจะเกิดการแปลงเลขทั้งสองให้อยู่ในรูปเลขฐานสองจะได้ 101 และ 011 ตามลำดับ หลังจากนั้นนำบิตแต่ละนำแหน่งที่ตรงกันของตัวแปรทั้งสองมาประเมินด้วยตัวดำเนินการ And ซึ่งจะได้เป็น 001 ซึ่งมีค่าเท่ากับ 1 ในฐานสิบ ดังนั้นตัวแปร x จะมีค่าเท่ากับ 1

    String Concatenation Operator

    String concatenation operator เป็นตัวดำเนินการในการนำ string มาเชื่อมต่อกัน ซึ่งใช้สัญลักษณ์ & ผลลัพธ์ที่ได้จะได้ string ใหม่ที่เกิดจากการต่อกันของ string ทั้งหมด
    Module StringConcatenationOperator
    
        Sub Main()
    
            Dim name As String = "Marcus"
            Dim newString As String = name & "Code"
            Console.WriteLine(newString)
    
            Dim tutorial As String = name & "Code" & " Tutorial"
            Console.WriteLine(tutorial)
            Console.WriteLine(tutorial & " " & 2016)
    
        End Sub
    
    End Module
    ในตัวอย่างเป็นการเชื่อมต่อ string โดยสามารถต่อกันได้ตั้งแต่ 2 ตัวขึ้นไป และการต่อ string นั้นสามารถต่อกับข้อมูลประเภทอื่นได้ เช่น ตัวเลข หรือ boolean ผลลัพธ์ทีไ่ด้คือค่าเหล่านั้นจะถูกแปลงไปเป็น string อัตโนมัติ
    MarcusCode
    MarcusCode Tutorial
    MarcusCode Tutorial 2016
    และนี่เป็นผลลัพธ์ของโปรแกรม
    นอกจากนี้ในการต่อ string ยังสามารถใช้เครื่องหมายบวก + ซึ่งเป็น Overload operator ที่ใช้กับ string ในการใช้เครื่องหมายนี้ข้อมูลที่นำมาต่อต้องเป็นประเภท string ทั้งหมด
    "Marcus" + "Code" ' Valid
    "Marcus" + 2016 ' Not valid
    ในการต่อแบบที่สองไม่สามารถใช้ตัวดำเนินการ + ได้เพราะมีข้อมูลที่เป็นตัวเลข อย่างไรก็ตามในการต่อ string หรือว่าตัวเลข คุณควรจะใช้ตัวดำเนินการ & ซึ่งมันสามารถใช้ได้กับข้อมูลทุกประเภท

    ลำดับความสำคัญของตัวดำเนินการ

    ในภาษา Visual ฺBasic มีลำดับความสำคัญของตัวดำเนินการ ที่โปรแกรมจะใช้ประเมินกว่าตัวดำเนินการไหนจะถูกทำก่อนซึ่งมีลำดับจากสูงสุดไปต่ำสุดดังนี้ Await, ^, sign +, –, *, /, \, Mod, +, –, &, <<, >>, =, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf...Is, Not, And, AndAlso, Or, OrElse, Xor ตามลำดับ ถ้าคุณต้องการให้ expression ใดๆ ทำก่อนคุณสามารถใส่วงเล็บ () เพื่อกำหนดความสำคัญเองได้
    ในบทนี้คุณได้เรียนรู้เกี่ยวกับตัวดำเนินการในภาษา Visual Basic รวมถึงวิธีและตัวอย่างในการใช้ตัวดำเนินการประเภทต่างๆ

    ที่มา http://marcuscode.com/lang/visual-basic/operators
    Assignment operator

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

    แอร์รถยนต์

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728