1. รายการคำศัพท์

เช่นเดียวกับในภาษาการเขียนโปรแกรม Java มีคำที่มีความหมายพิเศษ ตัวอย่างเช่นreturnหรือifหรือ whileคำเหล่านี้เรียกว่าคำหลัก ( คำหลัก ) และถือว่าสงวนไว้โดยภาษาจาวา

คุณไม่สามารถใช้คำเหล่านี้เป็นชื่อตัวแปร ชื่อเมธอด หรือชื่อคลาส คอมไพเลอร์จะตีความด้วยวิธีที่กำหนดไว้อย่างเคร่งครัดเสมอ มี54คำดังกล่าวในภาษาจาวา

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

คุณรู้จักบางส่วนแล้ว และเราจะพูดถึงส่วนที่เหลือในตอนนี้


2. ประเภทดั้งเดิม

อย่างที่คุณคงจำได้ Java มี 8 ประเภทดั้งเดิม และแต่ละประเภทมีคำหลักของตัวเอง:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

หากคุณมีความคิดที่อยากรู้อยากเห็นเพียงพอ มีโอกาสดีที่คุณได้ลองตั้งชื่อตัวแปร int แล้ว และแน่นอนว่าคุณทำไม่สำเร็จ นี่เป็นเพราะชื่อของประเภทดั้งเดิมทั้งหมดเป็นคำสงวน

ประเภทvoidก็จัดอยู่ในประเภทนี้ด้วย


3. ลูปและกิ่งก้าน

การวนซ้ำและสาขายังให้รายการคำหลักที่ค่อนข้างยาวแก่เรา:

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

เพียง 10 คำก็เพียงพอสำหรับภาษาในการจัดเตรียมลูป แบรนช์ และคำสั่งควบคุมหลายประเภทสำหรับการขัดจังหวะลูป ( breakและcontinue) และหลายแบรนช์ ( switch) คุณคุ้นเคยกับคำหลักเหล่านี้ทั้งหมดแล้ว


4. ข้อยกเว้น

ข้อยกเว้นทำให้เรามีคำหลัก 5 คำ:

  • try
  • catch
  • finally
  • throw
  • throws

ทั้งหมดนี้เป็นส่วนหนึ่งของtry-catch-finallyบล็อก ตัวดำเนินการสำหรับการโยนข้อยกเว้นคือthrowและthrowsคำสำคัญสนับสนุนcheckedกลไกข้อยกเว้น

ข่าวดีก็คือคุณคุ้นเคยกับคำหลักทั้งหมดที่เกี่ยวข้องกับข้อยกเว้นแล้ว ดังนั้นคุณจึงคุ้นเคยกับการทำงานกับข้อยกเว้นเป็นส่วนใหญ่อยู่แล้ว


5. ทัศนวิสัย

ที่นี่มีเพียงสามคำหลักและคุณคุ้นเคยกับพวกเขาแล้ว

  • private
  • protected
  • public

publicอนุญาตให้เข้าถึงเมธอด/ตัวแปร/คลาสได้จากทุกที่ในโปรแกรม

privateห้ามการเข้าถึงเมธอด/ตัวแปร/คลาสจากทุกที่ในโปรแกรม อนุญาตให้เข้าถึงได้เฉพาะในคลาสเดียวกันกับเมธอดที่ทำเครื่องหมายด้วยprivateตัวดัดแปลง

protectedทำงานเหมือนกับprivateแต่ยังอนุญาตให้เข้าถึงเมธอด/ตัวแปร/คลาสจากคลาสที่สืบทอดมา ประโยชน์ของการปรับเปลี่ยนนี้จะชัดเจนยิ่งขึ้นเมื่อคุณคุ้นเคยกับ OOP และการสืบทอด


6. การทำงานกับชั้นเรียน

มี 11 คำหลักในหมวดหมู่นี้:

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

สามารถแบ่งออกได้เป็น 4 กลุ่ม

กลุ่ม แรกเกี่ยวข้องกับการสร้างคลาส: class, interfaceและ คุณได้เรียนรู้เกี่ยวกับการประกาศคลาสและ enumsแล้ว คีย์เวิร์ดใช้เพื่อประกาศประเภทที่คล้ายคลาสอื่น: อินเตอร์เฟสenuminterface

กลุ่มที่สองประกอบด้วยคำสำคัญเกี่ยวกับแพ็คเกจและการนำเข้าซึ่งคุณคุ้นเคยอยู่แล้ว คีย์เวิร์ด package ใช้เพื่อระบุแพ็คเกจของคลาสในไฟล์คลาส และimportเพื่อให้เราสามารถใช้ชื่อย่อของคลาสภายนอกเมื่อเขียนคลาสของเราเอง

คำ สำคัญ extendsand implementsใช้สำหรับการสืบทอด คุณจะดูที่จุดเริ่มต้นของภารกิจ Java Core

