All pages
Powered by GitBook
1 of 15

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

พื้นฐาน

ระดับมัธยม

ความรู้พื้นฐานที่ในระดับมือใหม่ควรจะต้องรู้ เชื่อไหมว่าถ้าเข้าใจเนื้อหา พื้นฐาน ทั้งหมดนี่ได้จริงๆก็สามารถเขียนโปรแกรมส่วนใหญ่ 70% ได้แล้ว 😍

1.โปรแกรมที่ต้องลง2.โครงสร้างของโค้ด3.ชนิดของข้อมูล4.การสร้างตัวแปร5.คำสั่งพื้นฐาน6.การแปลงข้อมูล7.การเปรียบเทียบค่า8.การตัดสินใจด้วย IF statements9.การตัดสินใจด้วย Switch statements10.การทำงานซ้ำๆด้วย While11.การทำงานซ้ำๆด้วย Do While12.การทำงานซ้ำๆด้วย For13.การแก้โจทย์จากรูป14.มารู้จักกับ Array กัน

1.โปรแกรมที่ต้องลง

💬 ในการเขียนภาษา C# เราจะต้องติดตั้งโปรแกรมนิดโหน่ย เพื่อให้เครื่องคอมเราทำงานด้วยได้นะฮ๊าฟ ซึ่งโปรแกรมที่ต้องติดตั้ง ดช.แมวน้ำ ขอแนะนำ 2 ตัวนี้นะ (เลือกแค่ตัวเดียวก็พอนะ แต่ถ้าอยากลงทั้งคู่ก็ไม่เป็นไรแค่เปลืองพื้นที่เจ๋ยๆ)

Visual Studio Community

เหมาะสำหรับคนที่ใช้งานจริงจัง ลงตัวนี้ตัวเดียวจบเลย ใช้งานง่ายไม่ต้องใช้ Command line โหลดจากลิงค์ด้านล่างนี้ https://visualstudio.microsoft.com/vs/community

คนที่จะลงตัวนี้ลองเช็คเครื่องตัวเองดูก่อนนะว่า มีพื้นที่เหลือ 20 GB ขึ้นไป และเครื่องไม่ช้า ส่วน Ram ขั้นต่ำคือ 4 GB แต่แนะนำว่า 8 GB จะดีมาก แต่ถ้าไม่สนใจคำเตือนอยากลองลงดูก็ได้นะ เครื่องไม่พังหรอกแต่มันอาจจะอืดๆหน่อยนะจุ๊

Visual Studio Code

อันนี้เป็นรุ่นน้องเล็ก เหมาะสำหรับคนที่อยากลองเขียนโปรแกรมใหม่ๆ แต่ต้องติดตั้งของ 2 อย่างคือ Visual Studio Code และ .NET Core SDK ด้วย

ข้อดีของตัวนี้คือไฟล์ไม่ใหญ่ คอมไม่ต้องเร็วมากก็ทำงานได้ไม่มีปัญหา แต่ข้อเสียคือต้องใช้ Command line หน่อยนึงนะจ๊ะ

.NET In-Browser

อันนี้แถมนะจ๊ะ สำหรับคนที่ขี้เกียจลงทุกๆอย่างที่ว่ามา แล้วอยากลองวิชาเลย สามารถเข้าไปลองใช้ C# ผ่านเว็บไซต์ด้านล่างนี้ได้เบย

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

2.โครงสร้างของโค้ด

💬 หลังจากที่ติดตั้งโปรแกรมไปละ คราวนี้ลองมาดูว่าเราจะเริ่มเขียนโค้ดตรงจุดไหน และโค้ดมันมีอะไรบ้างนะ

🎯 สรุปสั้นๆ

👨‍🚀 จุดแรกที่เขียนโค้ด

เวลาที่เราจะเขียนโค้ดเราจะเขียนในวงเล็บ { } ของ Main() นะกั๊ฟ ถ้าดูจากโค้ดด้านบนคือบรรทัดที่ 9 ไงล่าาา
using System;

