สนับสนุนโดย

วันศุกร์ที่ 30 พฤศจิกายน พ.ศ. 2561

final กับการใช้งานแบบง่ายๆ

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

วันพฤหัสบดีที่ 29 พฤศจิกายน พ.ศ. 2561

override method คืออะไร ใช้ยังไง มาดูกัน

ปกติแล้วเวลาที่เราสร้าง class มาสักอัน แล้วทำการสืบทอดกันต่อไปอีกที class ลูกก็จะได้คุณสมบัติต่างๆ ตามไปด้วย (ยกเว้นสิ่งที่เป็น private เท่านั้น)

วันพุธที่ 28 พฤศจิกายน พ.ศ. 2561

การสืบทอด class หลายๆ ชั้น

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

วันอังคารที่ 27 พฤศจิกายน พ.ศ. 2561

สืบทอดคลาส ด้วยเทคนิคง่ายๆ

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

parent -> child ก็คือ แม่ และ ลูกนั่นเอง

วันจันทร์ที่ 26 พฤศจิกายน พ.ศ. 2561

static method...

สำหรับการเขียน method ทั่วไปนั้นเราต้องสร้าง object ก่อนจึงจะเรียกใช้งาน method ต่างๆ ได้แต่ในบางกรณีเราไม่ต้องการสร้าง object หรือบางทีเราต้องการใช้ method นั้นๆ เลย โดยเรียกผ่านชื่อ class หรือให้ method ชื่อ main ไปเรียก method อื่นๆ

นั่นล่ะครับ เราจึงต้องสร้าง static method ขึ้นมา กฏมันมีอยู่ว่า

วันอาทิตย์ที่ 25 พฤศจิกายน พ.ศ. 2561

method overloading

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

ลองดูตัวอย่างข้างล่างนี้กันก่อน สมมุติเรามี method 3 ตัว
int calNumber(int a, int b)
int calNumber(int a, int b, int c)
int calNumber(int a, int b, String str)

วันเสาร์ที่ 24 พฤศจิกายน พ.ศ. 2561

modifier ของ method

สำหรับการกำหนดสิทธิ์การเข้าถึง method นั้น ทำได้เช่นเดียวกับ properties โดยตัวที่เราจะได้เรียนกันในหัวข้อนี้ก็คือเรื่องของ private ก่อน เพราะเห็นภาพได้ง่าย ชัดเจน

คำว่า private ก็หมายถึง ส่วนตัว นั่นแปลว่าหาก method ใดมีคำว่า private นำหน้า method นั้นจะถูกเรียกใช้งานไม่ได้ แม้ว่าจะเป็น object ก็ตาม แต่จะสามารถเรียกใช้ได้ก็ต่อเมื่อ อยู่ใน class ของตนเอง

วันศุกร์ที่ 23 พฤศจิกายน พ.ศ. 2561

method แบบ ส่งค่ากลับคืน

บางทีเราจะต้องส่ง parameter เข้าไป แล้วคำนวนอะไรบางอย่าง แล้วก็ส่งผลการทำงานกลับคืนไปยังจุดเรียกใช้ เช่นว่า เราต้องการ หาผลรวมของ 1 ถึง 10

void sumNumber(1, 10)

วันพฤหัสบดีที่ 22 พฤศจิกายน พ.ศ. 2561

method แบบหลายๆ parameter

ตัวอย่างนี้จะพาเขียนการสร้าง method ที่มีหลายๆ parameter ในทีเดียวครับ เพื่อให้รองรับการทำงานที่ซับซ้อนมากยิ่งขึ้นอีก เช่นการทำส่วนของ คำนวนบวกเลข หรือคิดภาษีมูลค่าเพิ่ม เป็นต้น

หลักการมีว่า ให้ใช้ , คั่นระหว่าง parameter แต่ละตัว เช่น
void addVat(int money, int vat) {
}

วันพุธที่ 21 พฤศจิกายน พ.ศ. 2561

การใช้ method แบบมี parameter

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

เช่น หากต้องการให้พิมพ์คำว่า

Hello Kob
Hello Tavon

วันอังคารที่ 20 พฤศจิกายน พ.ศ. 2561

method คืออะไร ใช้อย่างไร มาดูกัน

สำหรับการสร้าง class นั้นโดยทั่วไปจะไม่ได้มีเพียงแค่ คุณสมบัติ (properties) แต่จะมี ความสามารถด้วย เราเรียกกันว่า method (เมทอด) เพื่อกำหนดให้ class นั้นๆ สามารถทำสิ่งต่างๆ ได้มากขึ้น

เช่นว่าเรามี class ไม้ปิงปอง ที่มีคุณสมบัติ และความสามารถ ดังนี้

วันจันทร์ที่ 19 พฤศจิกายน พ.ศ. 2561

ว่าด้วยเรื่อง modifier ของ properties

ก่อนหน้านี้เราได้นำเสนอไปแล้วเรื่องของการสร้าง properties แต่เราจะสามารถเข้าถึงค่าต่างๆ ได้เลย เช่นเรามี class ง่ายๆ ตัวนึงดังนี้


