ที่มา : https://introcs.cs.princeton.edu/java/11hello/
เป้าหมายของพวกเราจะนำทางท่านไปสู่โลกของการเขียนโปรแกรมภาษาจาวา โดยนำทางพวกท่านไปสู่สามท่าพื้นฐาน ที่ต้องการให้โปรแกรมธรรมดาทำงานได้ ติดตั้งแอพพลิเคชั่นต่าง ๆ ที่คุณต้องการให้เรียบร้อย และจาวาต้องมีการติดตั้งลงในคอมพิวเตอร์แล้ว อีกทั้งคุณยังสามารถแก้ไข และใช้งานผ่านเทอร์มินอลได้ [ Mac OS X ·Windows · Linux ]
การพัฒนาโปรแกรมในภาษาจาวา พวกเราสามารถเข้าใจจาวาได้เลยเพียงแค่ 3 ขั้นตอน
- สร้าง : สร้างโปรแกรมที่คุณได้พิมพ์ลงไปใน text editor และบันทึกไฟล์เป็น Myprogram.java
- คอมไพล์ : เปิด terminal ในวินโดว์แล้วทำการพิมพ์ “ javac Myprogram.java” นั่นเป็นการประมวลผลของโปรแกรม
- ทำงาน : เปิด Terminal ขึ้นมาแล้วทำเดินการพิมพ์ “java Myprogram” เพื่อให้โปรแกรมนั้นทำงานได้นั่นเอง
สำหรับขั้นตอนแรกขั้นตอนสร้างโปรแกรม ขั้นตอนที่สองเป็นการแปลภาษาเพื่อให้สามารถสนทนากับเครื่องจักรรู้เรื่อง (และการใส่ค่าผลลัพธ์ในไฟล์ MyProgram.class) และอันดับที่สามารถเป็นการให้โปรแกรมนั้นทำงานจริง ๆ
- การสร้างโปรแกรมจาวา โดยโปรแกรมไม่มีอะไรมากไปกว่าการที่ตัวอักษรมาเรียงร้อยถ้อยคำ ในรูปประโยค เป็นย่อหน้า หรือเป็นบทกลอน เพื่อที่จะสร้างในสิ่งที่พวกเราต้องการ โดยเราสามารถจัดการตัวอักษรเหล่านั้นได้โดยการใช้ text editor โดยเหมือนกับเรากำลังเขียน email อยู่นั่นละ HelloWorld.java เป็นโปรแกรมตัวอย่าง ลองพิมพ์ตัวอักษรลงไปใน text editor และก็จัดการบันทึกในชื่อไฟล์เป็น HelloWorld.java.
public class HelloWorld {
public static void main(String[] args) {
// Prints "Hello, World" in the terminal window.
System.out.println("Hello, World");
}
}
- การคอมไพล์โปรแกรมจาวา ตัวคอมไพล์เลอร์เป็นโปรแกรมหนึ่งที่ใช้ในการแปลภาษาโปรแกรมจากภาษาจาวา เป็นภาษา Low Level มันจะนำ text file ที่มีสกุล .java ซึ่งเป็นส่วนขยายที่ไว้ส่งค่าเข้าไปโปรแกรมของคุณ และได้ดำเนินการแปลงไฟล์เป็น .class โดยส่วนขยายที่จะใช้ในการคอมไพล์ไปเป็นรูปแบบภาษาคอมพิวเตอร์ HelloWorld.java แล้วพิมพ์ตัวอักษรตัวหน้าลงในเทอร์มินัลได้โดยการที่ พวกเราได้พิมพ์สัญลักษณ์ % เพื่อกำหนดค่าที่หน้าต่าง command แต่มันสามารถแสดงต่างกันขึ้นอยู่กับระที่คุณใช้เลย
%javac HelloWorld.java
ถ้าคุณได้ทำการพิมพ์ถูกต้องแล้ว คุณไม่ควรเห็นข้อความ Error ใด ๆ ไม่ก็ลองกลับไปตรวจสอบดูเลยว่าคุณพิมพ์เหมือนข้างบนไหม
- เริ่มให้โปรแกรมจาวาทำงาน เอาละคุณลองรันโปรแกรมดูเลย โดยที่คุณทำตามคำแนะนำมาตลอด เพื่อให้รันโปรแกรม HelloWorld งั้นเราลองมาทำตามในหน้าต่างเทอร์มินัล ด้วยการพิมพ์
% java HelloWorld
ถ้าทั้งหมดเดินทางไปได้ด้วยดี คุณควรจะได้ผลตามนี้
Hello, World
- การเข้าใจในโปรแกรมจาวา คือ คีย์หลัก ๆ ที่เราจะเข้าใจในแต่ละบรรทัด โดยบรรทัดนี้ System.out.println() จะแสดงข้อความ “Hello, World” ในหน้าต่างเทอร์มินัล เมื่อพวกเราดำเนินการเขียนให้มันสลับซับซ้อนมากยิ่งขึ้น และพวกเราจะอธิบายถึงความหมายของ public, class, main, String[], args, System.out, และอื่น ๆ ได้
- การสร้างโปรแกรมจาวาของคุณเอง ในเวลานี้ โปรแกรมของเราทั้งหมดจะคล้ายกับ HelloWorld.java เว้นแต่ลำดับการวางประโยคใน main()ที่ต่างกัน เป็นเรื่องง่ายที่สุดในการเขียนโปรแกรมแต่ละตัว เป็นไปได้ดังนี้
- คัดลอก HelloWorld.java ชื่อไฟล์ใหม่จะต้องตามด้วย .java เสมอ
- แทน HelloWorld กับชื่อของโปรแกรมในทุก ๆ จุด
- แทนประโยคที่ใช้การแสดงผล โดยการลำดับประโยคให้ถูกต้อง
ข้อผิดพลาด
ข้อผิดพลาดส่วนใหญ่นั้นมักจะแก้ไขได้ง่าย เพียงแค่ระมัดระวังในการเขียนเท่านั้นเอง เหมือนกับการที่เราแก้ไขคำผิด และหลักภาษาที่ผิดพลาด เมื่อตอนเราพิมพ์ E-mail ไปผิดเท่านั้นแหละ
- ช่วงเวลาในการคอมไพล์ผิดพลาด ส่วนนี้เป็นข้อผิดพลาดที่สามารถตรวจจับได้โดยระบบเมื่อพวกเราคอมไพล์โปรแกรม เพราะว่าโดยระบบเองได้ป้องกันการคอมไพล์จากการที่แปลภาษาอยู่แล้ว ดังนั้นบางทีข้อความที่ผิดพลาดปรากฎขึ้นมา เพื่อที่จะอธิบายถึงข้อผิดพลาดบางอย่างนั้นเอง
- การรันโปรแกรมที่ผิดพลาด ข้อผิดพลาดเหล่านี้ถูกตรวจจับได้โดยระบบเมื่อเราเริ่มทำการรันโปรแกรม เพราะว่าโปรแกรมพยายามที่จะทำงานทั้ง ๆ ที่กระบวนการมันผิด เช่น การหารด้วย 0
- ตรรกะที่ผิดพลาด นี้เป็นข้อผิดพลาดที่ต้องใช้ซึ่งความหวังในการตรวจจับได้โดยการที่โปรแกรมเมอร์ที่ทำการรันโปรแกรม และได้ส่งผลคำตอบที่ผิด และนั่นเอง Bug คือพิษของโปรแกรมเมอร์ที่ยังอยู่ พวกมันสามารถซ่อนเร้นและทำการตรวจเจอได้ยากมาก
หนึ่งในทักษะที่พวกเราต้องเรียนรู้ในการตรวจหาข้อผิดพลาดนั้น โดยทักษะนี้ต้องใช้ความระมัดระวังอย่ามากในโค้ดโปรแกรม เพื่อที่จะหลีกเลี่ยงข้อผิดพลาดต่าง ๆ เหล่านี้ได้
นำเข้าและส่งออก
ปกติแล้วพวกเราต้องการที่จะจัดหา input ที่จะใส่ในโปรแกรมของเรา ข้อมูลที่โปรแกรมได้ดำเนินการประมวลผลเพื่อคำตอบนั้น เป็นอะไรที่ธรรมดาที่สุดที่จะหาข้อมูลมาป้อนดังที่ปรากฎใน UseArgument.java แม้ว่าโปรแกรมนี้ถูกทำงาน มันอ่านข้อความในหลายบรรทัดที่คุณพิมพ์ไป หลังจากชื่อโปรแกรม และได้ทำการแสดงผลลัพธ์ออกมาที่หน้าต่างเทอร์มินัลเป็นข้อความดังนี้
javac UseArgument.java
% java UseArgument Alice
Hi, Alice. How are you?
% java UseArgument Bob
Hi, Bob. How are you?
แบบฝึกหัด
- เขียนโปรแกรม TenHelloWorlds.java เพื่อแสดงผล “Hello, World” 10 ครั้ง
- ปรับแต่ง UseArgument.java เพื่อสร้างโปรแกรม UseThree.java ที่นำชื่อมา 3 ชื่อ และแสดงผลในประโยคที่เหมาะสมกับชื่อ และให้ชื่อเหล่านั้นเรียงกลับด้านกัน ดังตัวอย่าง “java UseThree Alice Bob Carol” ให้เป็น “Hi Carol, Bob, and Alice.”.
แบบฝึกหัดบนเว็บไซต์
- เขียนโปรแกรม Initials.java นั้นแสดงผลโดยเริ่มต้นใช้เพียงดองจันทร์ 9 บรรทัดคล้ายกลับรูปข้างล่างเลย
** *** ********** ** * ** ** *** ** ** ** *** ** ** *** ** ** ** ** ** ** ** *** ** ** ** ** ** ** ***** ** ** ** ** ** ** ** *** ** ** ** ** ** ** ** *** ** ** ** ** ** ** ** *** ** ** *** *** ** *** ********** * * |
- อธิบายว่าเพิ่มอะไรขึ้น ถ้าสิ่งเหล่านี้ตกหล่น HelloWorld.java
- main
- String
- HelloWorld
- System.out
- println
- อธิบายว่าเกิดอะไรขึ้น ถ้าสิ่งเหล่านี้ตกหล่น HelloWorld.java
- เครื่องหมาย ;
- เครื่องหมายตัวแรก “
- เครื่องหมายตัวที่สอง “
- เครื่องหมายตัวแรก {
- เครื่องหมายตัวที่สอง {
- เครื่องหมายตัวแรก }
- เครื่องหมายตัวที่สอง }
- อธิบายว่าเกิดอะไรขึ้น ถ้าข้อความเหล่านี้สะกดผิด HelloWorld.java
- main
- String
- HelloWorld
- System.out
- println
- ผมได้พิมพ์ตามโปรแกรมข้างต้นไป และได้ทำการคอมไพล์ได้เป็นอย่างดี แต่เมื่อทำการรันโปรแกรมแล้วนั้น ทำไมเกิดข้อผิดพลาดได้ละ java.lang.NoSuchMethodError: main. ผมทำอะไรผิดพลาดละเนี่ย
public class Hello {
public static void main() {
System.out.println("Doesn't execute");
}
}
คำตอบ คุณลืมใส่ String[] args
ตอนนี้เรามี แคมป์สอน JAVA เข้มข้นสามเดือนราคาเบาๆ ใครที่กำลังมองหาคอสเพิ่มทักษะไม่ควรพลาด ลองอ่านรายละเอียดตามลิงค์ด้านล่างดูได้เลยครับ
https://getcode.dev/courses/codecamp-bundle-pack/