namespace myApp
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Hello World!");
        }
    }
}

โปรแกรม

ลิงค์ดาวโหลด

Visual Studio Code

https://code.visualstudio.com

.NET Core SDK

https://dotnet.microsoft.com/download

https://dotnet.microsoft.com/learn/dotnet/in-browser-tutorial/1

3.ชนิดของข้อมูล

💬 ก่อนที่เราจะเขียนโค้ดตัวแรกจริงๆกัน เราต้องรู้จักกับสิ่งที่เรียกว่า ชนิดของข้อมูล หรือ data type เสียก่อน ซึ่งข้อมูลแต่ละชนิดก็จะเหมาะกับงานแต่ละแบบ

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

🎯 สรุปสั้นๆ

👨‍🚀 ประเภทของข้อมูลหลัก

ในโลกของการเขียนโปรแกรม เราควรต้องรู้จักประเภทข้อมูล 4 ตัวแรกมีตามนี้เบย

true หรือ false

Data type

ใช้กับ

ตัวอย่างข้อมูล

int

ตัวเลขจำนวนเต็ม

1000

double

ตัวเลขจำนวนเต็ม หรือ ทศนิยม

32.76

string

ข้อความ และจะต้องอยู่ภายใต้ double quote

"Hello"

bool

ข้อมูลที่เป็น จริง หรือ เท็จ เท่านั้น

12.การทำงานซ้ำๆด้วย For

💬 ในหลายๆครั้งที่งานเราต้องทำซ้ำๆกันเดิม แต่มันอาจจะต้องมีการสร้างตัวแปรมาใช้ด้วย ซึ่งมันก็ใช้เพียงแค่ที่เดียว (คือใช้แล้วทิ้งตรงนั้นเลย) ทำให้เราเสียเวลาต้องคอยดูตัวแปรพวกนั้นด้วย ดังนั้นในบทนี้เราจะมาดูการทำงานซ้ำๆโดยใช้คำสั่ง For loop statement กันบ้างนะครับ

🎯 สรุปสั้นๆ

👨‍🚀 คำสั่ง For loop มาตรฐาน

การเขียน for ไม่จำเป็นต้องมี INITIALIZER ก็ได้นะ หรืออาจจะมีมากกว่า 1 ตัวก็ได้ เช่นโค้ดตัวอย่างด้านล่าง

เช่นเดียวกันตัว ITERATOR ก็ไม่จำเป็นต้องมีหรือจะมีกกว่า 1 อย่างก็ได้ เช่นโค้ดด้านล่าง

และสุดท้าย CONDITION จะไม่ใส่ก็ได้ มันก็จะมองเป็น infinity loop ทันที

เกร็ดความรู้ Infinity loop คือการทำงานในวงเล็บนั้นๆซ้ำไปเรื่อยๆไม่ไม่ทางจบการทำงาน ซึ่งสมัยโบราณเรานิยม loop ประเภทนี้ทำงานประเภท งานที่ต้องทำงานตลอดเวลา 24 ชม ไม่มีการหยุดพักเลย แต่ในปัจจุบันเราไม่นิยมเขียนโค้ดแบบนั้นแล้ว ซึ่งเราจะใช้ความสามารถของ cloud เข้ามาช่วย ซึ่งประสิทธิภาพจะดีกว่าการเขียนเป็น infinity loop มากครับ

for( INITIALIZER; CONDITION; ITERATOR )
{
   // เข้ามาทำงานตรงนี้ถ้าเงื่อนไขยังเป็นจริงอยู่
}
for(int round = 0; round < 10; round++, a--)
{
   // Do something
}

4.การสร้างตัวแปร

อะเคร๊ หลังจากรู้แล้วว่าการเขียนโค้ดนั้นมันจะมีข้อมูลที่เราต้องทำงานด้วย 4 ชนิดคือ int, double, string, bool กันละ ในรอบนี้เราจะลองสั่งให้คอมพิวเตอร์ช่วยจำข้อมูลแต่ละประเภทดูหน่อยละกันนะ

