อาร์กิวเมนต์บรรทัดคำสั่งใน Java [พร้อมตัวอย่าง]
เผยแพร่แล้ว: 2021-03-03ขณะเขียนโปรแกรม Java คุณต้องสังเกตเห็น (String[] args) ในเมธอด main() สิ่งเหล่านี้คืออาร์กิวเมนต์บรรทัดคำสั่งที่ถูกเก็บไว้ในสตริงที่ส่งผ่านไปยังเมธอดหลัก อาร์กิวเมนต์เหล่านี้เรียกว่าอาร์กิวเมนต์บรรทัดคำสั่ง
เป็นเรื่องปกติที่จะใช้อาร์กิวเมนต์บรรทัดคำสั่ง เนื่องจากคุณไม่ต้องการให้แอปพลิเคชันของคุณทำสิ่งเดียวกันในทุกการทำงาน หากเราต้องการกำหนดค่าพฤติกรรม เราจะต้องใช้อาร์กิวเมนต์บรรทัดคำสั่ง
สารบัญ
การใช้อาร์กิวเมนต์บรรทัดคำสั่งคืออะไร
อาร์กิวเมนต์บรรทัดคำสั่งเหล่านี้ถูกส่งผ่านจากคอนโซล สามารถรับได้ในโปรแกรมจาวาเพื่อใช้เป็นอินพุต เราสามารถส่งอาร์กิวเมนต์ได้มากเท่าที่เราต้องการ เนื่องจากมันถูกเก็บไว้ในอาร์เรย์ นี่คือตัวอย่างวิธีที่คุณสามารถใช้อาร์กิวเมนต์บรรทัดคำสั่งได้
ในโปรแกรม
สอบในชั้นเรียน
{

โมฆะคงที่สาธารณะ main(String[] args)
{
สำหรับ (int i=0;i< args.length;++i)
{
System.out.println(args[ผม]);
}
}
}
ในคอนโซล
จาวา args1 args2 args3 …
เป็นผลให้เราได้ผลลัพธ์ที่มีอาร์กิวเมนต์เหล่านี้ซึ่งเราส่งผ่านเป็นอินพุต โปรแกรมนี้จะพิมพ์อาร์กิวเมนต์ทั้งหมดเหล่านี้โดยคั่นด้วยบรรทัดใหม่:
args1
args2
args3
อย่างที่เราเห็น อาร์กิวเมนต์บรรทัดคำสั่งต้องเป็นประเภทสตริงเท่านั้น เกิดอะไรขึ้นถ้าเราต้องการส่งตัวเลขเป็นอาร์กิวเมนต์? สมมติว่าคุณต้องการเพิ่มบางอย่างในอาร์กิวเมนต์ที่คุณส่งผ่าน หากคุณทำกับโปรแกรมข้างต้น มันจะมีลักษณะดังนี้:
ในโปรแกรม
สอบในชั้นเรียน
{
โมฆะคงที่สาธารณะ main(String[] args)
{
สำหรับ (int i=0;i< args.length;++i)
{
System.out.println(args[i]+1); System.out.println(args[i]+1);
}
}
}
ในคอนโซล
ทดสอบจาวา 11 12 13
เอาท์พุต
111
121
131
คุณจะเห็นว่ามันต่อท้ายอักขระกับ "สตริง" ของตัวเลข ในการเพิ่มตัวเลข เราต้องแปลงอาร์กิวเมนต์ให้อยู่ในรูปแบบจำนวนเต็ม ในการทำเช่นนั้น เราใช้วิธี parseInt() ของคลาส Integer การดำเนินการจะเป็นเช่น -
ในโปรแกรม
การทดสอบระดับ {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
สำหรับ (int i = 0; i < args.length ; ++i ) {
int arg = Integer.parseInt(หาเรื่อง[i]);
System.out.println(หาเรื่อง + 1);
}
}
}
ในคอนโซล
ทดสอบจาวา 11 12 13
เอาท์พุต
12
13
14
ดังที่คุณเห็นว่าเราได้ผลลัพธ์ที่ต้องการได้อย่างไร เราสามารถทำเช่นเดียวกันกับ double() และ float() โดยใช้ parseDouble() และ parseFloat()
บางครั้ง อาร์กิวเมนต์ที่ให้มาไม่สามารถเปลี่ยนเป็นประเภทตัวเลขเฉพาะได้ ซึ่งจะส่งผลให้เกิดข้อยกเว้นที่เรียกว่า NumberFormatException
ตอนนี้ คุณอาจคิดว่าเรากำลังส่งข้อโต้แย้งเหล่านี้ไปยังใบสมัครของเรา จะส่งผลต่อประสิทธิภาพของแอพพลิเคชั่นแต่อย่างใดหรือไม่? คำตอบก็คือไม่ การส่งผ่านอาร์กิวเมนต์จะไม่ทำให้แอปพลิเคชันของคุณช้าลงหรือมีผลกระทบต่อประสิทธิภาพการทำงานอื่นๆ แม้ว่าจะเป็นเช่นนั้นก็น้อยมากและไม่ควรสังเกตเห็น

