ค้นหาเว็บไซต์

Java ทำงานอย่างไรและทำความเข้าใจโครงสร้างโค้ดของ Java - ตอนที่ 2


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

ในโพสต์นี้ เราจะพูดถึงการทำงานและโครงสร้างโค้ดของ Java Programming Language ก่อนที่เราจะดำเนินการต่อ ฉันขอเตือนคุณว่า Java ได้รับการพัฒนาโดยคำนึงถึง “เขียนเมื่อรันได้ทุกที่/ทุกเวลา (WORA)” หมายถึงเพื่อให้แน่ใจว่าแอปพลิเคชันที่พัฒนาขึ้นควรมีความเป็นกลางทางสถาปัตยกรรม เป็นอิสระจากแพลตฟอร์ม และพกพาได้

การทำงานของจาวา

การมีเป้าหมายเหล่านี้อยู่ในใจ Java ได้รับการพัฒนาโดยมีรูปแบบการทำงานด้านล่างซึ่งสามารถแบ่งได้เป็นสี่ขั้นตอน

ขั้นที่ 1

เขียนไฟล์ต้นฉบับ ไฟล์นี้ประกอบด้วยขั้นตอน วิธีการ คลาส และอ็อบเจ็กต์ทั้งหมดภายในโปรโตคอลที่สร้างขึ้นสำหรับภาษาการเขียนโปรแกรม Java ชื่อของไฟล์ต้นฉบับควรเป็นชื่อของคลาสหรือในทางกลับกัน ชื่อไฟล์ต้นฉบับต้องมีนามสกุล .java นอกจากนี้ชื่อไฟล์และชื่อคลาสยังคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ด้วย

ขั้นที่ 2

รันไฟล์ Java Source Code ผ่าน Java Compiler คอมไพเลอร์ซอร์สโค้ด Java ตรวจสอบข้อผิดพลาดและไวยากรณ์ในไฟล์ต้นฉบับ จะไม่ยอมให้คุณคอมไพล์ซอร์สโค้ดของคุณโดยไม่ทำให้คอมไพเลอร์ Java พึงพอใจด้วยการแก้ไขข้อผิดพลาดและคำเตือนทั้งหมด

ด่าน 3

คอมไพเลอร์สร้างไฟล์คลาส คลาสไฟล์เหล่านี้สืบทอดชื่อเดียวกันกับชื่อไฟล์ซอร์สโค้ด แต่นามสกุลจะแตกต่างกันไป ชื่อไฟล์ต้นฉบับมีนามสกุล 'filename.java' โดยที่นามสกุลของ classfile ที่สร้างโดยคอมไพเลอร์คือ 'filename.class' ไฟล์คลาสนี้ถูกเข้ารหัสเป็น bytecode - bytecodes เป็นเหมือนเวทย์มนตร์

ด่าน 4

ไฟล์คลาสนี้สร้างโดย Java Compiler พกพาสะดวกและเป็นกลางทางสถาปัตยกรรม คุณสามารถย้ายไฟล์คลาสนี้เพื่อทำงานบนสถาปัตยกรรมโปรเซสเซอร์และแพลตฟอร์ม/อุปกรณ์ใดก็ได้ สิ่งที่คุณต้องมีคือ Java Virtual Machine (JVM) เพื่อรันโค้ดนี้ไม่ว่าจะอยู่ที่ไหน

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

public class MyFirstProgram
{
    public static void main(String[] args)
    {
        System.out.println("Hello Tecmint, This is my first Java Program");
    }
}

1. ฉันเขียนโปรแกรมนี้และกำหนดชื่อคลาส MyFirstProgram สิ่งสำคัญคือต้องสังเกตว่าโปรแกรมนี้จะต้องบันทึกเป็น 'MyFirstProgram.java'

โปรดจำไว้ว่า ระยะที่ 1 ด้านบน – ชื่อคลาสและชื่อไฟล์จะต้องเหมือนกัน และชื่อไฟล์ต้องมีนามสกุล .java นอกจากนี้ java ยังคำนึงถึงขนาดตัวพิมพ์ ดังนั้นหากชื่อคลาสของคุณคือ 'MyFirstProgram' ชื่อไฟล์ต้นฉบับของคุณต้องเป็น 'MyFirstProgram.java'

คุณไม่สามารถตั้งชื่อเป็น 'Myfirstprogram.java' หรือ 'myfirstprogram.java' หรืออย่างอื่น ตามธรรมเนียมแล้ว เป็นความคิดที่ดีที่จะตั้งชื่อชั้นเรียนของคุณตามสิ่งที่โปรแกรมกำลังทำอยู่จริงๆ

2. ในการคอมไพล์ไฟล์ Java Source นี้ คุณต้องส่งผ่านคอมไพเลอร์ Java คอมไพเลอร์ Java จะตรวจสอบซอร์สโค้ดเพื่อหาข้อผิดพลาดและคำเตือน มันจะไม่รวบรวมซอร์สโค้ดจนกว่าปัญหาทั้งหมดจะได้รับการแก้ไข ในการคอมไพล์ซอร์สโค้ด Java คุณต้องรัน:

javac MyFirstProgram.java

โดยที่ MyFirstProgram.java คือชื่อของไฟล์ต้นฉบับ

3. เมื่อคอมไพล์สำเร็จ คุณจะสังเกตเห็นว่าคอมไพเลอร์ Java ได้สร้างไฟล์ใหม่ในไดเร็กทอรีเดียวกันซึ่งมีชื่อว่า MyFirstProgram.class

