System.out.println

เผยแพร่ในกลุ่ม
คุณจะเริ่มเรียนภาษาโปรแกรมจากที่ไหน? ตั้งแต่เขียนโปรแกรมครั้งแรก ตามเนื้อผ้าโปรแกรมแรกเรียกว่า "Hello world" และฟังก์ชันทั้งหมดประกอบด้วยการส่งวลี "Hello world!" ไปยังคอนโซล โปรแกรมง่ายๆ เช่นนี้ทำให้โปรแกรมเมอร์หน้าใหม่รู้สึกเหมือนมีบางอย่างกำลังทำงานอยู่ System.out.println - 1

“สวัสดีชาวโลก” ในภาษาโปรแกรมต่างๆ

รหัสจะแตกต่างกันในภาษาการเขียนโปรแกรมที่แตกต่างกัน: Pascal “Hello world”
begin
  writeln ('Hello, world.');
end.
ซี “สวัสดีชาวโลก”
int main() {
   printf("Hello, World!");
   return 0;
}
C# “สวัสดีชาวโลก”
static void Main(string[] args)
 {
     System.Console.WriteLine("Hello World!");
 }
ชวา "สวัสดีชาวโลก"
public static void main(String[] args) {
     System.out.println("Hello World!");
 }
แม้จะมีโค้ดที่แตกต่างกัน แต่ทุกโปรแกรมก็มีคำสั่งทั่วไปที่ส่งข้อความไปยังคอนโซลโดยตรง:
  • ปาสคาล - writeln;
  • ค - printf;
  • ค# - System.Console.WriteLine;
  • จาวา- System.out.println.

เรียนรู้เพิ่มเติมเกี่ยวกับเอาต์พุตคอนโซลใน Java

ตามที่คุณเข้าใจแล้วหากต้องการส่งข้อความไปยังคอนโซลใน Java คุณต้องใช้คำสั่งSystem.out.println(). แต่ตัวละครชุดนี้หมายถึงอะไร? สำหรับผู้ที่คุ้นเคยกับภาษา Java และคำศัพท์ OOP พื้นฐาน (สำหรับนักเรียนที่เรียนหลักสูตร JavaRush จนถึงระดับ 15) คำตอบนั้นชัดเจน: “ในการส่งข้อความไปยังคอนโซล เราจะเข้าถึงฟิลด์คงที่ของชั้นoutเรียนSystemที่ เราเรียกเมธอดprintln()และในฐานะอาร์กิวเมนต์ เราส่งอ็อบเจ็กต์ของคลาสString" หากความหมายข้างต้นไม่ชัดเจนสำหรับคุณ เราก็จะเข้าใจมันเอง! คำสั่งนี้ประกอบด้วยสามคำ: System out println. แต่ละรายการแสดงถึงเอนทิตีบางประเภทที่มีฟังก์ชันที่จำเป็นสำหรับการทำงานกับคอนโซล System- เอนทิตี (ใน Java เรียกว่าคลาส) ที่ทำหน้าที่เป็น "บริดจ์" ที่เชื่อมต่อโปรแกรมของคุณกับสภาพแวดล้อมที่มันรัน out- เอนทิตีที่เก็บไว้Systemภายใน โดยค่าเริ่มต้น อ้างอิงถึงสตรีมเอาท์พุตคอนโซล คุณสามารถอ่านเพิ่มเติมเกี่ยวกับสตรีม I/O ใน Java ได้ ที่นี่ println— วิธีการที่ถูกเรียกบนเอนทิตีออกเพื่อระบุวิธีการส่งออกข้อมูลไปยังคอนโซล มาดูรายละเอียดแต่ละองค์ประกอบจากห่วงโซ่นี้กันดีกว่า

ระบบ

ดังที่ได้กล่าวไปแล้วSystemนี่คือเอนทิตี (คลาส) บางอย่างที่ช่วยให้นักพัฒนาสามารถสื่อสารกับสภาพแวดล้อมของเขาได้นั่นคือระบบปฏิบัติการที่โปรแกรมกำลังทำงานอยู่ เนื่องจากคอนโซลเป็นแอปพลิเคชันที่ติดตั้งภายในระบบปฏิบัติการ (บรรทัดคำสั่ง Shell สำหรับ Windows และ Terminal สำหรับ Linux) จึงชัดเจนว่าเอนทิตีใช้ทำอะไรSystem- เพื่อสร้างการเชื่อมต่อระหว่างโปรแกรมของเรากับ "โลกภายนอก" นอกจากการเชื่อมต่อกับคอนโซลแล้ว ยังSystemมีฟังก์ชันอื่นๆ อีกด้วย:
  • การเข้าถึงตัวแปรสภาพแวดล้อมระบบปฏิบัติการ:

    System.getenv("JAVA_HOME")
  • ส่งกลับค่าของตัวแปรสภาพแวดล้อม JAVA_HOME ซึ่งตั้งค่าไว้ในการตั้งค่าระบบปฏิบัติการ เมื่อติดตั้ง Java คุณอาจเจอมัน

  • การหยุดโปรแกรมทันที:

    System.exit(0)

    ขัดจังหวะการทำงานของโปรแกรมโดยการหยุด Java Virtual Machine

  • รับตัวคั่นบรรทัดที่ใช้บนระบบปฏิบัติการนี้:

    System.lineSeparator()
  • รับเวลาระบบปัจจุบันเป็นมิลลิวินาที:

    System.currentTimeMillis();
    และฟังก์ชันที่มีประโยชน์อีกมากมาย
