เนื้อหา
- ที่จะก้าว
- วิธีที่ 1 จาก 3: โปรแกรม Java ตัวแรกของคุณ
- วิธีที่ 2 จาก 3: โปรแกรม Hello world
- วิธีที่ 3 จาก 3: อินพุตและเอาต์พุต
- เคล็ดลับ
Java เป็นภาษาโปรแกรมเชิงวัตถุที่พัฒนาโดย James Gosling ในปี 1991 ซึ่งหมายความว่ามันใช้แนวคิดเช่น "วัตถุ" กับ "เขตข้อมูล" (อธิบายลักษณะของวัตถุ) และ "วิธีการ" (การดำเนินการที่วัตถุสามารถดำเนินการได้) Java เป็นภาษา "เขียนครั้งเดียวรันได้ทุกที่" ซึ่งหมายความว่าได้รับการออกแบบมาให้ทำงานบนแพลตฟอร์มใดก็ได้และบน Java Virtual Machine (JVM) ใด ๆ เนื่องจาก Java มีการใช้ภาษาทั่วไปอย่างกว้างขวางจึงเป็นเรื่องง่ายสำหรับผู้เริ่มต้นที่จะเรียนรู้และทำความเข้าใจ บทช่วยสอนนี้เป็นการแนะนำการเขียนโปรแกรมในภาษาจาวา
ที่จะก้าว
วิธีที่ 1 จาก 3: โปรแกรม Java ตัวแรกของคุณ
- ในการเริ่มเขียนโปรแกรมใน Java ก่อนอื่นคุณจะต้องตั้งค่าสภาพแวดล้อมการทำงาน โปรแกรมเมอร์หลายคนใช้สภาพแวดล้อมการพัฒนาแบบรวม (IDE) เช่น Eclipse และ Netbeans สำหรับการเขียนโปรแกรม Java แต่คุณสามารถเขียนและคอมไพล์โปรแกรม Java ได้โดยไม่ต้องใช้ IDE จำนวนมาก
- โปรแกรมที่มีลักษณะคล้าย Notepad ทุกชนิดเพียงพอสำหรับการเขียนโปรแกรม Java บางครั้งโปรแกรมเมอร์ฮาร์ดคอร์มักชอบโปรแกรมแก้ไขข้อความธรรมดาจากเทอร์มินัลเช่น vim และ emacs โปรแกรมแก้ไขข้อความที่ดีมากที่สามารถติดตั้งได้ทั้งบนคอมพิวเตอร์ Windows และเครื่องที่ใช้ Linux (Ubuntu, Mac ฯลฯ ) คือ Sublime Text ซึ่งเราจะใช้ในบทช่วยสอนนี้
- ตรวจสอบให้แน่ใจว่าคุณมีไฟล์ ชุดพัฒนาซอฟต์แวร์ Java ติดตั้ง คุณต้องใช้สิ่งนี้เพื่อรวบรวมโปรแกรมของคุณ
- ภายใต้ Windows หากตัวแปรสภาพแวดล้อมไม่ถูกต้องคุณอาจได้รับข้อผิดพลาดเมื่อเรียกใช้ javac เพื่อหลีกเลี่ยงข้อความแสดงข้อผิดพลาดเหล่านี้โปรดดูบทความการติดตั้ง Java Software Development Kit สำหรับข้อมูลเพิ่มเติม
วิธีที่ 2 จาก 3: โปรแกรม Hello world
- เราจะสร้างโปรแกรมที่แสดงคำว่า "Hello world" บนหน้าจอก่อน สร้างไฟล์ใหม่ในโปรแกรมแก้ไขข้อความของคุณและบันทึกเป็น "HelloWereld.java" HelloWorld คือชื่อชั้นเรียนของคุณซึ่งต้องเป็นชื่อเดียวกันกับไฟล์ของคุณ
- ประกาศชั้นเรียนและวิธีการหลักของคุณ เมธอดหลัก public static void main (String [] args) คือเมธอดที่เรียกใช้งานเมื่อโปรแกรมกำลังทำงาน เมธอดหลักนี้มีการประกาศเมธอดเหมือนกันในทุกโปรแกรม Java
คลาสสาธารณะ HelloWorld {public static void main (String [] args) {}}
- เขียนบรรทัดของโค้ดที่จะแสดง "Hello world"
System.out.println ("สวัสดีชาวโลก");
- มาแบ่งกฎนี้ออกเป็นส่วนประกอบต่างๆกัน:
- ระบบบอกระบบว่าต้องทำบางอย่าง
- out บอกระบบว่ามีเอาต์พุต
- println ย่อมาจาก "print this line" จึงเป็นการบอกระบบว่าเอาต์พุตเป็นบรรทัดข้อความ
- เครื่องหมายคำพูดรอบ ๆ ("Hello world.") หมายความว่าเมธอด System.out.println () กำลังร้องขอพารามิเตอร์ ในกรณีนี้คือสตริง "สวัสดีชาวโลก"
- โปรดทราบว่ามีกฎ Java จำนวนหนึ่งที่เราต้องปฏิบัติตามที่นี่:
- ใส่เครื่องหมายอัฒภาคไว้ท้ายบรรทัดโปรแกรมเสมอ
- Java นั้นคำนึงถึงขนาดตัวพิมพ์ดังนั้นคุณจะต้องใส่เมธอดตัวแปรและชื่อคลาสในขนาดฟอนต์ที่ถูกต้องมิฉะนั้นจะส่งผลให้เกิดข้อความแสดงข้อผิดพลาด
- บล็อกของรหัสที่เกี่ยวข้องกับวิธีการเฉพาะหรือการวนซ้ำจะอยู่ในวงเล็บปีกกา
- มาแบ่งกฎนี้ออกเป็นส่วนประกอบต่างๆกัน:
- ใส่มันทั้งหมดเข้าด้วยกัน โปรแกรม Hello World รอบสุดท้ายควรมีลักษณะดังนี้:
คลาสสาธารณะ HelloWorld {public static void main (String [] args) {System.out.println ("Hello world."); }}
- บันทึกไฟล์ของคุณและเปิด Command Prompt หรือ Terminal เพื่อคอมไพล์โปรแกรม ไปที่โฟลเดอร์ที่คุณบันทึก HalloWereld.java แล้วพิมพ์ javac HalloWereld.java สิ่งนี้บอกคอมไพเลอร์ Java ว่าคุณต้องการคอมไพล์ HalloWereld.java หากเกิดข้อผิดพลาดคอมไพเลอร์จะเห็นสิ่งที่คุณทำผิดในกรณีอื่น ๆ คอมไพเลอร์จะไม่แสดงข้อความใด ๆ หากคุณดูไดเร็กทอรีที่คุณบันทึก HalloWereld.java คุณจะเห็นไฟล์ HalloWereld.class นี่คือไฟล์ที่ Java ใช้เพื่อรันโปรแกรมของคุณ
- เรียกใช้โปรแกรม ในที่สุดเราก็เริ่มรันโปรแกรมได้! ในหน้าต่างคำสั่งหรือเทอร์มินัลพิมพ์ดังต่อไปนี้: java HelloWorld สิ่งนี้บ่งชี้ว่า Java ควรเรียกใช้คลาส HalloWereld คุณควรเห็น "Hello world" พิมพ์อยู่บนหน้าจอ (ในคอนโซล)
- ขอแสดงความยินดีคุณเขียนโปรแกรม Java ตัวแรกของคุณ!
วิธีที่ 3 จาก 3: อินพุตและเอาต์พุต
- จากนั้นเราจะขยายโปรแกรม Hello World ของเราโดยรับข้อมูลจากผู้ใช้ ในโปรแกรม Hello World ของเราเราได้พิมพ์สตริงข้อความบนหน้าจอ แต่ส่วนโต้ตอบของโปรแกรมเป็นส่วนที่ผู้ใช้สามารถป้อนข้อมูลได้ ตอนนี้เรากำลังจะขยายโปรแกรมของเราโดยมีคำถามให้ผู้ใช้ป้อนชื่อของตนตามด้วยคำทักทายตามด้วยชื่อผู้ใช้
- นำเข้าคลาส Scanner ใน Java มีไลบรารีในตัวจำนวนมากที่เราสามารถใช้ประโยชน์ได้ แต่เราจะต้องนำเข้าก่อน หนึ่งในไลบรารีเหล่านี้คือ java.util ซึ่งมีอ็อบเจ็กต์ Scanner ที่เราต้องยอมรับอินพุตจากผู้ใช้ ในการนำเข้าคลาส Scanner เราเพิ่มบรรทัดต่อไปนี้ที่จุดเริ่มต้นของรหัสของเรา
นำเข้า java.util.Scanner;
- สิ่งนี้บอกโปรแกรมของเราว่าเราต้องการใช้วัตถุ Scanner ในแพ็คเกจ java.util
- ถ้าเราต้องการเข้าถึงทุกออบเจ็กต์ใน java.util ให้เขียน import java.util *; ที่จุดเริ่มต้นของรหัสของเรา
- ภายในวิธีการหลักของเราเราสร้างอินสแตนซ์ใหม่ของอ็อบเจ็กต์ Scanner Java เป็นภาษาเชิงวัตถุดังนั้นแนวคิดของมันจะใช้ออบเจ็กต์ อ็อบเจ็กต์ Scanner เป็นตัวอย่างของอ็อบเจ็กต์ที่มีฟิลด์และเมธอด เพื่อให้สามารถใช้คลาส Scanner เราได้สร้างอ็อบเจ็กต์ Scanner ใหม่ซึ่งเราสามารถกรอกข้อมูลในฟิลด์และใช้วิธีการได้ คุณทำได้ดังนี้:
สแกนเนอร์ userInputScanner = สแกนเนอร์ใหม่ (System.in);
- userInputScanner เป็นชื่อของวัตถุ Scanner ที่เราเพิ่งสร้างอินสแตนซ์ โปรดทราบว่าทุกส่วนของชื่อเขียนด้วยตัวพิมพ์ใหญ่ (ตัวอักษรอูฐ) นี่คือหลักการตั้งชื่อตัวแปรใน Java
- เราใช้ตัวดำเนินการใหม่เพื่อสร้างอินสแตนซ์ใหม่ของออบเจ็กต์ ดังนั้นในกรณีนี้เราจึงสร้างอินสแตนซ์ใหม่ของวัตถุ Scanner โดยใช้รหัสใหม่ Scanner (System.in)
- ออบเจ็กต์ Scanner จะถามหาพารามิเตอร์ที่บอกว่าจะสแกนอะไร ในกรณีนี้เราใส่ System.in เป็นพารามิเตอร์ System.in บอกให้โปรแกรมมองหาอินพุตจากระบบซึ่งในกรณีนี้คือสิ่งที่ผู้ใช้พิมพ์ลงในโปรแกรม
- ขอข้อมูลจากผู้ใช้ เราจะต้องขอให้ผู้ใช้พิมพ์บางสิ่งเป็นอินพุตเพื่อให้ผู้ใช้ทราบว่าเมื่อใดควรป้อนบางสิ่งในคอนโซล คุณสามารถทำได้ด้วย System.out.print หรือ System.out.println
System.out.print ("คุณชื่ออะไร");
- ขอให้ออบเจ็กต์ Scanner นำบรรทัดถัดไปของสิ่งที่ผู้ใช้พิมพ์และเก็บไว้เป็นตัวแปร เครื่องสแกนจะบันทึกประเภทของผู้ใช้เสมอ โค้ดบรรทัดต่อไปนี้จะขอให้เครื่องสแกนจัดเก็บสิ่งที่ผู้ใช้พิมพ์เป็นชื่อในตัวแปร:
สตริง userInputName = userInputScanner.nextLine ();
- ใน Java หลักการใช้เมธอดของอ็อบเจ็กต์คือโค้ด objectName.methodName (parameters) ด้วย userInputScanner.nextLine () เราเรียกวัตถุ Scanner ด้วยชื่อที่เราเพิ่งตั้งให้จากนั้นเรียกเมธอดด้วย nextLine () โดยไม่มีพารามิเตอร์
- โปรดทราบว่าเราเก็บบรรทัดต่อไปนี้ไว้ในวัตถุอื่น: String เราได้ตั้งชื่อวัตถุสตริงของเราว่า userInputName
- พิมพ์คำทักทายบนหน้าจอให้กับผู้ใช้ ตอนนี้เราได้บันทึกชื่อผู้ใช้แล้วเราสามารถพิมพ์คำทักทายไปยังผู้ใช้ได้ คุณรู้จัก System.out.println ("Hello world."); รหัสใด ๆ ที่เราเขียนในคลาสหลัก? โค้ดทั้งหมดที่เราเพิ่งเขียนควรอยู่เหนือบรรทัดนั้น ตอนนี้เราสามารถแก้ไขบรรทัดนั้นเพื่อพูดสิ่งต่อไปนี้:
System.out.println ("สวัสดี" + userInputName + "!");
- วิธีที่เราใช้ "สวัสดี" ชื่อผู้ใช้และ "!" เชื่อมโยงกันโดย "สวัสดี" + userInputName + "!" เรียกว่าการต่อสตริง
- สิ่งที่เกิดขึ้นที่นี่คือเรากำลังจัดการกับสามสตริง: "สวัสดี", userInputName และ "!" สตริงใน Java ไม่เปลี่ยนรูปจึงไม่สามารถเปลี่ยนแปลงได้ ดังนั้นเมื่อเราเชื่อมสตริงทั้งสามนี้เข้าด้วยกันเราจะสร้างสตริงใหม่โดยใช้คำทักทายเป็นหลัก
- จากนั้นเราใช้สตริงใหม่นี้และใช้เป็นพารามิเตอร์สำหรับ System.out.println
- รวมเข้าด้วยกันและบันทึกงานของคุณ ตอนนี้รหัสของเราควรมีลักษณะดังนี้:
นำเข้า java.util.Scanner; คลาสสาธารณะ HelloWorld {public static void main (String [] args) {Scanner userInputScanner = new Scanner (System.in); System.out.print ("คุณชื่ออะไร"); สตริง userInputName = userInputScanner.nextLine (); System.out.println ("สวัสดี" + userInputName + "!"); }}
- คอมไพล์และรันโปรแกรม เปิดหน้าต่างคำสั่งหรือ Terminal และเรียกใช้คำสั่งเดียวกับ HelloWereld.java เวอร์ชันแรกของเรา เราจะต้องคอมไพล์โปรแกรมก่อน: javac HalloWereld.java จากนั้นเราสามารถเรียกใช้: java HelloWorld
เคล็ดลับ
- Java เป็นภาษาการเขียนโปรแกรมเชิงวัตถุดังนั้นจึงมีประโยชน์ในการเรียนรู้เพิ่มเติมเกี่ยวกับพื้นฐานของภาษาโปรแกรมเชิงวัตถุ
- Object Oriented Programming (OOP) มีฟังก์ชันมากมายที่เฉพาะเจาะจงสำหรับกระบวนทัศน์ สามฟังก์ชั่นหลักเหล่านี้ ได้แก่ :
- การห่อหุ้ม: (encapsulation) ความสามารถในการ จำกัด การเข้าถึงบางส่วนของวัตถุ Java มีโมดิฟายเออร์ส่วนตัวที่ได้รับการป้องกันและสาธารณะสำหรับฟิลด์และวิธีการ
- ความหลากหลาย : ความสามารถของวัตถุในการสมมติอัตลักษณ์ที่แตกต่างกัน ใน Java อ็อบเจ็กต์หนึ่งสามารถกลายเป็นส่วนหนึ่งของอ็อบเจ็กต์อื่นเพื่อใช้เมธอดของอ็อบเจ็กต์อื่น
- มรดก: (การสืบทอด) ความสามารถในการใช้ฟิลด์และวิธีการจากคลาสอื่นในลำดับชั้นเดียวกันกับออบเจ็กต์ปัจจุบัน