-
ขั้นตอนการเขียนโปรแกรม
-
Create Project
-
New > Project
-
Java Project
- New > Class
- Name Class
- Codeing
- Compile
-
Test
-
run
- run แบบธรรมดา
- run configuration
- Save Finish Project
-
Variable
-
Declaration หรือ การประกาศตัวแปร
-
<ชนิดข้อมูล> <ชื่อตัวแปร>
- ประกาศตัวแปร
-
<ชื่อตัวแปร> = <ค่าตัวแปร>
- กำหนดค่าตัวแปร
-
<ชนิดข้อมูล> <ชื่อตัวแปร> = <ค่าตัวแปร>
- ประกาศตัวแปร พร้อม กำหนดค่าตัวแปร
-
ชนิดของ Variable
-
Instance Variable หรือ Non-Static Field
- ตัวแปรที่ถูกสร้างขึ้นมาจาก Class
-
Class Variable หรือ Static Field
- เป็นตัวแปรที่กำหนดขึ้นไว้ใน Class ถือเป็นส่วนประกอบของ Class ตัวแปร Instance สามารถนำไปใช้ได้
-
Local Variable
- ต้วแปรที่อยู่ทั่วไป ใน method
-
การตั่งชื่อ ตัวแปร
-
ต้องขึ้นต้นด้วยตัวอักษร
- ขึ้นต้นด้วย _ ได้
- ขึ้นต้นด้วย $ ได้
-
ห้ามขึนต้นด้วย
- ตัวเลข
- เครื่องหมายต่างๆ ยกเว้น $ และ _
-
ภายใน
- ตัวอักษร
- ตัวเลข
- เครื่องหมาย $ และ _ เครื่องหมายอื่นๆห้าม
- ห้ามมีช่องว่าง
-
Case Sensitive
- ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก มีความหมายแตกต่างกัน
- Reserved Word
-
ข้อแนะนำในการ ตั่งชื่อตัวแปร
- เป็นคำเดี่ยว ให้ใช้อักษรตัวเล็กทั้งหมด เช่น name, surname, age
- เป็นคำประกอบ ให้ขึ้นต้นคำแรกด้วยตัวเล็ก และ ตัวใหญ่สำหรับคำต่อไป เช่น firstName , lastName
- ไม่ใช้ภาษาไทยในการตั่งชื่อ
- หลีกเลี่ยงการใช้อักษาเดี่ยว เช่น a,b,x,y,xx,yy
-
Data
-
ชนิดข้อมูล
-
Primitive Data Types
- ข้อมูลพื้นฐาน
- ข้อมูลที่แบ่งไม่ได้อีกแล้ว
- มักจะเก็บเป็นค่าเดี่ยวๆ
-
ชนิดของ Primitive Data
- Integer หรือ จำนวนเต็ม
- จำนวนเต็มขนาดเล็ก
- byte
- ขนาดไม่เกิน 8 บิต หรือ 1 ไบต์
- ครอบคลุมค่า -127 ถึง 127
- short
- ขนาดไม่เกิน 16 บิต หรือ 2 ไบต์
- จำนวนเต็มทัวไป หรือ ขนาดใหญ่ขึ้น
- int
- ใช้พื้นที่จัดเก็บ 32 บิต หรือ 4 ไบต์
- long
- ใช้พื้นที่เก็บ 64 บิต หรือ 8 ไบต์
- จำนวนทศนิยม
- float
- ตัวเลขทศนิยมทัวไป
- ใช้พื้นที่จัดเก็บ 32 บิต หรือ 4 ไบต์
- double
- ตัวเลขทศนิยมขนาดใหญ่
- ใช้พื้นที่เก็บ 64 บิต หรือ 8 ไบต์
- char
- เก็บตัวอักษร ตามมาตรฐาน 16-bit Unicode
- boolean
- ตรรกะ
- พื้นที่เก็บ 1 บิต
-
การแปลงชนิดของข้อมูล
- การใช้ cast
- Class Types
- Array Types
-
Operator
-
Assignment Operator
-
/=
- นำมาหารกัน แล้ว กำหนดค่า
-
*=
- นำมาคูณกัน แล้ว กำหนดค่า
-
-=
- ลดค่า แล้ว กำหนดค่า
- a -= b
- นำค่า a - b ไปไว้ที่ตัวแปร a
-
+=
- เพิ่มค่า แล้ว กำหนดค่า
- a += b
- นำค่า a + b มาไว้ในตัวแปร a
-
=
- กำหนดค่า
- a = b
- การนำค่า b มาไว้ที่ตัวแปร a
-
Arithmetic Operator
- a+b
- a-b
- a*b
- a/b
-
a%b
- การหาเศษจากการหาร
-
Comparison Operator
-
จะให้ผลเป็น boolean
- true
- false
-
a==b
- เป็น true เมื่อเท่ากัน
-
a!=b
- เป็น true เมื่อไม่เท่ากัน
- a<b
- a<=b
- a>b
- a>=b
-
Logical Operator
-
จะให้ผลเป็น boolean
- true
- false
-
!a
- Negation หรือ นิเสธ
-
a && b
- and และ
- เป็น true เมื่อ a และ b เป็น true
-
a || b
- or หรีอ
- เป็น true เมื่อ a หรือ b ตัวใดตัวหนึ่งเป็น true
-
อื่นๆ หาพวกไม่ได้
-
aaa + bbb
- ถ้า aaa และ bbb เป็น String จะได้ aaabbb
-
x++
- เป็นการนำค่า x + 1 ไปไว้ที่ตัวแปร x
-
x--
- เป็นการนำค่า x - 1 ไปเก็บที่ตัวแปร x
-
Constant
- ค่าคงที่
- final <ชนิดข้อมูล> <ชื่อค่าคงที่> = <ค่าคงที่ที่กำหนด>
- ชื่อค่าคงที่ แนะนำ ให้เขียนเป็นอักษรตัวใหญ่ เพื่อที่จะไม่ไปสับสนกับ ตัวแปร
-
Comment
-
//
- ข้อความ อธิบายต้องจบภายในหนึ่งบรรทัด
- /* ข้อความ อธิบายโปรแกรม ยาวๆ และต้องปิดด้วย */
-
Statement
- คำสั่ง
- เป็นคำสั่งเดี่ยว หรือ กลุ่ม (ต้องอยู่ในเครื่องหมาย {})
- จบคำสั่งด้วย เครื่องหมาย ;
-
Expression
- การกระทำที่เสร็จสิ้นแล้ว ได้ผลลัพธ์ออกมา
-
Control Statement
-
คำสั่งที่ใช้ใน Control Statement
-
if (เงื่อนไข) {สิ่งที่ทำเมื่อเงื่อนไขเป็น trun} else {สิ่งที่ต้องทำเมื่อเงื่อนไขเป็น false}
-
ตัวอย่างการใช้ if statement
- codding
- เมื่อกำหนด argument [0] = 35 จะได้แบบนี้
- เอาใหม่ กำหนด argument [0] = 60 จะได้แบบนี้
-
switch (ค่าของ case) case 0: สิ่งที่ต้องทำ ; case 1: สิ่งที่ต้องทำ ;
-
switch
- codding
- excule
-
while คือการวนลูป มาทำจนเงื่อนไขเป็น false
-
while
- codding
- ผลที่ได้
-
for (กำหนดค่าเริ่มต้น ; เงื่อนไขให้ทำต่อ true เลิกทำ false ; แก้ไขตัวแปรเริ่ม)
-
ตัว flowChart
- SourceCode
- do
-
Branching
- การแตกกิ่งของการ เข้าเงื่อนไข เลื่อกการทำงาน
-
Iteration
- การทำงานซ้ำ การวนลูป
-
การทำงานแบบ block
- จะมีคำสั่งเดียว หรือ หลายคำสั่งก็ได้ แต่ต้องอยู่ในเครื่องหมาย { คำสั่งต่างๆ }
-
Array
- เป็นการเก็บข้อมูลชนิดเดียวกัน ไว้ในตัวเองมากกว่า 1 ค่า
-
มิติของ อาร์เรย์
- อาร์เรย์ 1 มิติ
- อาร์เรย์หลายมิติ
-
index ของ array
- จำนวนเต็มเริ่มจาก 0 จนถึงตัวสุดท้าย
-
อาร์เรย์ 1 มิติ
- name[0], name[1], name[2]
-
อาร์เรย์ 2 มิติ
- name[0][0], name[0][1], name[1][1]
-
การใช้งาน Single Dimension Arrays
- จะมองการเก็บข้อมูลเป็น 1 แถว
- มีคอลัมน์เท่ากับจำนวนข้อมูล
-
การประกาศตัวแปรอาร์เรย์ 1 มิติ
- ชนิดข้อมูล ชื่ออาร์เรย์ [];
- Sting nameCity[];
-
การสร้าง อาร์เรย์
- ชื่ออาร็เรย์ = new ชนิดข้อมูล [ขนาดของอาร์เรย์]
- nameCity = new Sting [3];
-
การแทนค่าข้อมูลใน อาร์เรย์
- ชื่ออาร์เรย์ [อินเด็กซ์] = ค่าของข้อมูล
- nameCity [0] = "Bangkok";
- nameCity [1] = "Jakatar";
- nameCity [2] = "changmai";
-
เราสามารถย่อได้เป็น
- Sting nameCity [] = {"Bangkok", "Jakatar", "changmai"};
-
การใช้งาน Two-Dimension Arrays
- จะเก็บข้อมูลเป็น แถว (แนวแกน x) และ คอลั่มน์(แนวแกน y)
-
การประกาศตัวแปรอาร์เรย์ 2 มิติ
- ชนิดของข้อมูล ชื่ออาร์เรย์ [][] = new ชนิดของข้อมูล [จำนวนแถม][จำนวนคอลัมน์]
- int iTest [][] = new int [2][2]
-
การแทนค่าในอาร์เรย์ 2 มิติ
- ชื่ออาร์เรย์ [ตำแหน่งของแถว][ตำแหน่งของคอลัมน์] = ค่าของข้อมูล;
- iTest [1][2] = 15;
-
โปรแกรมเชิงวัตถุ
-
Object Orienter Programing OOP
-
ยกตัวอย่างรถยนต์ BMW
- เครื่องยนต์ (Object)
- ตัวถัง (Object)
- กระจก (Object)
- เบาะ (object)
- การสตาร์ดรถยนต์ (method)
- การขับรถยนต์ (method)
- การเลี้ยวรถยนต์ (method)
- การหยุดรถยนต์ (method)
-
ตรงข้ามกับ Structure Programing
- การทำงานตามลำดับขั้นตอน
- ทำงานตามลำดับบรรทัด
-
องค์ประกอบพื้นฐานของ OOP
-
Object
-
ความเป็น Object ถูกแบ่งแยกด้วย
- Attribute หรือ คุณสมบัติเฉพาะ
- Method ความสามารถในการทำงาน
- สามารถถอด Object หรือ เปลื่ยนสลับ Object ได้
-
การสร้าง และ ใช้งาน Object
- การสร้าง Object จาก class
- ชื่อคลาส ชื่อออบเจ็กต์ ; ชื่อตัวแปรออบเจ็กต์ = new ชื่อคลาส ();
- ชื่อคลาส ชื่อตัวแปรออบเจ็กต์ = new ชื่อคลาส();
- เบื้องหลังการทำงานของ object
- มีการจองพื้นที่หน่วยความจำ เพื่อเก็บ object
- มีการเรียกใช้ method พิเศษ ที่มีชื่อเหมือนคลาส (Constructor)
- กำหนดค่าเริ่มต้นให้ตัวแปร object
- การกำหนดสิทธิ การเข้าถึงข้อมูล
- public
- สามารถเข้าถึง ข้อมุลได้จากทุกที่
- protect
- จากคลาสเดียวกัน , แพ็คเกจเดียวกัน , ต่างแพ็คเกจแต่เป็นคลาสแม่ลูกัน พูดง่ายๆ ต่างแพ็คเกจไม่ได้
- package
- ต้องคลาสเดียวกัน , แพ็คเกจเดียวกัน สามารถเข้าถึงกันได้
- private
- คลาสเดียวกันเท่านั้นที่ สามารถเข้าถึงกันได้
-
Class
- ก่อนที่จะสร้าง Object ต้องสร้าง class ขึ้นมาก่อน
- Object ที่ถูกสร้างมาจาก Class เดียวกัน จะมีความสามารถเหมือนๆกัน แต่จะต่างกันที่ คุณสมบัติ
-
การสร้าง Class
- การตั่งชื่อ class ส่วนใหญ่จะใช้อักษรตัวใหญ่
- โครงสร้างของ class
-
Method
- ความสามารถในการทำงาน ของ Object แต่ละตัว ที่ถูกสร้างขึ้นมากับ Object แต่ละตัว
- ส่วนใหญ่จะเป็น Function หรือ โปรแกรมย่อยที่ อยู่ใน Class
-
ฟังก์ชัน กับ เมธอด
- ฟังก์ชัน คือ โปรแกรมย่อย ที่อยู่ใน โปรแกรมหลัก ทำให้เรา สามารถเรียกใช้ ได้ไม่จำกัด
- เมธอด ก็เหมือนกับ ฟังก์ชัน แต่ เมธอดสามารถ อยู่ได้ทั้งใน โปรแกรมที่เรียก เมธอดใช้ หรือ อยู่ใน คลาส คนละไฟร์ ที่ เรียกใช้ เมธอด
-
อาร์กิวเมนต์ และ พารามิเตอร์
- Arguments ค่าคงที่ หรือ ตัวแปร ต่างๆ ที่เราส่งให้ เมธอด ในการเป็น พาหะ ให้นำค่าไปประมวลผล
- ตอนส่งค่า ไปที่เมธอด
- Parameter ตัวแปรที่ทำหน้าที่รับค่า จาก Arguments ที่ส่งมาจากเมธอด
- ตอนรับค่า จากเมธอด
- การสร้างซอฟต์แวร์ที่ดี คือ การสร้างซอฟต์แวร์ ที่เกิดจากการต่อยอด ซอฟต์แวร์เวอร์ชั่นเดิม โดยไม่ต้องเริ่มใหม่ทั้งหมด
-
คุณสมบัติพื้นฐานของ OOP
-
Inheritance การสืบทอดคลาส
-
SuperClass , Base Class หรือที่เรียกว่า คลาสแม่
- คือคลาสที่เป็นต้นแบบ เพื่อใช้สำหรับการสืบทอด
-
SubClass Derived Class หรือที่เรียกว่า คลาสลูก
- คือคลาสที่ถูกถ่ายทอดมา
-
Encapsulation การซ่อนรายละเอียดไว้ภายใน
- ผู้สร้างคลาส สามารถจำกัดสิทธิ์ ในการใช้งานฟิลด์ และ เมธอดได้
- Polymorphism รูปแบบการใช้ที่หลากหลาย
-
ข้อดีของ OPP
- ง่ายในการแก้ไข
- ง่ายต่อการพัฒนาความสามารถเพิ่ม
- สะดวกต่อการนำมาใช้ใหม่
- ไม่ต้องระวังชื่อซ้ำ