class Book {
  int price;
  String isbn;
  String name;
}

วันอาทิตย์ที่ 18 พฤศจิกายน พ.ศ. 2561

คุณสมบัติของ object หลักการ + โค้ดจริง

จากที่เราได้เขียนบทความกันมาพักนึงแล้วสำหรับเรื่องของ Class, Object ทีนี้เราจะมาดูว่า การกำหนดคุณสมบัติให้แก่ object นั้นทำอย่างไร และมันคืออะไร

ยกตัวอย่างว่าเรามี class Racket ดังนี้


class Racket {
}

วันเสาร์ที่ 17 พฤศจิกายน พ.ศ. 2561

class และ object

สำหรับการเขียนโปรแกรมสร้างต้นแบบ หรือสร้าง class นั้นเราต้องประกาศ
class ชื่อคลาส {
}

และหากต้องการสร้างวัตถุก็เขียน
ชื่อคลาส ชื่อวัตถุ = new ชื่อคลาส

เช่น
class Book {
}

วันศุกร์ที่ 16 พฤศจิกายน พ.ศ. 2561

แนวคิดการเขียนโปรแกรมเชิงวัตถุ

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

แนวคิดการเขียนโปรแกรมแบบวัตถุ ก็คือการที่เราสร้างต้นแบบ เรียกกันว่า class แล้วนำเอาต้นแบบนี้ไปผลิตวัตถุ เรียกว่า object

วันพฤหัสบดีที่ 15 พฤศจิกายน พ.ศ. 2561

การเขียน loop ซ้อนกัน

ในบางกรณีเราอาจจะต้องได้เขียนโปรแกรมเพื่อคำนวนค่า ที่ต้องใช้การทำซ้ำ 2 ชั้น หรืออาจจะหลายชั้นกว่านั้น ตัวอย่างนี้ผมจะพาเขียนโค้ดทำ loop 2 ชั้น เพื่อหาผลรวมครับ

ลองมาดูโค้ดตัวอย่าง

วันพุธที่ 14 พฤศจิกายน พ.ศ. 2561

มหากาพย์ การทวงเงินค่าทำโปรเจค ของโปรแกรมเมอร์

เรื่องจริงอันเจ็บปวด ของโปรแกรมเมอร์ เมื่อต้องเก็บเงินลูกค้า ค่าทำระบบ สร้างจากเรื่องจริง ของไอ้เต๋อ (ตอนนี้มันเลิกเขียนโปรแกรมไปละ)
...
หวัดดีครับพี่ ผมขอเบิกเงินก้อนสุดท้ายครับ
อ้อ พอดีตอนนี้รอนายอนุมัตินะ ได้อาทิตย์นี้เลย

การดักจับข้อผิดพลาดด้วย try catch

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

ลองดูตัวอย่างเล่นๆ

Integer.parseInt("Hello");

วันอังคารที่ 13 พฤศจิกายน พ.ศ. 2561

การใช้งาน loop แบบต่างๆ

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

ปัจจุบันนี้ loop ในภาษา java มีด้วยกัน 4 แบบ ได้แก่
for
for in
do while
while

วันจันทร์ที่ 12 พฤศจิกายน พ.ศ. 2561

การใช้ Array หลายมิติ

ในการใช้งาน array ในภาษา java นั้นมีหลายแบบ เราได้เรียนกันไปแล้วในเรื่อง array แบบแรก ซึ่งเป็นเพียงมิติเดียว ทีนี้เรามาดูอีกว่าถ้าหากต้องการใช้งาน array 2 มิติ จะทำอย่างไร

สมมุติเรามี array ชุดนึง ง่ายๆ แบบนี้
int[] arr = new int[3];

วันอาทิตย์ที่ 11 พฤศจิกายน พ.ศ. 2561

การใช้งาน Array

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

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

วันเสาร์ที่ 10 พฤศจิกายน พ.ศ. 2561

การใช้ if else if หลายๆ แบบ

ในการเขียนโปรแกรมให้ทำงานได้หลายๆ เงื่อนไข เมื่อมีความซับซ้อนมากๆ สามารถใช้ if else if ได้อย่างต่อเนื่อง เช่น

int x = 10;

if (x == 8) {
   ...
} else if (x == 9) {
   ...
} else if (x == 10) {
   ...
} else {
   เมื่อไม่เข้าข้อไหนเลยก็ทำที่นี่
}

การใช้งาน switch case

การใช้ switch case ก็เหมือนกับการใช้งาน if else นี่แหละ เพียงแต่ว่าเลือกเงื่อนไขไม่ได้มาก แล้วก็ทำงานไวกว่า if else เพราะตรวจทีเดียว เจอเงื่อนไขที่ตรงก็ทำงานเลยทันที

รูปแบบเป็นดังนี้
switch (ตัวแปรที่ต้องการตรวจ) {
    case เงื่อนไข:
        ทำงานเมื่อเป็นจริง
        break;
    case เงื่อนไขต่อมา:
        ทำงานเมื่อเป็นจริง
        break;
    default:
        ทำงานเมื่อไม่เข้าเงื่อนไขไหนเลย
}

