จาวา (อังกฤษ: Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (อังกฤษ: Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของ โครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน
และแม้ว่าจะมีชื่อคล้ายกัน แต่ภาษาจาวาไม่มีความเกี่ยวข้องใด ๆ กับภาษาจาวาสคริปต์ (JavaScript) ปัจจุบันมาตรฐานของภาษาจาวาดูแลโดย ซึ่งเป็นกระบวนการอย่างเป็นทางการ ที่อนุญาตให้ผู้ที่สนใจเข้าร่วมกำหนดความสามารถในได้
จุดมุ่งหมาย
จุดมุ่งหมายหลัก 4 ประการ ในการพัฒนาจาวา คือ
- ใช้ภาษาโปรแกรมเชิงวัตถุ
- ไม่ขึ้นกับแพลตฟอร์ม (สถาปัตยกรรม และ ระบบปฏิบัติการ)
- เหมาะกับการใช้ในระบบเครือข่าย พร้อมมีไลบรารีสนับสนุน
- เรียกใช้งานจากระยะไกลได้อย่างปลอดภัย
จาวาแพลตฟอร์ม และ ภาษาจาวา
เนื่องจากชื่อที่เหมือนกัน และการเรียกขานที่มักจะพูดถึงพร้อมกันบ่อยๆ ทำให้คนทั่วไป มักสับสนว่า ภาษาจาวา และ เป็นสิ่งเดียวกัน
ในความเป็นจริงนั้น ทั้งสองสิ่ง แม้จะทำงานเสริมกัน แต่ก็เป็นสิ่งที่แยกออกจากกัน
โดย ภาษาจาวานั้น คือภาษาสำหรับใช้เขียนโปรแกรมภาษาหนึ่ง ดังที่ได้อธิบายไปข้างต้น ส่วน จาวาแพลตฟอร์มนั้น คือสภาพแวดล้อมสำหรับการใช้งานโปรแกรมจาวา โดยมีองค์ประกอบหลักคือ (Java virtual machine) และ ไลบรารีมาตรฐานจาวา (Java standard library)
โปรแกรมที่ทำงานบนจาวาแพลตฟอร์มนั้น ไม่จำเป็นจะต้องสร้างด้วยภาษาจาวา เช่น อาจจะใช้ ภาษาไพทอน (Python) หรือ ภาษาอื่นๆ ก็ได้
ส่วนภาษาจาวานั้น ก็สามารถนำไปใช้พัฒนาโปรแกรมสำหรับแพลตฟอร์มอื่นได้เช่นเดียวกัน เช่น คอมไพเลอร์ gcj สามารถคอมไพล์โปรแกรมที่เขียนด้วยภาษาจาวา ให้ทำงานได้ โดยไม่ต้องใช้ จาวาเวอร์ชวลแมชีน
ประวัติ
รุ่นต่าง ๆ ของภาษาจาวา
- 1.0 (ค.ศ. 1996) — ออกครั้งแรกสุด
- 1.1 (ค.ศ. 1997) — ปรับปรุงครั้งใหญ่ โดยเพิ่ม
- 1.2 (4 ธันวาคม, ค.ศ. 1998) — รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม ) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด ) และทั้งหมดถูกเรียกชื่อใหม่ว่า "จาวา 2" แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง
- 1.3 (8 พฤษภาคม, ค.ศ. 2000) — รหัส Kestrel แก้ไขเล็กน้อย
- 1.4 (13 กุมภาพันธ์, ค.ศ. 2002) — รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)
- 5.0 (29 กันยายน, ค.ศ. 2004) — รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, , , Enhanced for loop, , และที่สำคัญคือ
- 6.0 (11 ธันวาคม, ค.ศ. 2006) [1] — รหัส Mustang 2007-06-18 ที่ เวย์แบ็กแมชชีน เป็นรุ่นในการพัฒนาของ Java SDK 6.0 ที่ออกมาให้ทดลองใช้ในเดือนพฤศจิกายน ค.ศ. 2004
- 7.0 — รหัส Dolphin กำลังพัฒนา [2] 2006-04-05 ที่ เวย์แบ็กแมชชีน
- 8.0เริ่มใช้แล้ว
ตัวอย่าง
// ประกาศ class public class MyClass { // ประกาศ Method ชื่อ main เพราะ java จะเรียกหา Method main เป็น Method แรก public static void main(String[] args) { System.out.println("Hello World!"); // แสดงข้อความว่า Hello World! System.out.println(5+9);//นำ 5+9 มาคำนวณแล้วแสดงออกทางหน้าจอ } }
ซอฟต์แวร์ที่เกี่ยวข้อง
รายชื่อของซอฟต์แวร์เสรีที่เกี่ยวข้องกับจาวา
คอมไพเลอร์และเวอร์ชวลแมชีน
- JDK คอมไพเลอร์มาตรฐานของซัน ไมโครซิสเต็มส์
- คอมไพเลอร์ภาษาจาวาของโครงการ GCC หรือ GNU Compiler Collection
- คอมไพเลอร์ที่เดิมพัฒนาโดยไอบีเอ็ม
- ชุดไลบรารีสำหรับจาวาแพลตฟอร์ม โอเพนซอร์ส
- คอมไพเลอร์ภาษาจาวาบน .NET แพลตฟอร์ม
- JDK พัฒนาโดย บีอีเอ ซิสเต็มส์
สภาพแวดล้อมสำหรับการพัฒนา (IDE)
- เป็น IDE ที่เหมาะกับการศึกษา โดยเน้นที่แนวคิดเรื่องการเขียนโปรแกรมเชิงวัตถุ
- โอเพนซอร์ส
- ของบริษัทออราเคิล
- JEdit (เป็นเอดิเตอร์ แต่สามารถติดตั้งปลั๊กอินเพื่อเพิ่มความสามารถด้าน IDE ได้)
- ของภาควิชาวิศวกรรมคอมพิวเตอร์ จุฬาลงกรณ์มหาวิทยาลัย ฟรีและเล็กเหมาะกับการศึกษา ดูรายละเอียดเพิ่มเติ่มที่ http://www.cp.eng.chula.ac.th/~somchai/JLab/
- NetBeans โอเพนซอร์ส
- ของไอบีเอ็ม
- ของซัน ไมโครซิสเต็มส์
- ของไอบีเอ็ม (ปัจจุบันเลิกพัฒนาแล้ว ถูกแทนที่ด้วย )
- ของบริษัท Symantec
- ของไอบีเอ็ม ปัจจุบันถูกแทนที่ด้วย
ดูเพิ่ม
- RTSJ เรียลไทม์สเปคซิฟิเคชั่นสำหรับJava
แหล่งข้อมูลอื่น
- java.com ข้อมูลจาวา สำหรับผู้ใช้งานทั่วไป
- java.sun.com ข้อมูลจาวา สำหรับนักพัฒนา
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
cawa xngkvs Java programming language epnphasaopraekrmechingwtthu xngkvs Object Oriented Programming phthnaody ecms kxsling aelawiswkrkhnxun thi sn imokhrsisetms phasacawathukphthnakhuninpi ph s 2534 kh s 1991 odyepnswnhnungkhxng okhrngkarkrin the Green Project aelasaercxxksusatharnainpi ph s 2538 kh s 1995 sungphasanimicudprasngkhephuxichaethnphasasiphlsphls C odyrupaebbthiephimetimkhunkhlaykbphasaxxbecktthifsi Objective C aetedimphasanieriykwa phasaoxk Oak sungtngchuxtamiklthithangankhxng ecms kxsling aetwamipyhathanglikhsiththi cungepliynipichchux cawa sungepnchuxkaaefaethnolokkhxngphasacawa aelaaemwacamichuxkhlaykn aetphasacawaimmikhwamekiywkhxngid kbphasacawaskhript JavaScript pccubnmatrthankhxngphasacawaduaelody sungepnkrabwnkarxyangepnthangkar thixnuyatihphuthisnicekharwmkahndkhwamsamarthinidcudmunghmaycudmunghmayhlk 4 prakar inkarphthnacawa khux ichphasaopraekrmechingwtthu imkhunkbaephltfxrm sthaptykrrm aela rabbptibtikar ehmaakbkarichinrabbekhruxkhay phrxmmiilbrarisnbsnun eriykichngancakrayaiklidxyangplxdphycawaaephltfxrm aela phasacawaenuxngcakchuxthiehmuxnkn aelakareriykkhanthimkcaphudthungphrxmknbxy thaihkhnthwip mksbsnwa phasacawa aela epnsingediywkn inkhwamepncringnn thngsxngsing aemcathanganesrimkn aetkepnsingthiaeykxxkcakkn ody phasacawann khuxphasasahrbichekhiynopraekrmphasahnung dngthiidxthibayipkhangtn swn cawaaephltfxrmnn khuxsphaphaewdlxmsahrbkarichnganopraekrmcawa odymixngkhprakxbhlkkhux Java virtual machine aela ilbrarimatrthancawa Java standard library opraekrmthithanganbncawaaephltfxrmnn imcaepncatxngsrangdwyphasacawa echn xaccaich phasaiphthxn Python hrux phasaxun kid swnphasacawann ksamarthnaipichphthnaopraekrmsahrbaephltfxrmxunidechnediywkn echn khxmiphelxr gcj samarthkhxmiphlopraekrmthiekhiyndwyphasacawa ihthanganid odyimtxngich cawaewxrchwlaemchinprawtiruntang khxngphasacawa 1 0 kh s 1996 xxkkhrngaerksud 1 1 kh s 1997 prbprungkhrngihy odyephim 1 2 4 thnwakhm kh s 1998 rhs Playground dancawaaephltfxrmidrbkarepliynaeplngkhrngihyin API aela JVM API sakhythiephimmakhux Java Collections Framework aela Swing swnin JVM ephim aettwphasacawann epliynaeplngephiyngelknxy ephimkhiyewird aelathnghmdthukeriykchuxihmwa cawa 2 aetrabbelkhrunyngimepliynaeplng 1 3 8 phvsphakhm kh s 2000 rhs Kestrel aekikhelknxy 1 4 13 kumphaphnth kh s 2002 rhs Merlin epnrunthithukichnganmakthisudinpccubn khnathiekhiyn kh s 2005 5 0 29 knyayn kh s 2004 rhs Tiger edimthinbepn 1 5 ephimkhunsmbtiihminphasacawa echn sungepnthithkethiyngknwanamacakphasasicharp khxngbristhimokhrsxfth Enhanced for loop aelathisakhykhux 6 0 11 thnwakhm kh s 2006 1 rhs Mustang 2007 06 18 thi ewyaebkaemchchin epnruninkarphthnakhxng Java SDK 6 0 thixxkmaihthdlxngichineduxnphvscikayn kh s 2004 7 0 rhs Dolphin kalngphthna 2 2006 04 05 thi ewyaebkaemchchin 8 0erimichaelwtwxyang prakas class public class MyClass prakas Method chux main ephraa java caeriykha Method main epn Method aerk public static void main String args System out println Hello World aesdngkhxkhwamwa Hello World System out println 5 9 na 5 9 makhanwnaelwaesdngxxkthanghnacx sxftaewrthiekiywkhxngraychuxkhxngsxftaewresrithiekiywkhxngkbcawa khxmiphelxraelaewxrchwlaemchin JDK khxmiphelxrmatrthankhxngsn imokhrsisetms khxmiphelxrphasacawakhxngokhrngkar GCC hrux GNU Compiler Collection khxmiphelxrthiedimphthnaodyixbiexm chudilbrarisahrbcawaaephltfxrm oxephnsxrs khxmiphelxrphasacawabn NET aephltfxrm JDK phthnaody bixiex sisetmssphaphaewdlxmsahrbkarphthna IDE epn IDE thiehmaakbkarsuksa odyennthiaenwkhideruxngkarekhiynopraekrmechingwtthu oxephnsxrs khxngbristhxxraekhil JEdit epnexdietxr aetsamarthtidtngplkxinephuxephimkhwamsamarthdan IDE id khxngphakhwichawiswkrrmkhxmphiwetxr culalngkrnmhawithyaly friaelaelkehmaakbkarsuksa duraylaexiydephimetimthi http www cp eng chula ac th somchai JLab NetBeans oxephnsxrs khxngixbiexm khxngsn imokhrsisetms khxngixbiexm pccubnelikphthnaaelw thukaethnthidwy khxngbristh Symantec khxngixbiexm pccubnthukaethnthidwyduephimRTSJ eriylithmsepkhsifiekhchnsahrbJavaaehlngkhxmulxunjava com khxmulcawa sahrbphuichnganthwip java sun com khxmulcawa sahrbnkphthna