"เฮ้ เด็กใหม่ ผู้ซึ่งทำผิดพลาดมากมายทุกวัน แม้แต่ในโปรแกรมที่ง่ายที่สุด!
"อืม... สวัสดี ดิเอโก เจ้าหนู คุณรู้วิธีให้กำลังใจผู้คนจริงๆ!"
"แน่นอน ฉันรู้! เรียนรู้วิธีพูดในสิ่งที่จำเป็นต้องพูด อย่างที่ฉันพูด 'ทุกวัน' คำทักทายของฉันมีความหมายอย่างสุภาพกว่า "โปรแกรมเมอร์ที่ประสบความสำเร็จในอนาคต ถ้าคุณไม่เป่ามันทิ้งแน่นอน" "
“อือ ถ้าอย่างนั้นก็ขอบคุณ อาจารย์ที่เก่งกาจที่สุดของฉัน! .
"คุณจะขอบคุณฉันหลังจากบทเรียนนี้ ฉันจะแสดงรายการข้อผิดพลาดยอดนิยมที่คอมไพเลอร์จดบันทึกไว้ และงานของคุณคือจดจำ คำเตือนล่วงหน้ามีไว้ล่วงหน้า
ลืมเครื่องหมายอัฒภาค
"ข้อผิดพลาดที่พบบ่อยที่สุดสำหรับโปรแกรมเมอร์ Java ที่เกี่ยวข้องกับเครื่องหมายอัฒภาค หรือแทนที่จะเป็นข้อผิดพลาดที่ควรจะเป็น"
"ความจริงก็คือ... ฉันกระทำความผิดนี้ซ้ำแล้วซ้ำเล่า"
"ทุกคำสั่งภายในเมธอดต้องลงท้ายด้วยเครื่องหมายอัฒภาค เครื่องหมายอัฒภาคคือสิ่งที่แยกคำสั่งหรือคำสั่ง: นี่คือวิธีที่เราบอกคอมไพเลอร์ Java ที่คำสั่งหนึ่งสิ้นสุดและเริ่มต้นถัดไป
ตัวอย่างข้อผิดพลาด:
รหัสไม่ถูกต้อง | รหัสที่ถูกต้อง |
---|---|
|
|
|
|
|
|
ลืมปิดใบเสนอราคา
"ข้อผิดพลาดที่พบบ่อยอันดับสองสำหรับผู้มาใหม่กับ Java คือการเขียนสตริงในโค้ดแล้วลืมปิดเครื่องหมายคำพูด
ทุกตัวอักษรของสตริงในโค้ดต้องใส่เครื่องหมายอัญประกาศคู่ (") ทั้งสองด้าน โปรแกรมเมอร์มือใหม่มักจะใส่เครื่องหมายอัญประกาศไว้หน้าข้อความแต่ลืมปิดตอนท้าย
รหัสไม่ถูกต้อง | รหัสที่ถูกต้อง |
---|---|
|
|
|
|
|
|
ลืมใส่เครื่องหมายบวกเมื่อติดกาวเข้าด้วยกัน
"ข้อผิดพลาดทั่วไปอีกประการหนึ่งเมื่อทำงานกับสตริงคือการลืมเขียนเครื่องหมายบวกเมื่อรวมสตริงเข้าด้วยกัน ข้อผิดพลาดนี้มักพบบ่อยเป็นพิเศษเมื่อข้อความและตัวแปรเชื่อมกันเป็นนิพจน์ยาวในโค้ด
นี่คือตัวอย่างบางส่วน:
รหัสไม่ถูกต้อง | รหัสที่ถูกต้อง |
---|---|
|
|
|
|
|
|
ลืมปิดวงเล็บปีกกา
"นี่เป็นข้อผิดพลาดทั่วไป มีสองสถานการณ์ที่สิ่งนี้เป็นเรื่องปกติ:
- คุณตัดสินใจคัดลอกโค้ดจากที่ไหนสักแห่งและพลาดวงเล็บปีกกาไปโดยไม่ได้ตั้งใจ
- คุณเพียงแค่ไม่สร้างปัญหาให้กับตัวเองเพื่อให้แน่ใจว่าวงเล็บเปิดทุกวงเล็บตรงกับวงเล็บปิด"
"ทางเลือกที่สองคือสิ่งที่ฉันทำ บางครั้งฉันก็หลงไหลจนลืม!" .
"เพื่อหลีกเลี่ยงข้อผิดพลาดเหล่านี้ มักจะแนะนำให้โปรแกรมเมอร์มือใหม่เขียนเครื่องหมายปีกกาปิดไว้ใต้เครื่องหมายเปิด
ตัวอย่าง:
รหัสไม่ถูกต้อง | รหัสที่ถูกต้อง |
---|---|
|
|
|
|
ลืมใส่วงเล็บ
"บ่อยครั้งที่ข้อผิดพลาดนี้เกิดขึ้นจากนักพัฒนาซอฟต์แวร์ที่รู้ภาษาการเขียนโปรแกรมที่ไม่ต้องใช้วงเล็บในสถานการณ์ที่คล้ายคลึงกัน
ความเป็นไปได้อย่างหนึ่งคือพวกเขาลืมใส่วงเล็บที่ส่วนท้ายของเมธอด:
ความเป็นไปได้อีกอย่างคือพวกเขาลืมที่จะห่อเงื่อนไขของif-else
คำสั่งในวงเล็บ
ตัวอย่าง:
รหัสไม่ถูกต้อง | รหัสที่ถูกต้อง |
---|---|
|
|
|
|
เขียนmain
การประกาศวิธีการไม่ถูกต้อง
"ทันทีที่พวกเขาประกาศmain
วิธีการนองเลือด! คงไม่มีอะไรที่ทำให้มือใหม่สะดุดได้เท่ากับวิธีการแย่ๆ นี้ ที่สำคัญพวกเขามักจะประหลาดใจและสงสัยว่าทำไมโปรแกรมของพวกเขาถึงไม่เริ่มต้นขึ้น และแน่นอนว่าโปรแกรมเมอร์ไม่ใช่ ไม่ต้องโทษแต่โปรแกรม คอมไพเลอร์ ตัวตรวจสอบโค้ด เครื่อง Java ฯลฯ รายชื่อแพะรับบาปไม่มีที่สิ้นสุด
ตัวอย่าง:
รหัสไม่ถูกต้อง | คำอธิบาย |
---|---|
|
public ที่ขาดหายไป |
|
static ที่ขาดหายไป |
|
void ที่ขาดหายไป |
|
public และstatic ขาดหายไป |
|
[] ที่ขาดหายไป |
|
String[] args ที่ขาดหายไป |
|
เรามีint แทนvoid |
ชื่อไฟล์แตกต่างจากชื่อคลาส
"ตามมาตรฐาน Java คลาส Java ทั้งหมดต้องเก็บไว้ในไฟล์ที่มีชื่อเดียวกับชื่อคลาส และดังที่ได้กล่าวไว้ก่อนหน้านี้ กรณีของตัวอักษรมีความสำคัญที่นี่:
ชื่อไฟล์ | ชื่อชั้น | บันทึก |
---|---|---|
Solution.java | สารละลาย | ทุกอย่างปกติดี |
โซลูชันs .java | สารละลาย | ชื่อไฟล์เป็นตัวอักษรฟุ่มเฟือย 's' |
s olution.java | สารละลาย | ชื่อไฟล์ขึ้นต้นด้วยตัวพิมพ์เล็ก |
สารละลาย. txt | สารละลาย | นามสกุลไฟล์คือ .txt แทน .java |
Solution.java | สารละลาย | ชื่อคลาสขึ้นต้นด้วยตัวพิมพ์เล็ก |
"ตามจริงแล้ว สามารถประกาศคลาสได้หลายคลาสในไฟล์ที่มีนามสกุล .java แต่มีเพียงคลาสเดียวเท่านั้นที่สามารถมีคำนำpublic
หน้าชื่อคลาสได้และนี่คือชื่อที่ต้องตรงกับชื่อไฟล์
"ไฟล์ .java ต้องมีคลาสที่มีชื่อเหมือนกับชื่อไฟล์เสมอ และคลาสนั้นจำเป็นต้องมีตัวpublic
แก้ไข ตัวอย่าง:
Solution.java |
---|
|
"นอกจากนี้ ภาษาจาวายังให้คุณเขียนคลาสภายในคลาส นี่เป็นอีกวิธีหนึ่งในการหลีกเลี่ยงข้อจำกัดข้างต้น หากมีการประกาศคลาสสาธารณะ (คลาสที่มีตัวดัดแปลง) public
ในไฟล์และมีชื่อเดียวกันกับชื่อไฟล์ จากนั้นคุณสามารถประกาศคลาสได้มากเท่าที่คุณต้องการภายในคลาสสาธารณะนี้ กล่าวคือ คลาสเหล่านี้จะไม่ใช่คลาสธรรมดาอีกต่อไป แต่จะเป็นคลาสภายในหรือซ้อนกันแทน ตัวอย่าง:
Solution.java |
---|
|
ลืมเขียนpackage
"เนื่องจากโปรแกรมมักจะมีคลาสเป็นพันๆ คลาส จึงเป็นเรื่องยากที่จะค้นหาชื่อที่เรียบง่าย เข้าใจได้ และไม่ซ้ำกันสำหรับทุกคลาส ด้วยเหตุนี้ Java จึงเป็นเรื่องปกติที่จะจัดกลุ่มคลาสเป็นแพ็กเกจโดยใช้คีย์เวิร์ด วิธีการจัดกลุ่มไฟล์ให้ตรงกันทุกpackage
ประการ ลงในโฟลเดอร์"
"อ่าฮ่า นั่นเป็นเหตุผลที่แต่ละคลาสควรเริ่มต้นด้วยการระบุแพ็คเกจที่เป็นของ"
"แน่นอน นี่คือตัวอย่าง:
รหัสไม่มีแพ็คเกจ | ตัวอย่างที่แก้ไขแล้ว |
---|---|
|
|
ลืมใส่import
"ถ้าเราต้องการใช้คลาสของคนอื่นในโปรแกรมของเรา เรามีสองทางเลือก: ทุกที่ในโค้ดของเรา เราต้องเขียนชื่อแพ็คเกจก่อนชื่อคลาส หรืออีกทางหนึ่ง เราสามารถเขียนชื่อคลาสแบบเต็มด้วยคีย์เวิร์ดครั้งimport
เดียว . ตัวอย่าง:
โดยไม่ต้องใช้การนำเข้า | โดยใช้การนำเข้า |
---|---|
|
|
"ตัวเลือกทั้งสองทำงานได้ แต่ถ้าคุณเพียงแค่เขียนScanner
โค้ดของคุณโดยไม่เพิ่มimport
คอมไพเลอร์จะไม่สามารถเข้าใจได้ว่าต้องใช้แพ็คเกจใดในคลาสScanner
และโปรแกรมของคุณจะไม่คอมไพล์"
"ขอบคุณ ดิเอโก บทเรียนนี้จะทำให้ฉันมีสมาธิมากขึ้น"
"นั่นคือสิ่งที่ฉันคาดหวัง โชคดี!"
GO TO FULL VERSION