วันศุกร์ที่ 31 ตุลาคม พ.ศ. 2551

Primitive data type (ชนิดข้อมูลพื้นฐาน)

ในภาษา java มีชนิดข้อมูลพื้นฐานอยู่ทั้งหมด 4 แบบ คือ
1. จำนวนเต็ม หรือ Integer เป็นชนิดข้อมูลที่เก็บตัวเลขจำนวนเต็ม เช่น 1 2 3
2. จำนวนจริง หรือ Real number (float, double) ใช้เก็บจำนวนทศนิยม เช่น ค่า pi 3.14 เป็นต้น
3. ข้อความ หรือ Character (char) ใช้เก็บพวกตัวอักษรต่างๆ เช่น A B C
4. ตรรกศาสตร์ Boolean (boolean) ใช้เก็บพวกตรรกศาสตร์ซึ่งมีแค่ 2 ค่าเท่านั้น คือ true กับ false

วันพุธที่ 29 ตุลาคม พ.ศ. 2551

เริ่มต้นเขียนโปรแกรมแรก

หลังจากที่ได้เรียนรู้พื้นฐานต่างๆมาพอสมควรแล้วก็ได้เวลาเริ่มต้นเขียนโปรแกรมแรกแล้วนะคับ แต่ก่อนอื่นต้องบอกว่า จะใช้ editor ตัวไหนเขียนก็ได้นะคับ เช่น notepad แต่โปรแกรมที่นิยมสำหรับนักโปรแกรมเมอร์และผู้เริ่มเขียนโปรแกรมมักจะใช้ Edit Plus เพราะมีสีที่ช่วยแบ่งแยกแต่ละคำสั่งอย่างชัดเจนพร้อมทั้งเว้นวรรคให้อย่างถูกต้องและเป็นระเบียบกว่า หาดาวน์โหลดได้ใน internet (version 2.12 serial
username : editplus key : 954B885DD8 )หรือหาดาวน์โหลดเป็นแบบทดลองใช้ 30 วันก่อนก็ได้ http://www.editplus.com/

ไม่ว่าจะเป็นภาษาอะไรก็ตามนะคับ โปรแกรมแรกที่เริ่มเขียนก็คือ โปรแกรม Hello World คือโปรแกรมที่แสดงผลออกทางหน้าจอ เริ่มกันเลย Let's Go...

class Ice { //ชื่อคลาส
public static void main(String[]args) { // method main
System.out.println("Hello World"); // คำสั่งแสดงภาพออกทางหน้าจอ
}
}

จากนั้นเซฟเป็นชื่อไฟล์ ตามชื่อคลาสนะคับ ตามด้วยนามสกุลไฟล์ .java เช่น ice.java แล้วเซฟ

การ Set Path ให้เครื่องรันโปรแกรมได้

ในหัวข้อนี้เราจะทำการ set ค่าให้คอมพิวเตอร์ทำการ compile ตัวโปรแกรม java ที่เราเขียนได้
ขั้นแรกต้องทำการ download ตัว JDK (Java Development Kit) หรือตัวใช้ในการพัฒนาโปรแกรม เป็นตัว compile โปรแกรม และรันโปรแกรม (นั่นก็คือตัว JVM)
java มี3 edition ดังนี้
1. J2ME (Micro edition) ใช้สร้างโปรแกรมที่จะทำงานบนอุปกรณ์ไฟฟ้าขนาดเล็ก เช่น โทรศัพท์มือถือ
2. J2SE (Standard Edition) ใช้สร้างโปรแกรมที่จะทำงานบนเครื่องคอมพิวเตอร์เดสก์ทอปทั่วไป
3. J2EE (Enterprise Edition) ใช้สร้างโปรแกรมเพื่อใ้ช้งานในบริษัท หรือองค์กรขนาดใหญ่

