# 5.คำสั่งพื้นฐาน

💬 หลังจากเราสร้างตัวแปรได้ละ คราวนี้เราลองเอาตัวแปรที่เราสร้างไว้มาลองเล่นกับมันดูหน่อยละกัน ซึ่งการที่เราจะเล่นกับตัวแปรของเราเราจะต้องรู้จัก**คำสั่งพื้นฐาน**ของมันก่อนนะ

ก่อนไปต่อ **ดช.แมวน้ำ** ขอทิ้งโจทย์เล่นๆไว้ 1 ข้อละกันนะว่า **2 + 12 / 2 x 3 - 1 ได้เท่าไหร่เอ่ย ?**

{% hint style="info" %}
กฎของคณิตศาสตร์กับกฎของคอมพิวเตอร์มันใช้กฎเดียวกันนะ ดังนั้นคำตอบมีเพียงหนึ่งเดียว คือคนร้ายอยู่ในกลุ่มพวกเรา ผมขอเอาชื่อ **คิงจูเลียต** เป็นเดิมพันเลย!!
{% endhint %}

{% hint style="info" %}
**คำสั่งพื้นฐาน** ในโลกของการเขียนโปรแกรมเราเรียกมันว่า **operator** นะ
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=gSkMqi5ydn4&list=PLUjAn8nwWnijERZ3HpzBk7NfSrau74_lQ&index=8>" %}

{% embed url="<https://www.youtube.com/watch?v=DS7DUAzybDE&list=PLUjAn8nwWnijERZ3HpzBk7NfSrau74_lQ&index=9>" %}

## 🎯 สรุปสั้นๆ

### 👨‍🚀 ชุดคำสั่งพื้นฐาน

| Operator | ความหมาย                                | ตัวอย่าง         |
| -------- | --------------------------------------- | ---------------- |
| =        | กำหนดค่าให้กับตัวแปรที่อยู่ด้านซ้ายมือ  | int money = 100; |
| +        | นำค่า 2 ตัวที่อยู่ใกล้กันมา **บวก** กัน | 10 + 5           |
| -        | นำค่า 2 ตัวที่อยู่ใกล้กันมา **ลบ** กัน  | 10 - 5           |
| \*       | นำค่า 2 ตัวที่อยู่ใกล้กันมา **คูณ** กัน | 10 \* 5          |
| /        | นำค่า 2 ตัวที่อยู่ใกล้กันมา **หาร** กัน | 10 / 5           |

{% hint style="warning" %}
ข้อมูลประเภทตัวเลข

* ไม่สามารถนำชนิดข้อมูลขนาดใหญ่ไปใส่ตัวแปรที่ชนิดข้อมูลมีขนาดเล็กกว่าได้
  {% endhint %}

{% hint style="warning" %}
ข้อมูลประเภท string

* ถ้าใช้คำสั่ง + จะเป็นการ**นำข้อมูลมาต่อกัน** เช่น "5" + 7 จะได้ผลลัพท์คือ "57"
* คำสั่ง - \* / จะไม่สามารถใช้กับ string ได้
  {% endhint %}

### 👨‍🚀 ชุดคำสั่งลัด

| Operator | ความหมาย                                                                               |
| -------- | -------------------------------------------------------------------------------------- |
| +=       | นำค่าทางขวามือไป**บวก**กับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้าน**ซ้ายมือ**เป็นค่านั้นๆเลย |
| -=       | นำค่าทางขวามือไป**ลบ**กับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้าน**ซ้ายมือ**เป็นค่านั้นๆเลย  |
| \*=      | นำค่าทางขวามือไป**คูณ**กับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้าน**ซ้ายมือ**เป็นค่านั้นๆเลย |
| /=       | นำค่าทางขวามือไป**หาร**กับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้าน**ซ้ายมือ**เป็นค่านั้นๆเลย |

### 👨‍🚀 ลำดับการทำงานของคณิตศาสตร์

เวลาเจอเครื่องหมายทางคณิตศาสตร์หลายๆตัวพร้อมๆกัน โปรแกรมจะไล่ทำตามลำดับของตารางด้านล่างนี้

| ลำดับที่ | เครื่องหมาย          |
| -------- | -------------------- |
| 1        | ( วงเล็บ )           |
| 2        | ++ หรือ -- (prefix)  |
| 3        | คูณ หาร              |
| 4        | บวก ลบ               |
| 5        | ++ หรือ -- (postfix) |

{% hint style="warning" %}
ในลำดับเดียวกัน ให้ดูว่าเราเจอเครื่องหมายไหนก่อนให้ทำตัวนั้นก่อน ไล่จากซ้ายไปขวา

เช่น 12 / 2 \* 3 กรณีนี้เจอ หาร ก่อน (จากซ้ายไปขวา) ดังนั้นคำตอบคือ 18
{% endhint %}

{% hint style="success" %}
**เฉลย** ที่ถามว่า **2 + 12 / 2 x 3 - 1 = ?** คำตอบคือ **19** นะจุ๊
{% endhint %}