ตัวอย่างเหล่านี้เป็นวิธีการที่ดำเนินการเฉพาะ ตัวอย่างเช่น หยุดโปรแกรมหรือส่งคืนค่าที่ร้องขอ นอกจากวิธีการแล้ว คลาสSystemยังมีฟิลด์ที่เก็บลิงก์ไปยังเอนทิตีอื่น:
  • out— ลิงก์ที่คุ้นเคยอยู่แล้วไปยังสาระสำคัญของกระแสข้อมูลที่ส่งออกไปยังคอนโซล
  • in— ลิงก์ไปยังเอนทิตีที่รับผิดชอบในการอ่านข้อมูลอินพุตจากคอนโซล
  • err- คล้ายกันมากoutแต่ออกแบบมาเพื่อแสดงข้อผิดพลาด
เมื่อทราบเกี่ยวกับเอนทิตีเหล่านี้ภายในคลาสSystemโปรแกรมเมอร์จึงสามารถใช้เพื่อวัตถุประสงค์ของตนเองได้ Java ใช้ตัวดำเนินการ “.” เพื่ออ้างถึงองค์ประกอบที่อยู่ภายในองค์ประกอบอื่น ดังนั้น ในการเข้าถึงเอนทิตีสตรีมเอาท์พุตคอนโซล คุณจะต้องเขียนโค้ด:
System.out
ทีนี้ เรามาดูกันว่าอันนี้คือoutอะไร

ออก

outเป็นชื่อของตัวแปรที่เก็บการอ้างอิงถึงวัตถุ (เอนทิตี) PrintStreamประเภท วัตถุนี้ได้รับการกำหนดค่าในลักษณะที่ข้อมูลทั้งหมดที่เขียนไปสิ้นสุดบนคอนโซล ดังนั้น object ก็outคือ instance ของ class PrintStreamและคุณสามารถเรียกใช้เมธอดที่เกี่ยวข้องได้:
  • print()— ผลลัพธ์ของข้อมูลที่ส่ง สามารถใช้ตัวเลข สตริง และอ็อบเจ็กต์อื่นๆ เป็นอาร์กิวเมนต์ได้
  • printf()- เอาต์พุตที่จัดรูปแบบแล้ว จัดรูปแบบข้อความที่ส่งโดยใช้สตริงและอาร์กิวเมนต์พิเศษ
  • println()— เอาต์พุตของข้อมูลที่ส่งและการป้อนบรรทัด สามารถใช้ตัวเลข สตริง และอ็อบเจ็กต์อื่นๆ เป็นอาร์กิวเมนต์ได้
  • วิธีการอื่นๆ บางอย่างที่เราไม่สนใจในบริบทของบทความนี้
อย่างที่คุณเห็นความแตกต่างระหว่างprint()และprintln()มีขนาดเล็ก สิ่งเดียวที่แตกต่างprintln()คือมันจะเพิ่มบรรทัดใหม่แทนเราซึ่งทำให้เป็นที่นิยมมากprint()ขึ้น หากเราเรียกเมธอดนี้สามครั้งprint()พร้อมอาร์กิวเมนต์ "Hello World!" ผลลัพธ์จะเป็นบรรทัดดังนี้:
Hello World!Hello World!Hello World!
ในขณะที่เมธอดprintln()จะสร้างแต่ละเอาต์พุตในบรรทัดใหม่:
Hello World!
Hello World!
Hello World!
ในการเรียกเมธอดบนออบเจ็กต์ จะใช้ตัวดำเนินการ “.” ที่คุ้นเคย ดังนั้นการเรียกเมธอดprintln()บนเอนทิตีออกจะมีลักษณะดังนี้:
out.println()

พิมพ์

เช่นเดียวกับภาษาโปรแกรมอื่นๆ println ของ Java ย่อมาจาก “print line” เรารู้อยู่แล้วว่าprintln()นี่เป็นวิธีการที่ต้องเรียกใช้ในเอนทิoutตี หากคุณยังใหม่กับ Java และการเขียนโปรแกรมโดยทั่วไป วิธีการคือชุดคำสั่งบางชุดที่รวมกันทางลอจิคัล ในกรณีของเราprintln()นี่คือกลุ่มคำสั่งที่ส่งข้อความไปยังเอาต์พุตสตรีมและเพิ่มตัวแบ่งบรรทัดที่ส่วนท้าย ใน Java วิธีการสามารถรับข้อโต้แย้งได้ เมื่อเราเรียกเมธอด อาร์กิวเมนต์จะถูกส่งผ่านในวงเล็บ
println(Hello World!);
ในทางกลับกัน โค้ดที่อยู่ในเมธอดจะได้รับข้อความที่เราส่งไปและส่งไปยังเอาต์พุต

มาสร้างห่วงโซ่เชิงตรรกะกันดีกว่า

หากต้องการส่งข้อความไปยังคอนโซล โปรแกรมเมอร์ Java ต้องทำสิ่งต่อไปนี้:
  1. ติดต่อหน่วยงานที่สามารถเชื่อมต่อแอปพลิเคชันของเราและคอนโซล - System;
  2. เข้าถึงกระแสเอาต์พุตคอนโซล - System.out;
  3. เรียกเมธอดที่เขียนข้อมูลไปยังคอนโซล - System.out.println;
  4. ส่งข้อความที่จะบันทึก -System.out.println(“Hello World!”);

มาสรุปกัน

เอาต์พุตปกติไปยังคอนโซลใน Java จะเริ่มต้นการเรียกทั้งสายไปยังอ็อบเจ็กต์และวิธีการต่างๆ การทำความเข้าใจสิ่งที่เกิดขึ้นเมื่อเรียกใช้คำสั่งที่ใช้มากที่สุดใน Java ทำให้เราเข้าใกล้สถานะ Java Guru มากขึ้นเล็กน้อย!
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION