200 likes | 377 Views
บทที่ 1 แนะนำภาษาจาวา. จาวาแพลตฟอร์ม , การติดตั้งจาวา , วิธีการคอมไพล์ , วิธีการรัน , จาวาไลบรารี , คลาสพาท , โครงสร้างโปรแกรมจาวา , ข้อผิดพลาด. จาวาแพลตฟอร์ม. J2SE – Java Standard Edition แพร่หลาย ติดตั้งในเครื่องคอมพิวเตอร์ทั่วไป J2EE – Java Enterprise Edition ต้องใช้ J2SE ด้วย
E N D
บทที่ 1 แนะนำภาษาจาวา จาวาแพลตฟอร์ม, การติดตั้งจาวา, วิธีการคอมไพล์, วิธีการรัน, จาวาไลบรารี, คลาสพาท, โครงสร้างโปรแกรมจาวา, ข้อผิดพลาด
จาวาแพลตฟอร์ม • J2SE – Java Standard Edition • แพร่หลาย ติดตั้งในเครื่องคอมพิวเตอร์ทั่วไป • J2EE – Java Enterprise Edition • ต้องใช้ J2SE ด้วย • มีไลบรารีเพิ่มขึ้น ซึ่งหมายถึงฟังก์ชันเพิ่มขึ้น • มีมารตฐานมารองรับเพิ่มขึ้น • J2ME – Java Micro Edition • อุปกรณ์ขนาดเล็ก หรือมีทรัพยากรจำกัด • ไม่ต้องใช้ J2SE • มีไลบรารีน้อยกว่า • มีข้อจำกัด และความแตกต่างระหว่างผู้ผลิตค่อนข้างสูง ฟังก์ชัน คือ ความสามารถในการทำงานตามคำสั่ง ฟังก์ชัน ที่ ทำงานเพื่อวัตถุประสงค์เดียวกัน รวมตัวกันเป็น “ไลบรารี” แนะนำภาษาจาวา
การติดตั้ง • J2SE มีตัวติดตั้ง 2 แบบ • J2SE runtime environments (JRE) • J2SE development toolkits (JDK) • สำหรับเครื่องผู้พัฒนา • JDK • JRE (ติดตั้งไว้เพื่อทดสอบการทำงานในสภาพแวดล้อมจริงจะไม่ติดตั้งก็ได้) • สำหรับเครื่องผู้ใช้งาน • J2RE อย่างเดียวก็พอ แนะนำภาษาจาวา
ภาษาการโปรแกรม • ภาษาการโปรแกรม คือ ภาษาหนึ่งภาษาในโลก • มักมีลักษณะคล้ายคลึงกับภาษาอังกฤษ • แต่มีโครงสร้างประโยคที่ค่อนข้างจำกัด • โปรแกรม จะต้องถูกแปลงเป็นภาษาเครื่องก่อน ถึงจะทำงานได้ • คอมไพเลอร์ หรือตัวแปลภาษา จะทำหน้าที่แปลงซอร์สโค้ด ไปเป็นภาษาอื่น • โดยทั่วไป ภาษาอื่น คือ ภาษาเครื่อง • คอมไพเลอร์ของภาษาจาวา แตกต่างออกไป ซอร์สโค้ด คือ ไฟล์ข้อความธรรมดา ที่เขียนด้วนภาษาการโปรแกรม ไม่สามารถนำมารันได้ แต่นำมาคอมไพล์ได้ แนะนำภาษาจาวา
การคอมไพล์ และ การรัน โปรแกรมจาวา • จาวาคอมไพเลอร์ จะแปล จาวาซอร์สโค้ดไปเป็นรูปแบบพิเศษ ที่เรียกว่า ไบต์โค้ด (Byte code) • จาวาไบต์โค้ด ไม่ใช่ ภาษาเครื่อง • อินเตอร์พริตเตอร์ (Interpreter) เป็นอีกเครื่องมือที่จะแปลง ไบต์โค้ด เป็น ภาษาเครื่อง • จาวา เมื่อคอมไพล์แล้ว สามารถนำไปรันเป็นเครื่องชนิดใดก็ได้
การคอมไพล์ และ การรัน โปรแกรมจาวา จาวาซอร์สโค้ด จาวาไบต์โค้ด จาวา คอมไพเลอร์ จาวา อินเตอร์พริตเตอร์ ภาษาเครื่อง
วิธีการคอมไพล์ • javacคือ คอมไพล์เลอร์ของเรา (มีอยู่ใน JDK เท่านั้น) • วิธีการใช้: javac <options> <ชื่อไฟล์> • ชื่อไฟล์จะต้องมีนามสกุลเป็น ‘java’ • ถ้าการคอมไพล์สำเร็จ ผลลัพธ์ที่ได้ คือ ไบต์โค้ด ซึ่งบรรจุอยู่ในไฟล์นามสกุล ‘class’ • โดยส่วนใหญ่ เราเรียกไฟล์นี้ว่า คลาสไฟล์ • โดยทั่วไป ผลลัพธ์จะถูกเก็บไว้ ในไดเร็คทอรีปัจจุบัน • Options ‘-d <ไดเร็คทอรี>’ กำหนดไดเร็คทอรีที่จะเก็บคลาสไฟล์ แนะนำภาษาจาวา
วิธีการรันโปรแกรม • javaคืออินเตอร์พริตเตอร์ของเรา (มีอยู่ในทั้ง JDK และ JRE) • การใช้งาน: java <options> <ชื่อคลาส> <อาร์กิวเมนต์> • ชื่อคลาสที่ใช้ในคำสั่ง ต้องไม่เขียน ‘.class’ • คลาสที่จะรันจะต้องมีเมธอด • public static void main (String[] args) • โปรแกรมจาวา สามารถบรรจุไว้ใน จาร์ไฟล์ • จาร์ไฟล์ คือ ไฟล์ที่มีนามสกุล ‘jar’ • การรันโปรแกรมในจาร์ไฟล์: java <options> –jar <จาร์ไฟล์> <args> • จาร์ไฟล์บางไฟล์ อาจไม่สามารถนำมารันได้ แนะนำภาษาจาวา
จาวาไลบรารี • คลาสไฟล์หลายๆ อันถูกรวบรวมไว้ภายใต้จาร์ไฟล์ • จาร์ไฟล์ มีรูปแบบการรวบรวมเหมือนซิปไฟล์ (zip) • จาวาไลบรารีจะใช้งานได้ เมื่อถูกระบุไว้ในคลาสพาท (Classpath) เท่านั้น • คลาสพาท คือ กลุ่มของไดเร็คทอรีหรือจาร์ไฟล์ ที่คลาสจะถูกเรียกใช้ได้ • เราสามารถระบุคลาสพาทร่วมกับการใช้คำสั่ง java และ javac ผ่าน • Option* ‘-cp <classpath>’ • คลาสพาทแต่ละอันจะถูกแบ่งด้วยเครื่องหมาย ; (สำหรับ Windows) และ : (สำหรับ Linux) • ตัวอย่าง • java –cp .;c:\lib\extra_lib.jar HelloWorld ‘.’ คือ ไดเร็คทอรีปัจจุบัน (working directory)ที่โปรแกรมทำงานอยู่ แนะนำภาษาจาวา
แนวทางการเขียนโปรแกรมแนวทางการเขียนโปรแกรม • วัตถุประสงค์ในการเขียนโปรแกรม คือ การแก้ปัญหา • ขั้นตอนทั่วไปในการแก้ปัญหาคือ • เข้าใจปัญหา • แบ่งปัญหาออกเป็นส่วนๆ • ออกแบบลำดับ และแนวทางในการแก้ปัญหา • มองหาแนวทางการแก้ปัญหาแบบอื่นๆ ที่อาจจะดีกว่า และทำให้ดีขึ้น • ทำการสร้างโปรแกรม • ทดสอบและแก้ไขปัญหาที่ตรวจพบ
ภาษาการโปรแกรม ‘จาวา’ • ภาษาจาวา มีคำ และสัญลักษณ์ต่างๆ ที่เราใช้ในการเขียนโปรแกรม • ภาษาจาวา กำหนดแนวทางในการผสมคำ และสัญลักษณ์เข้าด้วยกัน เพื่อให้ได้ชุดคำสั่ง (program statements) ที่ถูกต้อง • จาวา สร้างขึ้นโดยบริษัท Sun Microsystems • เป็นที่รู้จักตั้งแต่ปี 1995 และได้รับความนิยมอย่างต่อเนื่อง • เป็นภาษาการโปรแกรมเชิงวัตถุ (OO: Object-oriented)
โครงสร้างโปรแกรมจาวา • ในการเขียนโปรแกรมจาวา: • โปรแกรมหนี่งๆ เกิดจาก คลาส (class) จำนวนหนึ่งคลาสหรือมากกว่า • คลาสหนึ่งประกอบด้วย เมธอด (method) ต่างๆ • เมธอดหนึ่งประกอบด้วย คำสั่ง (statement) ต่างๆ • คำเหล่านี้จะได้เรียนรู้ต่อไปในบทถัดๆ ไป • โปรแกรมจาวา จะต้องมีเมธอด ที่ชื่อว่า mainเสมอ ไฟล์จาวาหนึ่งไฟล์ (มัก) มี คลาสหนึ่งคลาส ไฟล์จาวาที่มี คลาส ที่มี เมธอด ชื่อ mainเรียกว่าโปรแกรมจาวา
โครงสร้างโปรแกรมจาวา // คำอธิบายเกี่ยวกับ class นี้ public class MyProgram { } หัวของ class ตัวของ class เราสามารถใส่คำอธิบายโปรแกรมได้เกือบทุกที่ในคลาส
โครงสร้างโปรแกรมจาวา // คำอธิบายเกี่ยวกับ class นี้ public class MyProgram { } // คำอธิบายเกี่ยวกับเมธอดนี้ public static void main (String[] args) { } หัวของ method ตัวของ method
คำอธิบายโปรแกรม • ใช้อธิบายหน้าที่การทำงานของคลาส เมธอด หรือคำสั่ง เพื่อความง่ายในการทำความเข้าใจ • เขียนด้วยภาษาอะไรก็ได้ (ภาษาไทยก็ได้) • ไม่มีผลกระทบกับการทำงานของโปรแกรม • เราสามารถเขียนคำอธิบายโปรแกรมได้สองแบบ คือ // คำอธิบายเริ่มต้นจากจุดนี้ ไปจนหมดบรรทัด /* คำอธิบายเริ่มต้นจากจุดนี้ ไปจนถึงเครื่องหมายจบ แม้จะข้ามบรรทัดไปก็ตาม */
คำระบุชื่อ • คำระบุชื่อ (Identifier)คือ คำที่ผู้พัฒนาโปรแกรมใช้ในโปรแกรม • เกิดจาก ตัวอักษร ตัวเลข เครื่องหมาย_ และ $ • จะต้องไม่ขึ้นต้นด้วยตัวเลข • จาวา แยกความแตกต่างระหว่างตัวเล็กและตัวใหญ่ • Totalและtotalคือ คำระบุชื่อที่ต่างกัน • ชื่อ คลาส และ เมธอด เป็นไปตามกฎคำระบุชื่อ • คำระบุชื่อ บางคำ เป็น คำสงวน เราไม่สามารถนำมาตั้งชื่อของเราได้
คำสงวน • คำสงวนในภาษาจาวามีดังนี้ abstract boolean break byte byvalue case cast catch char class const continue default do double else extends false final finally float for future generic goto if implements import inner instanceof int interface long native new null operator outer package private protected public rest return short static super switch synchronized this throw throws transient true try var void volatile while
ที่ว่างสีขาว • ช่องว่าง บรรทัดว่างๆ และแทบ เรียกว่าwhite space • White space ใช้สำหรับการแยกคำ และ สัญลักษณ์ต่างๆ ในโปรแกรม • ที่ว่างที่มากกว่าช่องว่างหนึ่งอัน จะไม่มีผลกับโปรแกรม • จาวาโปรแกรมหนึ่งๆ อาจถูกจัดรูปแบบต่างกัน แต่ทำงานเหมือนกัน • โปรแกรมควรถูกจัดรูปแบบให้ง่ายต่อการอ่าน
ข้อผิดพลาด • ข้อผิดพลาดในการพัฒนาโปรแกรม มี 3 แบบ คือ • คอมไพล์เลอร์พบความผิดพลาดกับโครงสร้างทางภาษา • เรียกว่า ความผิดพลาดขณะคอมไพล์ (compile-time errors) • ถ้าความผิดพลาดนี้ยังอยู่ คลาสไฟล์จะไม่ถูกสร้างขึ้น • โปรแกรมผิดพลาดในขณะตอนทำงาน • เช่น ความพยายามในการหารตัวเลขด้วย 0 • อาจทำให้โปรแกรมหยุดทำงานทันที • เรียกความผิดพลาดแบบนี้ว่า ความผิดพลาดขณะรันโปรแกรม (run-time errors) • โปรแกรมรัน แต่ได้ผลลัพธ์ไม่ถูกต้อง • เรียกว่า ความผิดพลาดทางตรรกะ (logical errors)