อ่าน: แนวคิดและหัวข้อโปรเจ็กต์ Java
อาร์กิวเมนต์ตัวแปรใน Java
ใน JDK 5 Java ได้รวมคุณลักษณะใหม่ที่ช่วยลดความยุ่งยากในการสร้างวิธีการที่ต้องการจำนวนตัวแปรของอาร์กิวเมนต์ คุณลักษณะนี้เรียกว่า varargs ซึ่งหมายถึงอาร์กิวเมนต์ความยาวผันแปร วิธีการที่รับตัวแปรอาร์กิวเมนต์เรียกว่าวิธี varargs
ก่อนใช้งานคุณลักษณะนี้ใน Java มีสองวิธีที่เป็นไปได้ในการส่งผ่านอาร์กิวเมนต์ของตัวแปรในแอปพลิเคชัน หนึ่งในนั้นใช้วิธีการโอเวอร์โหลด และอีกวิธีหนึ่งเกี่ยวข้องกับการส่งอาร์กิวเมนต์ในอาร์เรย์ แล้วส่งอาร์เรย์นั้นไปยังเมธอด ทั้งสองวิธีนี้มีโอกาสเกิดข้อผิดพลาดได้ง่าย Varargs แก้ปัญหาทั้งหมดที่มาพร้อมกับวิธีการก่อนหน้านี้ด้วยข้อดีเพิ่มเติมของโค้ดที่สะอาดและน้อยกว่าที่จะใช้งานได้
อาร์กิวเมนต์ความยาวผันแปรถูกระบุด้วยสามจุด (…) ด้านล่างเป็นไวยากรณ์แบบเต็มสำหรับสิ่งเดียวกัน –
โมฆะคงที่สาธารณะ varMethod(int … x)
{
// เนื้อหาของเมธอด
}
ไวยากรณ์ข้างต้นบอกคอมไพเลอร์ว่า varMethod() สามารถเรียกได้โดยมีอาร์กิวเมนต์เป็นศูนย์หรือมากกว่า
Varargs ยังสามารถโอเวอร์โหลดได้
มีกฎบางอย่างสำหรับการใช้ varargs:
- มีอาร์กิวเมนต์ตัวแปรได้เพียงตัวเดียวในเมธอด
- อาร์กิวเมนต์ตัวแปรต้องเป็นอาร์กิวเมนต์สุดท้าย
เกิดข้อผิดพลาดในการใช้สองอาร์กิวเมนต์ในวิธี Varargs
วิธีเป็นโมฆะ (สตริง… str, int… ก)
{
// ข้อผิดพลาดในการคอมไพล์เวลาเนื่องจากมีสองvarargs
}
เกิดข้อผิดพลาดเมื่อเราระบุ Varargs เป็นอาร์กิวเมนต์แรกแทนที่จะเป็นข้อสุดท้าย
วิธีเป็นโมฆะ (int… a, String str)
{
// ข้อผิดพลาดเวลาคอมไพล์เมื่อ vararg ปรากฏขึ้น
// ก่อนอาร์กิวเมนต์ปกติ
}

ดังนั้น หากคุณต้องการส่งผ่านอาร์กิวเมนต์ของตัวแปร คุณสามารถใช้เมธอด varargs ได้
เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
ยกระดับ อัปเกรด และอัปเดต
Java เป็นภาษาที่พิเศษจริงๆ และถูกใช้โดยบริษัทข้ามชาติและบริษัทข้ามชาติหลายแห่งเพื่อพัฒนาแอปพลิเคชันขนาดใหญ่
ขอบเขตของทักษะดังกล่าวสามารถยกระดับอาชีพของคุณได้อย่างแท้จริง upGrad ได้เปิดสอนหลักสูตรพิเศษในด้าน Machine Learning, Coding ในหลายภาษา เช่น Java, C++, C, AI, การประมวลผลภาษาธรรมชาติ และอื่นๆ อีกมากมาย เพิ่มความสดใสในอาชีพของคุณด้วยการอัพเกรดเป็นภาษาแห่งอนาคต: Java!
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java การพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9+ โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
จะรันคลาส Java โดยใช้บรรทัดคำสั่งได้อย่างไร?
ในการรันคลาส Java โดยใช้บรรทัดคำสั่ง เช่น จากเชลล์พร้อมต์ เพียงพิมพ์คำสั่ง java -jar jar_file.jar โดยที่ jar_file.jar เป็นชื่อของไฟล์ JAR ของคุณ (เช่น QuoraAnswerManager.jar) วิธีที่ง่ายที่สุดในการรันคลาส Java ในบรรทัดคำสั่งคือการคอมไพล์คลาสและจัดเตรียม classpath ให้กับคลาสนั้น คอมไพล์คลาส Java ของคุณด้วยคำสั่งต่อไปนี้: javac -classpath classpathMainFolder myClass.java จากนั้นรันคลาสที่คอมไพล์ด้วยคำสั่งต่อไปนี้: java -classpath classpathMainFolder myClass
ไฟล์ jar ใน Java คืออะไร
ใน Java มีไฟล์ jar หลายประเภท ไฟล์ Jar เป็นเพียงแพ็คเกจ รูปแบบไฟล์ JAR ถูกสร้างขึ้นสำหรับ Java และมีไว้สำหรับการแจกจ่ายซอฟต์แวร์ ไฟล์ JAR บางครั้งเรียกว่าไฟล์เก็บถาวร JAR เนื่องจากทำงานคล้ายกับไฟล์ ZIP โดยจัดเก็บไฟล์และไดเร็กทอรีหลายไฟล์ไว้ในไฟล์เดียวเพื่อการแจกจ่ายที่ง่ายดาย ไฟล์ JAR บางครั้งเรียกว่า Java Archive สิ่งนี้ไม่ถูกต้องในทางเทคนิค แต่มักใช้ในชุมชน Java ซึ่งบางครั้งทั้งคำว่า archive และ package ถูกใช้เพื่ออ้างถึงไฟล์ JAR