วันศุกร์ที่ 9 พฤศจิกายน พ.ศ. 2561

การใช้ if else เพื่อควบคุมทิศทางการทำงาน

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

ถ้าวันนี้ฝนตก ฉันจะใส่เสื้อกันฝน แต่ถ้าไม่ตก ฉันก็จะไม่ใส่เสื้อกันฝน

เมื่อลองแปลงเป็นรูปแบบการเขียนโปรแกรม จะได้โค้ดประมาณนี้

วันพฤหัสบดีที่ 8 พฤศจิกายน พ.ศ. 2561

การแปลงชนิดตัวแปร

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

int x = 10;
String y = "20";

System.out.println(x + y);

สิ่งที่จะได้ก็คือ
1020

วันพุธที่ 7 พฤศจิกายน พ.ศ. 2561

ตัวดำเนินการ และประเภท

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

operator ด้านคณิตศาสตร์พื้นฐาน
+ = ใช้ในการบวก
- = ใช้ในการลบ
* = ใช้ในการคูณ
/ = ใช้ในการหาร
% = ใช้ในการหารเอาเศษ

กฏเบื้องต้นในการเขียน java

ก่อนหน้านี้ได้พูดถึงเรื่องอื่นๆ ไปหลายส่วน มาหัวข้อนี้เราจะมาพูดกันถึงเรื่องของกฏต่างๆ เมื่อเราต้องเขียนโค้ดจริง เอาล่ะเริ่มจากทีละส่วนกันก่อน

ทุกคำสั่งต้องจบท้ายด้วยเครื่องหมาย ; เช่น
System.out.println("Hello");

ทุกไฟล์ต้องมี class เสมอ เช่น
class A {

}

วันอังคารที่ 6 พฤศจิกายน พ.ศ. 2561

ชนิดของตัวแปร

ในภาษา java นั้นมีชนิดของตัวแปรอยู่ด้วยกันมากมาย ดังนี้

String = ข้อความ เช่น "Hello"
int = เลขจำนวนเต็ม เช่น 48
char = อักษร เช่น 'a'
float = เลขทศนิยม ที่มีทศนิยมจำนวนมากๆ เช่น 42.97854347834983235f
double = เลขทศนิยม ที่มีจำนวนทศนิยมไม่มากนัก เช่น 23.7893
byte = อักษรแบบ byte ในระบบคอมพิวเตอร์
boolean = รูปแบบทางตรรกะ เช่น true, false
object = ชนิดแบบวัตถุ เก็บอะไรก็ได้ เพราะทุกสิ่งคือวัตถุ

จัดรูปแบบการแสดงผล ตัวอักษร

ในการสั่งพิมพ์อักษรออกมา เรามักใช้ System.out.println("My Message");
ทีนี้บางครั้งหากเราต้องการให้พิมพ์แบบแยกบรรทัด จะทำอย่างไร หรือพิมพ์ต่อกัน ทำอย่างไร
ลองมาดูตัวอย่างนี้

System.out.println("Hello");
System.out.println("Java");

วันจันทร์ที่ 5 พฤศจิกายน พ.ศ. 2561

ทดสอบ Hello World โปรแกรมแรกของเรา

เราจะมาเริ่มเขียนโค้ด hello กันก่อน เพื่อให้เห็นภาพการทำงานของโปรแกรม ก่อนอื่นเปิดโปรแกรม Netbeans กดตามภาพนี้


เตรียมเครื่องมือในการเขียนโค้ด

ก่อนอื่นเลยเราต้องโหลด JDK มาติดตั้งกันก่อน โดยโหลดที่
https://www.oracle.com/technetwork/java/javase/downloads/index.html

ในส่วนนี้ผมจะขอใช้โปรแกรม Netbeans นะครับโหลดกันได้เลยที่ www.netbeans.org

จากนั้นก็ทำการเปิดโปรแกรมขึ้นมา จะพบหน้าจอดังนี้

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

โครงสร้างโค้ดภาษา JAVA

ก่อนที่เราจะทำการเขียนโค้ดภาษา java เราจะต้องรู้โครงสร้างของโค้ดก่อนครับ
รูปแบบจะเป็นดังนี้

import lib

class ชื่อคลาส {
}

วันศุกร์ที่ 2 พฤศจิกายน พ.ศ. 2561

เครื่องมือที่ใช้ในการเขียนโปรแกรม java

วันนี้จะมาแนะนำเครื่องมือต่างๆ ที่ใช้โค้ดโปรแกรมภาษา java กันครับ จริงๆ ในตลาดมีหลายตัว แต่จะขอแนะนำเฉพาะที่เป็นตัวฟรี และใช้ง่ายนะครับ

java คืออะไร

ภาษา java เป็นอีกภาษาที่ใช้ในการเขียนโปรแกรม ที่ได้รับความนิยมมากที่สุด ตลอดระยะเวลาหลายปี เพราะความเรียบง่าย เป็น OOP และถูกนำไปใช้ในการสร้างโปรแกรม ตั้งแต่ขนาดเล็ก จนถึง ขนาดใหญ่ ในช่วงตลอด 20 กว่าปีมานี้