สุดท้าย กลุ่มสุดท้ายประกอบด้วยตัวแก้ไขstatic, final, default, และ abstractคุณรู้อยู่แล้วเล็กน้อยเกี่ยวกับstaticและfinal. คำabstractหลักใช้เพื่อสร้างนามธรรมของคลาสหรือเมธอด คุณจะได้รับรายละเอียดเพิ่มเติมเมื่อศึกษาการสืบทอดในภารกิจ Java Core


7. การทำงานกับวัตถุและตัวแปร

ใช้คีย์เวิร์ดอีก 6 คำเมื่อทำงานกับออบเจกต์ เมธอด และตัวแปร

  • new
  • instanceof
  • this
  • super
  • return
  • var(ตั้งแต่ Java 10)

ตัวnewดำเนินการใช้เพื่อสร้างวัตถุใหม่ - คุณรู้อยู่แล้ว

ตัวinstanceofดำเนินการใช้ในการตรวจสอบว่าตัวแปรมีการอ้างอิงไปยังวัตถุประเภทใดประเภทหนึ่ง คุณคุ้นเคยกับมันแล้ว

คำหลัก นี้thisใช้เพื่อแก้ปัญหาที่เกิดขึ้นเนื่องจากการแรเงาของตัวแปรและวิธีการของอินสแตนซ์ คุณเคยศึกษาเรื่องนี้เช่นกัน

คีย์เวิร์ดsuperนั้นคล้ายคลึงกับthisแต่ใช้เพื่ออ้างถึงเมธอดและตัวแปรของคลาสพาเรนต์ คลาสพาเรนต์เรียกอีกอย่างว่าซูเปอร์คลาส

คำreturnสั่งใช้เพื่อส่งคืนค่าของเมธอดและเพื่อยุติการดำเนินการเมธอด

สุดท้ายvarคือการประกาศตัวแปรประเภทอนุมานโดยอัตโนมัติ คุณคุ้นเคยกับสิ่งนี้แล้ว


8. มัลติเธรด

ที่ระดับของไวยากรณ์ Java มัลติเธรดจะแสดงด้วยคำเพียงสองคำ

  • synchronized
  • volatile

เราจะไม่แตะต้องพวกเขาด้วยซ้ำ ไปที่ เควส Java Multithreadingแล้วเราจะดำดิ่งลงไป


9. เบ็ดเตล็ด

มีคีย์เวิร์ดพิเศษอีก 4 คำ:

  • native
  • transient
  • assert
  • strictfp

nativeเป็นตัวดัดแปลงที่สามารถเขียนก่อนการประกาศเมธอด หมายความว่าโค้ดเมธอดไม่ได้เขียนใน Java แต่เขียนใน C++ และฝังอยู่ในเครื่อง Java (หรือ DLL) อย่างที่คุณอาจเดาได้แล้วว่าเครื่อง Java นั้นเขียนด้วย C ++ เช่นกัน เช่นเดียวกับวิธีไลบรารีมาตรฐานทั่วไป

transientเป็นตัวดัดแปลงที่สามารถเขียนก่อนตัวแปรอินสแตนซ์ (ฟิลด์ของคลาส) มันขอให้เครื่อง Java ข้าม (หรือเพิกเฉย) ตัวแปรที่ทำเครื่องหมายไว้ในขณะที่ทำการซีเรียลไลซ์วัตถุของคลาส คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการทำให้เป็นอนุกรมได้ในภารกิจ Java Collections

assertยังมาถึง Java จาก C ++ ด้วยความช่วยเหลือของมัน คุณสามารถเพิ่มการตรวจสอบเพิ่มเติมในโค้ดของคุณ (เช่น เพื่อตรวจสอบว่าตัวแปรเป็นค่าว่างหรือไม่) สิ่งสำคัญที่นี่คือการเปิดหรือปิดการตรวจสอบเหล่านี้ในเวลารวบรวม

คุณสามารถสร้างโครงการสำหรับการทดสอบภายใน และการตรวจสอบเหล่านี้จะดำเนินการ (รวมอยู่ในการสร้าง) หรือคุณสามารถปิดการใช้งานระหว่างการคอมไพล์เพื่อสร้างเวอร์ชันของโปรแกรมที่จะจัดหาให้กับผู้ใช้

สำหรับstrictfpคำสำคัญและความแม่นยำพิเศษของโปรเซสเซอร์ Intel เรามีเรื่องราวทั้งหมดสำหรับคุณ


10. สงวนไว้แต่ไม่ได้ใช้

นอกจากนี้ยังมีคำหลักสองคำที่สงวนไว้แต่ไม่ได้ใช้

  • const
  • goto

สิ่งเหล่านี้ยังเป็นมรดกของภาษา C ++ ซึ่งมีอยู่และใช้งาน


11. ไม่ใช่คำหลัก

อย่างเป็นทางการ ค่าtrueและ ค่าคง falseที่nullไม่ใช่คีย์เวิร์ด ที่กล่าวว่าพวกเขาแต่ละคนมีลักษณะเฉพาะของพวกเขา คุณไม่สามารถตั้งชื่อเมธอดtrueหรือตัวแปรfalseได้ คอมไพเลอร์จะไม่เข้าใจโค้ดดังกล่าวและจะไม่คอมไพล์