เวลาที่เราให้คอมมันช่วยจำอะไรสักอย่าง เราจะเรียกสิ่งที่มันจำนี้ว่า ตัวแปร หรือ variable นั่นเอง

เช่น int money = 3; หมายถึงเราให้คอมจำว่าตัวแปรที่ชื่อว่า money มันมีค่าเป็น 3 และมันจำได้เฉพาะตัวเลขจำนวนเต็มเท่านั้น

🎯 สรุปสั้นๆ

👨‍🚀 การสร้างตัวแปรให้คอมช่วยจำ

ชนิดตัวแปร ชื่อตัวแปร;

👨‍🚀 กฎในการสร้างตัวแปร

  • ชื่อตัวแปรห้ามซ้ำกัน แม้จะเป็นคนละชนิดกันก็ตาม

  • ชื่อตัวแปรตัวเล็กตัวใหญ่มีความหมาย (case sensitive) ดังนั้น a กับ A ถือว่าเป็นตัวแปรคนละตัวกัน

  • ห้ามตั้งชื่อแล้วเว้นวรรค (ถ้าจะทำให้ใช้ตัว _ แทน)

สามารถตั้งชื่อภาษาไทยหรือเลขไทยได้นะ แต่แนะนำว่าอย่าทำเพราะมันจะทำให้มีปัญหาเวลาใช้งานจริง

ตัวอักษรพิเศษ เช่น !@#$%^&*()_+\|/-+

คำสงวน คือคำที่เราห้ามใช้ เพราะภาษานั้นๆจะขอเอาไว้ใช้เอง เช่นคำว่า int, string, double, class

11.การทำงานซ้ำๆด้วย Do While

💬 หลังจากที่เราเห็นตัวช่วยในการจัดการกับงานที่ทำงานซ้ำๆหลายๆรอบไปละ ในรอบนี้เราลองมาดูการเขียน Do..While loop statements กันดูบ้างนะครับว่ามันจะต่างกับ While loop statements ยังไงบ้าง

🎥 ตัวอย่างการใช้คำสั่ง Do While loop statements

🎯 สรุปสั้นๆ

👨‍🚀 คำสั่ง Do While มาตรฐาน

คำสั่ง do while จะต่างกับ while ธรรมดาตรงที่ do while จะยอมปล่อยให้เข้าไปทำในวงเล็บ { } ก่อน 1 รอบ แล้วค่อยตรวจสอบเงื่อนไขว่ามันจะได้กลับมาทำหรือเปล่า ซึ่งในขณะที่ while loop จะไม่ยอมให้เข้าไปทำในวงเล็บเลยถ้าเงื่อนไขไม่ถูกต้อง

  • do while > มันให้ลองเล่นก่อน 1 รอบ แล้วค่อยดูเงื่อนไข

  • while > ตรวจเงื่อนไขก่อนค่อยให้เล่น

14.มารู้จักกับ Array กัน

💬 พอได้ลองเขียนโค้ดไปได้ซักพัก พวกเราจะพบว่าตัวแปรที่เราสร้างไว้มันค่อนข้างวุ่นวายเลยใช่ไหม ลองคิดดูนะว่าถ้าเราต้องเก็บคะแนนของนักเรียน 1 คนมีต้องมีตัวแปร 1 ตัวชิมิ แต่ถ้าเกิดว่าเราต้องเก็บข้อมูลของนักเรียนซัก 100 คนขึ้นมาละ? ตัวแปรของเราคงมีอย่างต่ำคือ 100 เลยตัวใช่ไหม? ดังนั้นในรอบนี้เราจะลองมารู้จักกับการจัดการกับตัวแปรประเภทเดียวที่ใช้ซ้ำๆกันดู นั่นคือเรื่องของ Array นั่นเอง

🎥 ตัวอย่างการใช้ Array กับ For loop

// แบบไม่มี initializer
for( ; round < 10; round++ )
{
  // Do something
}