ตัวที่เราจะใช้คือ J2SE ดาวน์โหลดได้หลายที่ แต่ที่แนะนำคือ จากเว็บของ sun microsystems :::: www.java.sun.com เมื่อดาวน์โหลดเสร็จก็ทำการติดตั้งได้เลยโดยคลิก Next ไปเรื่อยๆ แล้วก็ finish ก็เป็นอันเสร็จเรียบร้อย แต่ตัวคอมพิวเตอร์เองยังไม่สามารถ compile และ run ได้เนื่องจากยังไม่รู้ว่าตัว jvm ของเราอยู่ตรงไหน เราจึงต้องทำการเซ็ตค่าให้มันรู้จัก โดยการทำแบบนี้เรียกว่า การ set path มีวิธีการดังนี้

ขอบอกสำหรับคนที่ใช้ windows XP ละกันนะคับ สำหรับ windows อื่น ก็มีวิธีการคล้ายๆกัน
1. ถ้าติดตั้งไว้ที่ drive C ก้อให้ double คลิกไปที่ drive C >>> Program file >>> JAVA >>> JDK 1.6.0 (ตัวเลขขึ้นอยู่กับ เวอร์ชันที่ดาวน์โหลดมา สังเกตดีๆนะคับ ตัว JDK ไม่ใช่ JRE) >>> bin แล้วทำการ copy ที่อยู่บน address bar ทั้งหมด ประมาณว่า C:\Program Files\Java\jdk1.6.0_06\bin

2. คลิกขวาที่ my computer แล้วคลิกแทบ advance >>>Environment Varialbles >>> ตรง system variables ให้หาไฟล์ที่ชื่อว่า path แล้วคลิกซ้ายหนึ่งครั้ง แล้วคลิกที่ edit เลื่อนไปด้านหลังสุดแล้วใส่สัญลักษณ์ cemicolon (;) แล้วกดปุ่ม Ctrl + v หรือคลิกขวาเลือก paste กด OK >>>OK>>>OK

3. ทดสอบ โดยคลิกที่ start >>> run>>>พิมพ์ cmd >>> พิมพ์ java -version ถ้าถูกต้องจะได้ว่า Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)


GoodLuck !!!

OOP (Object-Oriented Programing)

Object Oriented Programming เป็นการเขียนโปรแกรมโดยการมองสิ่งต่างๆ เป็นวัตถุ ซึ่งใน Realworld สิ่งต่างๆ รอบๆ ตัวเราก็เป็นวัตถุ โดยมีแนวคิดที่ว่า สิ่งที่ประกอบกันเป็นวัตถุนั้นจะประกอบไปด้วย

  • Attribute(ลักษณะที่สามารถอธิบายได้ว่าวัตถุนี้คืออะไร อย่างเช่น คนสิ่งที่อธิบายได้ว่าเป็นคน อาจจะเป็น มีหู ตา จมูก ปาก แขน ขา อะไรพวกนี้)
  • Method(พฤติกรรมของวัตถุนั้นว่าสามารถทำอะไรได้ พูดง่ายๆ การกระทำนั่นแหละ)