ไฟล์คลาสนี้เข้ารหัสเป็นไบต์และสามารถรันบนแพลตฟอร์มใดก็ได้ สถาปัตยกรรมตัวประมวลผลใดก็ได้ ไม่จำกัดเวลา คุณสามารถรันไฟล์คลาสภายใน JVM (Java Virtual Machine) บน Linux หรือแพลตฟอร์มอื่น ๆ เพียง:

java MyFirstProgram

ดังนั้นสิ่งที่คุณได้เรียนรู้ข้างต้นสามารถสรุปได้ดังนี้:

Java Source Code >> Compiler >> classfile/bytecode >> Various devices running JVM 

ทำความเข้าใจโครงสร้างโค้ดใน Java

1. ไฟล์ซอร์สโค้ด Java ต้องมีคำจำกัดความของคลาส ไฟล์ Java Source หนึ่งไฟล์สามารถมีคลาสสาธารณะ/คลาสระดับบนสุดได้เพียงคลาสเดียว แต่สามารถมีคลาสส่วนตัว/คลาสภายในได้จำนวนมาก

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

การสาธิตคลาสสาธารณะ/ส่วนตัวใน Java:

public class class0
{
...
	private class1
	{
	…
	}

	private class 2
	{
	…
	}
...
}

2. คลาสประกอบด้วยหนึ่งหรือหลายวิธี วิธีการจะต้องอยู่ในวงเล็บปีกกาของชั้นเรียน ตัวอย่างจำลองคือ:

public class class0
{
	public static void main(String[] args)
	{
	…..
	…..
	}
}

3. วิธีการประกอบด้วยคำสั่ง/คำสั่งตั้งแต่หนึ่งคำสั่งขึ้นไป คำสั่งจะต้องอยู่ในเครื่องหมายปีกกาของเมธอด ตัวอย่างจำลองคือ:

public class class0
{
	public static void main(String[] args)
	{
	System.out.println("Hello Tecmint, This is my first Java Program");
	System.out.println("I am Loving Java");
	…
	...
	}
}

สิ่งสำคัญที่ต้องกล่าวถึง ณ จุดนี้ - ทุกคำสั่งจะต้องลงท้ายด้วยอัฒภาค ตัวอย่างจำลองคือ:

System.out.println("Hello Tecmint, This is my first Java Program");
...
...
System.out.println("I am Loving Java");

การเขียนโปรแกรม Java แรกของคุณพร้อมคำอธิบายโดยละเอียด คำอธิบายถูกใส่ไว้เป็นความคิดเห็นที่นี่ (// หมายถึงแสดงความคิดเห็นแล้ว) ในตัวอย่างนี้ คุณควรเขียนความคิดเห็นภายในโปรแกรม

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

// Declare a Public class and name it anything but remember the class name and file name must be same, say class name is MyProg and hence file name must be MyProg.java
public class MyProg

// Remember everything goes into curly braces of class?
{
 

// This is a method which is inside the curly braces of class.
   public static void main(String[] args)

    // Everything inside a method goes into curly braces	
    {
        
    // Statement or Instruction inside method. Note it ends with a semicolon
    System.out.println("I didn't knew JAVA was so much fun filled");
    
    // closing braces of method
    }

// closing braces of class
}

คำอธิบายทางเทคนิคโดยละเอียดของโปรแกรม Java แบบง่ายข้างต้น

public class MyProg

ในชื่อคลาสข้างต้นคือ MyProg และ MyProg เป็นคลาสสาธารณะ ซึ่งหมายความว่าทุกคนสามารถเข้าถึงได้

public static void main(String[] args)

ชื่อเมธอดนี้เป็นชื่อ main ซึ่งเป็นเมธอดสาธารณะ หมายความว่าใครๆ ก็สามารถเข้าถึงได้ ประเภทการส่งคืนเป็นโมฆะซึ่งหมายความว่าไม่มีค่าส่งคืน 'Strings[] args' หมายถึงอาร์กิวเมนต์สำหรับเมธอด main ควรเป็นอาร์เรย์ซึ่งจะเรียกว่า args ไม่ต้องกังวลกับความหมายของคำว่า 'คงที่' ในตอนนี้ เราจะอธิบายรายละเอียดเกี่ยวกับเรื่องนี้เมื่อจำเป็น

System.out.println("I didn't knew JAVA was so much fun filled");

System.out.ln ขอให้ JVM พิมพ์เอาต์พุตไปยังเอาต์พุตมาตรฐานซึ่งเป็น Linux command Line ในกรณีของเรา สิ่งใดก็ตามที่อยู่ระหว่างวงเล็บปีกกาของคำสั่ง println จะถูกพิมพ์เหมือนเดิม เว้นแต่จะเป็นตัวแปร เราจะมาพูดถึงรายละเอียดของตัวแปรในภายหลัง คำสั่งนี้ลงท้ายด้วยเครื่องหมายอัฒภาค

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

นั่นคือทั้งหมดที่สำหรับตอนนี้. เชื่อมต่อกับ Tecmint ต่อไป ให้ข้อเสนอแนะอันมีค่าของคุณในความคิดเห็นด้านล่าง เรากำลังดำเนินการในส่วนถัดไป “คลาสและวิธีการหลักใน Java” และจะเผยแพร่เร็วๆ นี้