// แบบมี initializer มากกว่า 1 ตัว
for( int a = 1, b = 2; round < 10; round++ )
{
  // Do something
}
for(int round = 0; ;round++)
{
   // Do something
}
ห้ามตั้งชื่อขึ้นต้นด้วยตัวเลข หรือ
ตัวอักษรพิเศษ
(ยกเว้นตัว
@
และ
_
สามารถใช้เป็นตัวต้นได้)
  • ห้ามตั้งชื่อซ้ำกับคำสงวนของภาษา C#

  • 🎯 สรุปสั้นๆ

    👨‍🚀 Array คือ

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

    👨‍🚀 ประเภทของ Array

    Array ที่เราใช้กันอยู่มีทั้งหมด 3 แบบ โดยแต่ละแบบก็จะเหมาะกับประเภทของคนละชนิดกันด้วยนะจุ๊

    1. Single Dimensional Array

    2. Multidimensional Array

    3. Jagged Array

    do
    {
      // Do something
    } while( เงื่อนไข );

    6.การแปลงข้อมูล

    หลังจากที่เราได้ลองสร้างตัวแปรพร้อมกำหนดค่ากันไปละ คราวนี้ถ้าเกิดว่าเราอยากจะส่งข้อมูลที่ต่างชนิดไปให้กับตัวแปรต่างๆดูบ้างละเราจะทำยังไง? แมวน้ำทั้งหลายเจ้าจงลองดูวีดีโอการแปลงข้อมูลด้านล่างนี้โดยพลัน

    🎯 สรุปสั้นๆ

    👨‍🚀 การแปลงข้อมูลแบบอัตโนมัติ (Implicit conversions)

    เราไม่ต้องทำอะไรเลย เพราะโปรแกรมจะจัดการให้อัตโนมัติ เช่น เราสามารถแปลง int เป็น double ได้ตามตัวอย่างด้านล่างเบย

    👨‍🚀 การแปลงข้อมูลด้วยตัวเอง (Explicit conversion)

    กรณีที่โปรแกรมจัดการให้เราอัตโนมัติไม่ได้ เราจะต้องทำการระบุ data type ที่จะทำการแปลงลงไปด้วย หรือเรียกว่าการ cast เช่น เราทำการแปลง double เป็น int แบบตัวอย่างด้างล่างงุย

    ข้อควรระวังในการทำ Explicit conversion

    • ในบางทีการแปลงข้อมูลอาจจะทำให้ข้อมูลบางอย่างหายไปได้ เช่นในตัวอย่าง มันจะตัดทศนิยมออกไป ดังนั้น b จะมีค่าเป็น 3

    • ถ้ามันไม่สามารถแปลงได้ โปรแกรมจะพังทันที (เราเรียกกรณีนี้ว่าเกิด exception)

    👨‍🚀 การแปลงโดยใช้ตัวช่วย

    1.ตัวช่วยในการแปลงข้อมูลเรานิยมใน System.Convert ตามตารางด้านล่าง

    2.การแปลงข้อมูลจาก string เป็น data type ที่ระบุโดยใช้ตัวช่วย

    👨‍🚀 การแปลงข้อมูลเป็น string

    เรานิยมใช้คำสั่ง .ToString() ต่อท้าย เพื่อทำการแปลงข้อมูลนั้นๆให้กลายเป็น string ตามตัวอย่างด้านล่าง

    9.การตัดสินใจด้วย Switch statements

    💬 หลังจากที่เราได้เห็นการตัดสินใจของคอมพิวเตอร์ผ่านคำสั่ง IF statements กันไปบ้างละ ในรอบนี้เราลองมาดูการตัดสินใจแบบง่ายๆด้วยคำสั่งที่เรียกว่า Switch statements กันดูบ้างนะครับ

    🎯 สรุปสั้นๆ

    👨‍🚀 การเขียน Switch แบบมาตรฐาน

    เกร็ดความรู้ 1 ในการเขียน switch นั้นเราสามารถใส่วงเล็บ { } ลงไปใน case หรือ default ได้นะจ๊ะ เพื่อเป็นการบอกว่า scope ของการทำงานอยู่ที่ไหน ตามตัวอย่าง code ด้านล่าง

    เกร็ดความรู้ 2 เราสามารถรวม case ที่ทำงานเหมือนกันเอาไว้ด้วยกันได้ และ รวมถึงการรวม case default ด้วยเช่นกัน ตาม code ด้านล่าง

    👨‍🚀 การเขียน switch โดยใช้ Type pattern

    ในภาษา C# รุ่นใหม่ๆจะรองรับการใช้สิ่งที่เรียกว่า Type pattern แล้ว โดยเราสามารถเอาชนิดข้อมูลมาใช้เป็นเงื่อนไขได้

    👨‍🚀 การเขียน switch โดยใช้ When clause

    คำสั่ง

    ความหมาย

    System.Convert.ToInt32( x );

    แปลง x ให้กลายเป็น int

    System.Convert.ToDouble( x );

    แปลง x ให้กลายเป็น double

    System.Convert.ToString( x );

    แปลง x ให้กลายเป็น string

    8.การตัดสินใจด้วย IF statements

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

    🎥 ตัวอย่างการใช้คำสั่ง IF statements

    🎯 สรุปสั้นๆ

    👨‍🚀 รูปแบบต่างๆของ IF statements

    คำสั่งในการตัดสินใจหรือ IF จริงๆมันก็มีแบบเดียวนั่นแหละ แต่เราสามารถเขียนมันได้ทั้งหมด 5 วิธีหลักๆตามด้านล่างครับ

    1.if

    1. if..else

    3.if..else..if

    4.Nested if

    5.Inline if หรือ short if

    คำเตือน การใช้ Inline if หรือ short if ไม่ใช่เรื่องความเท่ใดๆ ถ้าทีมที่เราทำงานด้วยไม่คุ้นเคยหรือไม่ชำนาญในการใช้คำสั่งลัดพวกนี้ ดช.แมวน้ำ ขอแนะนำว่าอย่าใช้ครับ เพราะจะทำให้เราทีมเสียเวลาและอาจะเกิดข้อผิดพลาดได้ง่ายขึ้นโดยใช่เหตุ แต่ถ้าทีมเริ่มมีความชำนาญมากขึ้นผมแนะนำให้ใช้เพราะมันทำให้โค้ดเรา clean ขึ้นครับ (ซึ่งผมจะขอยกเรื่อง Clean code ไปไว้ในบทของมันเองนะครับ)

    การใช้วงเล็บ การเขียน if หรือ else ไม่จำเป็นต้องใส่วงเล็บ { }ให้มันก็ได้นะครับ ซึ่งตัวโปรแกรมจะถือว่าคำสั่งถัดไป (แค่คำสั่งเดียว) คือของที่อยู่ในวงเล็บของมันครับ

    7.การเปรียบเทียบค่า

    อาวล๊าาา หลังจากที่เริ่มชินกับการสั่งให้คอมมันจำข้อมูลต่างๆ หรือการแปลงข้อมูลจากชนิดหนึ่งไปยังอีกชนิดหนึ่งละ คราวนี้สิ่งที่คนเขียนโค้ดจะต้องเจอกันคือ การเปรียบเทียบ ระหว่างๆของต่างๆ เช่น อายุเกิน 18 ปีหรือเปล่า? หรือต้องเทียบว่าค่าจากตัวแปร A มากกว่าตัวแปร B หรือเปล่าอะไรทำนองนี้ เราจะต้องเขียนยังไงกันน๊าาา ปะไปดูวีดีโอกันเร๊ยยยย (ครูภาษาไทยมาเจอ ดช.แมวน้ำ ในตอนนี้น่าจะปวดกบาลน่าดูเรยเน๊อะ)

    🎯 สรุปสั้นๆ

    👨‍🚀 คำสั่งในการเปรียบเทียบข้อมูล

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

    👨‍🚀 คำสั่งในการเชื่อมการเปรียบเทียบข้อมูล

    เวลาที่เราเปรียบเทียบข้อมูลหลายๆเงื่อนไข เราก็จะใช้ตัวเชื่อมต่างๆ เช่นเงื่อนไขว่า "อายุมากกว่า 18 ปี และ ต้องเป็นคนไทยด้วย" จะเห็นว่าตัวเชื่อในตัวอย่างนี้คือคำว่า และ นั่นเอง ซึ่งในภาษา C# มาตัวเชื่อมตามนี้

    วิธีเชื่อมเงื่อนไข โดยปรกติการเขียนเราจะไม่นิยมใช้ตัวเชื่อมแบบโดดๆ เช่น a & b นะครับ แต่เราจะใช้คำสั่งซ้ำสองรอบกลายเป็น a && b เพราะมันเร็วกว่า

    * การใช้เครื่องหมายซ้ำ เช่น && || พวกนี้ มันจะเช็คว่าผลลัพท์มีโอกาสเป็นอย่างอื่นหรือเปล่า ถ้ามันเช็คแล้วพบว่าไม่มีโอกาสเป็นอย่างอื่น มันจะไม่เช็คเงื่อนไขอื่นๆต่อเลย ทำให้มันสามารถทำงานได้เร็วกว่าการใช้ & | แบบโดดๆครับ

    (ถ้าอ่านแล้วไม่ไม่เข้าใจไม่เป็นไรใช้ๆไปเต๊อะแบบไหนก็ได้)

    จำง่ายๆ 1. ถ้าเราใช้ & ให้ดูว่าภายในเงื่อนไขมี false ไหม ถ้ามีแสดงว่าผลลัพท์คือ false ครับ 2. ถ้าเราใช้ | ให้ดูว่าภายในเงื่อนไขมี true ไหม ถ้ามีแสดงว่าผลลัพท์คือ true ครับ

    switch( EXPRESSION )
    {
      case PATTERN1:
         // ถ้า expression ตรงกับ pattern 1 จะเข้ามาที่งานที่นี่
         break;
      case PATTERN2:
         // ถ้า expression ตรงกับ pattern 2 จะเข้ามาที่งานที่นี่
         break;
      default:
         // ถ้า expression ไม่ตรงกับ pattern ไหนเลยจะเข้ามาทำงานที่นี่
         break;
    }
    switch( EXPRESSION )
    {
      case PATTERN1:
         {
           // ถ้า expression ตรงกับ pattern 1 จะเข้ามาที่งานที่นี่
           break;
         }
       ...
    }
    switch( EXPRESSION )
    {
      default:
      case PATTERN1:
      case PATTERN2:
      case PATTERN3:
         {
           // ถ้า expression ตรงกับ pattern 1,2,3 
           // หรือไม่ตรงกับ pattern อื่นๆเลยจะเข้ามาที่งานที่นี่
           break;
         }
       ...
    }
    switch( EXPRESSION )
    {
      case int a:
           // ถ้า expression เป็น int จะเข้ามาที่งานที่นี่
           break;
      case double b:
           // ถ้า expression เป็น double จะเข้ามาที่งานที่นี่
           break;
       ...
    }
    switch( EXPRESSION )
    {
      case int a when a > 12:
           // ถ้า expression เป็น int และมีค่ามากกว่า 12 จะเข้ามาที่งานที่นี่
           break;
       ...
    }
    int a = 3;
    double b = a;
    double a = 3.33;
    int b = (int)a;
    int a = int.Parse("1");
    double b = int.Parse("3.33");
    int a = 3;
    string b = a.ToString();
    string c = 3.33.ToString();
    strubg d = "Hello".ToString();

    เปรียบเทียบว่า ค่าด้านซ้าย น้อยกว่าหรือเท่ากับ ค่าด้านขวา ใช่หรือไม่

    น๊อท NOT

    !true ได้ false แต่ถ้า !false ได้ true

    Operator

    ความหมาย

    >

    เปรียบเทียบว่า ค่าด้านซ้าย มากกว่า ค่าด้านขวา ใช่หรือไม่

    <

    เปรียบเทียบว่า ค่าด้านซ้าย น้อยกว่า ค่าด้านขวา ใช่หรือไม่

    ==

    เปรียบเทียบว่า ค่าด้านซ้าย เท่ากับ ค่าด้านขวา ใช่หรือไม่

    !=

    เปรียบเทียบว่า ค่าด้านซ้าย ไม่เท่ากับ ค่าด้านขวา ใช่หรือไม่

    >=

    เปรียบเทียบว่า ค่าด้านซ้าย มากกว่าหรือเท่ากับ ค่าด้านขวา ใช่หรือไม่

    Operator

    ความหมาย

    ออกเสียง

    จำง่ายๆ

    &

    และ

    แอนด์ AND

    true และ true ได้ true

    |

    หรือ

    ออ OR

    ถ้ามี true ปุ๊ป ได้ true

    !

    <=

    เปลี่ยนผลลัพท์ให้เป็นค่าตรงข้าม

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

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

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

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

    คำสั่งพื้นฐาน ในโลกของการเขียนโปรแกรมเราเรียกมันว่า operator นะ

    🎯 สรุปสั้นๆ

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

    ข้อมูลประเภทตัวเลข

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

    ข้อมูลประเภท string

    • ถ้าใช้คำสั่ง + จะเป็นการนำข้อมูลมาต่อกัน เช่น "5" + 7 จะได้ผลลัพท์คือ "57"

    • คำสั่ง - * / จะไม่สามารถใช้กับ string ได้

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

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

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

    ในลำดับเดียวกัน ให้ดูว่าเราเจอเครื่องหมายไหนก่อนให้ทำตัวนั้นก่อน ไล่จากซ้ายไปขวา

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

    เฉลย ที่ถามว่า 2 + 12 / 2 x 3 - 1 = ? คำตอบคือ 19 นะจุ๊

    if( เงื่อนไข )
    {
      // ทำใน block นี้ถ้าเงื่อนไขเป็นจริง
    }
    if( เงื่อนไข )
    {
      // ทำใน block นี้ถ้าเงื่อนไขเป็นจริง
    }
    else
    {
      // ทำใน block นี้ถ้าเงื่อนไขเป็นเท็จ
    }
    if( เงื่อนไขที่ 1 )
    {
      // ทำใน block นี้ถ้าเงื่อนไขที่ 1 เป็นจริง
    }
    else if( เงื่อนไขที่ 2 )
    {
      // ทำใน block นี้ถ้าเงื่อนไขที่ 2 เป็นจริง (และเงื่อนไขด้านบนทุกตัวเป็นเท็จ)
    }
    else
    {
      // ทำใน block นี้ถ้าเงื่อนไขทุกตัวเป็นเท็จ
    }
    if( เงื่อนไข 1 )
    {
      if( เงื่อนไข 2)
      {
        // ทำใน block นี้ถ้าเงื่อนไข 1 และ 2 เป็นจริง
      }
      else
      {
        // ทำใน block นี้ถ้าเงื่อนไข 1 เป็นจริงแต่ 2 เป็นเท็จ
      }
    }
    string message = เงื่อนไข ? "กรณีเงื่อนเป็นจริงจะใช้ค่านี้" : "กรณีเงื่อนไขเป็นเท็จจะใช้ค่านี้";

    10 * 5

    /

    นำค่า 2 ตัวที่อยู่ใกล้กันมา หาร กัน

    10 / 5

    Operator

    ความหมาย

    ตัวอย่าง

    =

    กำหนดค่าให้กับตัวแปรที่อยู่ด้านซ้ายมือ

    int money = 100;

    +

    นำค่า 2 ตัวที่อยู่ใกล้กันมา บวก กัน

    10 + 5

    -

    นำค่า 2 ตัวที่อยู่ใกล้กันมา ลบ กัน

    10 - 5

    *

    Operator

    ความหมาย

    +=

    นำค่าทางขวามือไปบวกกับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้านซ้ายมือเป็นค่านั้นๆเลย

    -=

    นำค่าทางขวามือไปลบกับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้านซ้ายมือเป็นค่านั้นๆเลย

    *=

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

    /=

    นำค่าทางขวามือไปหารกับด้านซ้ายมือ แล้วกำหนดให้ตัวแปรด้านซ้ายมือเป็นค่านั้นๆเลย

    ลำดับที่

    เครื่องหมาย

    1

    ( วงเล็บ )

    2

    ++ หรือ -- (prefix)

    3

    คูณ หาร

    4

    บวก ลบ

    5

    ++ หรือ -- (postfix)

    นำค่า 2 ตัวที่อยู่ใกล้กันมา คูณ กัน

    13.การแก้โจทย์จากรูป

    😢 ปัญหา

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

    😄 วิธีแก้ปัญหา

    ดช.แมวน้ำ ขอเสนอวิธีการแก้โจทย์โดยการวาดรูปดูนะครับ น่าจะไม่มีที่ไหนสอนแบบนี้ในโลกเลยนะผมมโนขึ้นมาเองล้วนๆ + พบว่ามันช่วยให้หลายๆคนเข้าใจได้ง่ายขึ้นเยอะเลย

    ปรกติวิธีการคิดเพื่อแก้โจทย์ เขาจะสอนให้เราเขียนสิ่งที่เรียกว่า flow chart หรือที่เรียกว่าแผนภาพการทำงานของโปรแกรมนั่นแหละ ซึ่งผมมองว่า (ขี้เกียจสอนเฟร้ย) มันวุ่นวายเกินไป เพราะเราต้องไปทำความเข้าใจเรื่อง flow chart ก่อนถึงจะมาทำต่อได้ แต่ทุกคนวาดภาพได้แน่นอนอยู่ล่ะ โดยไม่สนใจนะว่าสวยหรือเปล่า ดังนั้นผมเลยเลือกให้ทุกท่านลองหยิบดินสอกระดาษมาลองทำตามกันดูครับ

    🎯 สรุปสั้นๆ

    👨‍🚀 ขั้นตอนในการแก้โจทย์จากรูป

    1. เขียนออกมาก่อนว่าโปรแกรมต้องทำอะไรบ้าง

    2. ลองวาดรูปการทำงานในแต่ละขั้นตอนออกมา

    3. ลองเขียนดูว่าแต่ละขั้นตอนเราต้องใช้ความรู้เรื่องอะไรบ้าง เช่น ชนิดตัวแปร, loop แบบไหน

    4. เลือกว่าในแต่ละขั้นตอนควรจะคำสั่งแบบไหน

    เอาของที่ได้จากขั้นตอนที่ 4 ไปลองเขียนโค้ดทีละขั้นตอนดู

    10.การทำงานซ้ำๆด้วย While

    💬 ในการเขียนโปรแกรมหลายๆ บางทีเราก็จะพบว่าโค้ดบางส่วนที่เราอยากให้มันทำงานหลายๆรอบ เราต้องไปคอยนั่งกดก๊อปปี้ไปวางหลายๆครั้งใช่มุ้ยล๊า ในรอบนี้เราจะลองดูคำสั่งที่ใช้ในการทำงานเดิมซ้ำๆกันที่เราเรียกมันว่า While loop statements นั่นเอง

    🎥 ตัวอย่างการใช้คำสั่ง While loop statements

    🎯 สรุปสั้นๆ

    👨‍🚀 คำสั่ง while loop พื้นฐาน

    👨‍🚀 คำสั่ง break

    เมื่อเราทำงานอยู่ใน loop ในบางครั้งเราก็ไม่อยากให้มันทำงานต่อแล้ว เราสามารถใช้คำสั่ง break เพื่อออกจาก loop ที่กำลังทำงานอยู่ได้

    while( เงื่อนไข )
    {
      // ถ้าเงื่อนไขเป็นจริงจะทำในวงเล็บนี้เรื่อยๆ
    }