เราสามารถทำการ Implement ได้โดยการทำให้อยู่ในรูปของ Class ซึ่งเปรียบเหมือนกับต้นแบบที่ไว้ สร้าง Object (Class ไม่ใช่ object นะ) คุณสมบัติที่สำคัญของ OOP ก็คือ

  1. Encapsulation
    เป็นการห่อหุ้ม Attribute ไว้ด้วย Method หมายความว่าการที่เราต้องการเข้าไป เปลี่ยนแปลงหรือใช้ค่า Attribute นั้นต้องกระทำผ่าน Method ยกตัวอย่างเช่นเด็กหญิงนิดกับเด็กหญิงหน่อยเป็นเพื่อนกัน มีอยู่วันหนึ่งนิดเดินเหยียบเท้าหน่อย หน่อยรู้สึกไม่พอใจ (ตอนนี้ค่า Attribute อารมณ์ของหน่อยเพิ่มขึ้น) แต่นิดยังไม่รู้ เมื่อหน่อยแสดงสีหน้าไม่พอใจ เมื่อนิดเห็นแบบนั้นนิดรู้สึกผิด(หน่อยก็ยังไม่รู้เพราะ นิดคิดอยู่ในใจ) จึงกล่าวขอโทษ หน่อยได้ยินแบบนั้นจึงหายโกรธ

    ตัวหนา คือ Method
    ตัวหนาเอียง คือ Attribute

    จะเห็นได้ว่าค่า Attribute นั้นก็คือค่าที่อยู่ภายในการที่จะให้ Object อื่นรับรู้ได้ก็จำเป็นที่จะ ต้องแสดงค่านั้นออกมาผ่านทาง Method สิ่งที่ส่งออกมาให้ Object อื่นรับรู้นั้นเราเรียกว่า Message จากตัวอย่างจะเห็นว่ามีการเปลี่ยนแปลงค่า Atrribute ตอนที่นิดเหยียบเท้าหน่อยนั้น การเหยียบเท้าคือ Method ที่แสดงออกมาทำให้อารมณ์ ซึ่งเป็น Attribute อยู่ภายในเปลี่ยนแปลง และ การกล่าวขอโทษก็เป็น Method ที่ทำการเปลี่ยนแปลงค่า Attribute ดังนั้นภาพของ Object ในหัวก็จะเป็นลักษณะที่ Method ห่อหุ้ม Attribute ไว้ วัตถุทุกตัวจะแสดงออกให้รับรู้ถึงสิ่งที่อยู่ภายในหรือสิ่งที่ต้องการผ่าน ทางการกระทำ

  2. Inheritance
    เป็นการทำให้ Class สามารถสืบทอดต่อกันได้ โดยลักษณะของการสืบทอดนั้นก็เพื่อเพิ่มเติมความสามารถให้สามารถทำงานได้ มากกว่าคลาสแม่ที่สืบทอดมา เช่น คลาสของคนสืบทอดมาจากคลาสของสัตว์เลี้ยงลูกด้วยนม โดยที่ Method พื้นฐานของสัตว์เลี้ยงลูกด้วยนมนั้น สมมุติให้มีเพียง กินอาหาร สืบพันธุ์ ขับถ่าย Class ของคนที่สืบทอดมาจากสัตว์เลี้ยงลูกด้วยนม สิ่งที่คนทำได้แตกต่าง เช่น การพูด ก็จะถูกเพิ่มเข้าไปในคลาสของคน สรุปว่าคนสามารถ กิน,สืบพันธุ์,ขับถ่าย และ พูด ได้
  3. Abstraction
    เป็นการสร้าง Method แบบลอยๆ ขึ้นมายังไม่ได้ระบุรายละเอียดว่า Method นั้น ทำงานอย่างไรจะมีการระบุการทำงานในส่วนของ Subclass ที่รับสืบทอดมา สาเหตุที่มีการทำแบบนี้ก็เพื่อให้สามารถใช้ Polymorphism ได้นั่นเอง
  4. Polymorphism
    คือสภาวะที่ Method มีหลายรูปแบบ​ เป็น​วิธีการกำ​หนดรูปแบบการกระทำ​ที่​เหมือน​กัน​แต่​ได้​ผลที่​แตกต่างกัน สมมุติว่ามี คลาสแม่(Superclass) ที่เป็นคลาสของสัตว์เลี้ยงลูกด้วยนม โดยมีคลาสลูก(Subclass) คือ คลาสของคนกับสุนัข ซึ่งทั้งคนกับสุนัขมี Method ที่ใช้ในการเปล่่งเสียงซึ่งการเปล่งเสียงระหว่างคนกับสุนัขนั้นไม่เหมือนกัน แต่มันก็คือการเปล่งเสียง ดังนั้นเมื่อได้รับ Message ที่บอกให้ทำการเปล่งเสียงทั้งคนและสุนัขก็สามารถเปล่งเสียงได้เพียงแต่มี เสียงที่แตกต่างกันเท่านั้นเอง เพื่อให้สามารถเข้าใจได้ง่ายเราก็จะสร้าง Method ที่ชื่อว่า เปล่งเสียง( ) มาเพียงชื่อเดียวแล้วใช้หลักการ polymorphism นี้เพื่อให้สามารถเปล่งเสียงได้หลายๆ รูปแบบ

การสร้างโครงสร้างการ Design แบบ OO ที่ดีนั้นควรพยายามสร้างตามหลักข้างบนให้ได้นะครับ จะช่วยได้มากเลยทีเดียว แต่ที่แน่ๆ พยายามทำให้คลาสของเรามีลักษณะที่เป็น Encapsulation ตามข้อแรกให้ได้ครับ

(copy from http://thitipat.wordpress.com/2007/02/04/object-oriented-programming-oop/)


introduction of JAVA เริ่มต้นกับ จาวา

สวัสดีคับ เพื่อนๆ ที่แวะเข้ามาดูบล็อกของผม ในบล็อกนี้ก้อจะแนะนำเพื่อนๆ เกี่ยวกับการเขียนโปรแกรม โดยใช้ภาษาสุดฮิตและเป็นที่นิยมในปัจจุบันไม่ว่าจะไปที่ไหนก็จะได้ยินแต่คำว่า JAVA programing หรือ java game หรือ java script เพราะว่าภาษา java นั้นเป็นภาษาที่ไม่ได้ยึดติดกับ platform อันใดอันหนึ่ง ถ้าจะพูดให้เข้าใจก็คือว่า เป็นภาษาที่ไม่ยึดติดกับระบบปฏิบัติการอันใดอันหนึ่ง สามารถรันหรือทำงานได้ทุกเครื่อง ไม่ว่าจะเป็น windows , Mac OS X , Linux , Symbian บนโทรศัพท์มือถือ เป็นต้น ขอเพียงแค่มีตัวที่เรียกว่า JVM (Java Visual Machine) หรือ คอมพิวเตอร์เสมือนที่ทำนหน้าที่รัน ภาษา java ทำให้ภาษา java ได้รับฉายาว่า Write one Run any where (เขียนเพียงครั้งเดียวแต่รันได้ทุกที่) และเป็นภาษาแบบ OOP (Object-Oriented Programming)หรือที่เรียกว่าการเขียนโปรแกรมเชิงวัตถุ คือการเขียนโปรแกรมโดยมองว่ามันเป็นวัตถุ เช่นเขียนโปรแกรมรถ เราก็ต้องมองรถให้เป็นวัตถุ โดยรถก็มีส่วนประกอบต่างๆมากมาย เช่นประตู กระจก หรือเครื่องยนต์ เหล่านี้เมื่อเป็นการเขียนโปรแกรมเราเรียกมันว่า คลาส (class)เช่น คลาสของกระจก เราก็ต้องกำหนดส่วนประกอบของกระจกหรือคุณสมบัติให้กับมัน ส่วนคุณสมบัติของมัน เช่น คุณสมบัติของเครื่องยนต์ที่สามารถทำให้รถวิ่งได้ หรือคุณสมบัติของกระจกที่ใส โปร่งแสง เหล่านี้ในการเขียนโปรแกรมเราเรียกมันว่า method อ้อ กล่าวมาซะยาว เรามารู้จักประวัติของภาษา java กันก่อนนะคับ เริ่มเข้าเรื่องกันก่อนดีกว่านะ อิอิ

#######################
Warning!!! (ข้อควรระวัง)
ภาษา Java เป็นภาษาที่เรียกว่า Case-sensitive หรือพูดง่ายๆก้อคือเป็นภาษาที่ตัวอักษรตัวเล็กกับตัวใหญ่นั้นมีค่าไม่เท่ากัน เช่น "A" กับ "a" มีค่าไม่เท่ากันโดยมีหลักการว่า ตัวใหญ่สำหรับขึ้นต้นกับคลาส ชื่อคลาสเป็นต้น เช่น System.out.println ตัว S ตัวแรกต้องเป็นตัวอักษรใหญ่เท่้านั้นเพื่อบอกใ้ห้ทราบว่าเราจะดึงคลาส system มาใช้แสดงผล
#######################


ประวัติภาษา JAVA

ภาษาจาวา เป็นภาษาโปรแกรมเชิงวัตถุที่พัฒนาขึ้นโดย “เจมส์ กอสลิง” (James Gosling) และทีมวิศวกรของเขา ซึ่งบริษัทซันไมโครซิสเต็ม ต้องการนำภาษาจาวามาใช้แทนภาษา C++ ชื่อของจาวามาจากชื่อกาแฟที่ทีมวิศวกรของซันดื่มตอนที่ร่วมกันพัฒนาภาษาจาวาขึ้นมา Java ถูกคิดค้นและสร้างโดย บริษัท Sun Microsystems ซึ่งเป็นบริษัทผู้ขายระบบ Unix ที่มีชื่อว่า Solaris ซึ่งจุดเด่นของภาษา Java อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้ พัฒนาขึ้นโดยทีมวิจัยของ บริษัท ซันไมโครซิสเต็ม (Sun Microsystems)พัฒนามาจากโครงการที่ต้องการพัฒนาระบบซอฟต์แวร์เพื่อควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กภายในบ้านชื่อเดิมคือภาษา Oak ต่อมาเปลี่ยนชื่อเป็นภาษาจาวาภาษาจาวาเริ่มเป็นที่นิยมแพร่หลายในปี ค.ศ. 1995ภาษาจาวาเป็นภาษาที่ไม่ขึ้นกับแพลตฟอร์ม (platform independent)JDK 1.0 ประกาศใช้เมื่อปี1996JDK เวอร์ชันปัจจุบันคือ Java 2

วิวัฒนาการของภาษาจาวาจากรุ่นแรกถึงจาวา 1.5

1. (ค.ศ. 1996) — ออกครั้งแรกสุด

2. (ค.ศ. 1997) — ปรับปรุงครั้งใหญ่ โดยเพิ่ม Inner Class

3. (4 ธันวาคม ค.ศ. 1998) — รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม JIT Compiler) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด strictfp) และทั้งหมดถูกเรียกชื่อใหม่ว่า "จาวา 2" แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง

4. (8 พฤษภาคม ค.ศ. 2000) — รหัส Kestrel แก้ไขเล็กน้อย

5. (13 กุมภาพันธ์ ค.ศ. 2002) — รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)

6. (29 กันยายน ค.ศ. 2004) — รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น Annotations ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, Enumerations, Varargs, Enhanced for loop, Autoboxing, และที่สำคัญคือ Generics

การพัฒนาการในช่วงเวลาต่าง ๆ

ถูกพัฒนาตั้งแต่ปี 1991 โดยบริษัท Sun Microsystems ซึ่งเป็น ส่วนหนึ่งของ Green Project
Write Once Run Anywhere
ค.ศ.1991

บริษัท ซันไมโครซิสเต็ม (Sun Microsystems) ได้ทำการวิจัยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ควบคุมอุปกรณ์เล็กทรอนิคส์ขนาดเล็ก ซึ่งได้ผลลัพธ์ที่สำคัญคือ ภาษาโอ๊ค (Oak)
ค.ศ.1993
ภาษาโอ๊คได้ถูกปรับปรุงใหม่เพื่อใช้ในการสร้างเว็บแอพพลิเคชั่น (Web Application) พร้อมกับสร้างเว็บเบราว์เซอร์ (Web Browser) ที่รองรับ ชื่อว่าเว็บรันเนอร์ (Web Runner)
ค.ศ.1995
บริษัทซันได้เปิดตัวภาษาจาวา (Java) (ภาษาโอ๊คเดิม) พร้อมกับเว็บเบราว์เซอร์ ที่รองรับภาษานี้ ชื่อว่า ฮอตจาวา (HotJava) (WebRunner เดิม)
ได้รับการสนับสนุนจากบริษัทใหญ่ทั้งเน็ตสเคบ (Netscape), ไมโครซอฟต์ (Microsoft), และ ไอบีเอ็ม (IBM)
บริษัทซัน ได้เริ่มแจกจ่าย Java development Kit (JDK) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเทอร์เน็ต