การยืนยันใน Java คืออะไร? วิธีใช้การยืนยันใน Java
เผยแพร่แล้ว: 2021-05-20สารบัญ
การยืนยันใน Java คืออะไร?
การยืนยันใน Java ใช้เพื่อรับรองความถูกต้องของสมมติฐานของโปรแกรมใดๆ เนื่องจากการยืนยันจะถือว่าเป็นจริงเมื่อดำเนินการ Java Virtual Machine แสดงข้อผิดพลาดชื่อ AssertionError หากการยืนยันเป็นเท็จ การยืนยันใน Java พบว่า แอปพลิเคชัน ส่วนใหญ่ใช้เพื่อการทดสอบ ใช้นิพจน์บูลีนร่วมกับข้อความยืนยัน การยืนยันคือคำสั่ง และคีย์เวิร์ด 'asset' ใช้เพื่อดำเนินการยืนยันใน Java
ไวยากรณ์
ต่อไปนี้เป็นสองวิธีที่ดำเนินการยืนยันใน Java:
1. ยืนยันนิพจน์
2. ยืนยัน expression1: expression2;
จะใช้การยืนยันใน Java ได้อย่างไร?
การยืนยันถูกปิดใช้งานใน Java โดยค่าเริ่มต้น คำสั่งต่อไปนี้ใช้เพื่อเปิดใช้งาน:
java -ea ทดสอบ
(หรือ)
java - การทดสอบการเปิดใช้งานการทดสอบ
โดยที่ Test คือชื่อของไฟล์ Java
นี่คือตัวอย่างเพื่อแสดงไวยากรณ์ของการยืนยัน:
การทดสอบคลาสสาธารณะ
{
โมฆะคงที่สาธารณะ main(String[] args)
{
ค่า int = 13;
ยืนยันค่า <= 12 : “ไม่ใช่วัยรุ่น”;
System.out.println(“อายุของวัยรุ่นคือ ” + ค่า);
}
}
เอาท์พุต
นี่คือตัวอย่างสำหรับการสร้างข้อผิดพลาดในการยืนยันโดย Java Virtual Machine –
แบบทดสอบคลาส
{
โมฆะคงที่สาธารณะ main ( String args[] )
{
น้ำหนักสุทธิ = 30;
ยืนยันน้ำหนัก >= 20 : ” น้ำหนักเกิน”;
System.out.println("น้ำหนักคือ"+ค่า);
}
}
เอาท์พุต
หลังจากเปิดใช้งานการยืนยัน
เอาท์พุต
ข้อยกเว้นในเธรด “main” java.lang.AssertionError: Overweight
นี่คือสิ่งที่ดูเหมือน:
แหล่งที่มา
ทำไมต้องใช้การยืนยัน?
การ ยืนยันใน Java ใช้เพื่อ:
- ตรวจสอบว่าสมมติฐานที่ตั้งขึ้นโดยโปรแกรมเมอร์นั้นถูกต้องหรือไม่
- ตรวจสอบให้แน่ใจว่ารหัสนั้นดูเข้าถึงไม่ได้ แสดงว่าไม่สามารถเข้าถึงได้
- ยืนยันว่าสมมติฐานที่เขียนไว้ในความคิดเห็นนั้นถูกต้อง ตัวอย่างเช่น
ถ้า ((y & 1) == 1)
{ }
อื่น // y จะต้องเท่ากัน
{ ยืนยัน (y% 2 == 0); }
- ตรวจสอบให้แน่ใจว่าไม่ถึงกรณีสวิตช์เริ่มต้น
- ตรวจสอบสถานะของวัตถุ
การยืนยันใน Java จะใช้ที่จุดเริ่มต้นของเมธอดและหลังการเรียกใช้เมธอด
จะใช้การยืนยันได้ที่ไหน
การยืนยันใน Java จะใช้ในกรณีแบบมีเงื่อนไขและเมื่อเงื่อนไขอยู่ที่จุดเริ่มต้นของเมธอดใดๆ นอกจากนี้ ในกรณีของการโต้แย้งกับเมธอดส่วนตัว รหัสของนักพัฒนาให้ข้อโต้แย้งส่วนตัวและเมื่อโปรแกรมเมอร์ต้องตรวจสอบสมมติฐานของตนเกี่ยวกับข้อโต้แย้ง
ต่อไปนี้คือบางสถานการณ์ที่ควรหลีกเลี่ยงการใช้การยืนยัน:
- ตามข้อกำหนดที่กำหนดโดย Sun Microsystems ไม่ควรใช้การยืนยันขณะตรวจสอบอาร์กิวเมนต์ในวิธีการสาธารณะ เนื่องจากจะส่งผลให้เกิดข้อยกเว้นรันไทม์ที่เหมาะสม เช่น NullPointerException และ IllegalArgumentException
- ไม่ควรใช้แทนข้อความแสดงข้อผิดพลาด
- หากคุณไม่ต้องการให้เกิดข้อผิดพลาดในสถานการณ์ใดๆ ให้ข้ามไปโดยใช้การยืนยัน
- ไม่ควรใช้กับอาร์กิวเมนต์บรรทัดคำสั่ง
- หากผู้ใช้ระบุข้อผิดพลาด ไม่ควรใช้การยืนยันเพื่อตรวจสอบอาร์กิวเมนต์ในวิธีการสาธารณะ ควรใช้การจัดการข้อผิดพลาดแทน
จะปิดการใช้งานการยืนยันได้อย่างไร?
คำสั่งต่อไปนี้ใช้เพื่อปิดใช้งานการ ยืนยันใน Java:
java –da Test
หรือ
java – การทดสอบการ ปิดใช้งาน
โดยที่ Test คือชื่อของไฟล์ Java
วิธีการใช้การยืนยันใน Java
ตัวอย่างที่ 1: การยืนยัน Java
คลาสสาธารณะหลัก {
โมฆะคงที่สาธารณะหลัก (สตริง args []) {
String[] วันธรรมดา = {"จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์"};
ยืนยันวันธรรมดาความยาว == 2;
System.out.println(“มี ” + วันธรรมดา. ความยาว + ” วันธรรมดาในหนึ่งสัปดาห์”);
}
}
เอาท์พุต
ผลลัพธ์ต่อไปนี้จะเกิดขึ้นเมื่อปิดใช้งานการยืนยันและโปรแกรมไม่มีข้อผิดพลาดในการรวบรวม
เมื่อเปิดใช้งานการยืนยัน เราจะได้รับผลลัพธ์ต่อไปนี้:
ข้อยกเว้นในเธรด “main” java.lang.AssertionError
มีคำยืนยันอีกรูปแบบหนึ่งดังนี้
ยืนยันเงื่อนไข: นิพจน์;
รูปแบบของคำสั่งยืนยันนี้มีนิพจน์ที่ส่งผ่านไปยังตัวสร้างของอ็อบเจ็กต์ AssertionError หากเงื่อนไขเป็นเท็จ นิพจน์นี้จะมีค่าที่แสดงเป็นข้อความรายละเอียดของข้อผิดพลาด เพื่อช่วยในการดีบักปัญหา การนวดแบบละเอียดจะรวบรวมและส่งข้อมูลความล้มเหลวในการยืนยัน
ตัวอย่างที่ 2: การยืนยัน Java พร้อมตัวอย่างนิพจน์
คลาสสาธารณะหลัก {
โมฆะคงที่สาธารณะหลัก (สตริง args []) {
String[] วันธรรมดา = {"จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์"};
ยืนยันวันธรรมดา. ความยาว == 5: “สัปดาห์หนึ่งมี 5 วันเท่านั้น”;;
System.out.println(“มี ” + วันธรรมดา. ความยาว + ” วันธรรมดาในหนึ่งสัปดาห์”);
}
}
เอาท์พุต
ข้อยกเว้นในเธรด “main” java.lang.AssertionError: มีเพียง 5 วันหยุดสุดสัปดาห์ในหนึ่งสัปดาห์
ดังที่แสดงในตัวอย่างข้างต้น นิพจน์จะถูกส่งต่อไปยังตัวสร้างของอ็อบเจ็กต์ AssertionError เนื่องจากการยืนยันถูกเปิดใช้งานและสมมติฐานนั้นเป็นเท็จ ข้อความที่เหมาะสมจะปรากฏขึ้นเมื่อมีการส่งข้อยกเว้น ข้อความนี้ช่วยในการวินิจฉัยและแก้ไขข้อผิดพลาดที่ทำให้เกิดความล้มเหลวในการยืนยัน
เรียนรู้ หลักสูตรวิศวกรรมซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
ในบล็อกนี้ คุณได้เรียนรู้วิธีใช้การยืนยันเพื่อทดสอบตรรกะของโปรแกรม คุณได้เรียนรู้ด้วยว่าเหตุใดจึงไม่สามารถใช้การยืนยันแทนข้อยกเว้นได้ และคุณเคยเห็นสถานการณ์ที่การใช้ข้อยกเว้นจะมีประสิทธิภาพมากกว่าการจัดการข้อยกเว้น
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Java และก้าวไปสู่อาชีพการเขียนโปรแกรม ให้สำรวจหลักสูตรออนไลน์ Java ฟรีโดย upGrad บริษัทการศึกษาระดับอุดมศึกษาออนไลน์ที่ใหญ่ที่สุดของอินเดีย เยี่ยมชม upGrad สำหรับข้อมูลเพิ่มเติม
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java การพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9+ โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
การยืนยันใน Java คืออะไร?
ในภาษาการเขียนโปรแกรม Java การยืนยันเป็นวิธีที่ใช้เพื่อให้แน่ใจว่ามีการปฏิบัติตามข้อกำหนดบางประการ ความล้มเหลวในการยืนยันใน Java ถือเป็นข้อผิดพลาดในการรวบรวม เช่น หากมีการยืนยันใดๆ ในโค้ดของคุณ โค้ดจะไม่ได้รับการคอมไพล์ และคุณจะได้รับข้อความแสดงข้อผิดพลาด คุณลักษณะของ Java นี้ช่วยให้คุณสามารถปกป้องโค้ดของคุณจากข้อผิดพลาดรันไทม์ที่ไม่คาดคิดหรือไม่พึงประสงค์ คำสั่งยืนยัน Java อนุญาตให้คุณทดสอบค่าคงที่ของโปรแกรมของคุณ ณ รันไทม์ โดยปกติการยืนยันจะใช้เพื่อตรวจสอบว่ารหัสไม่ได้เข้าสู่สถานะที่ไม่ถูกต้อง ในภาษาอื่นๆ คุณอาจเห็นวิธีการทำสัญญาหรือเงื่อนไขก่อน/หลังใช้เพื่อจุดประสงค์นี้
จะจัดการกับข้อยกเว้นใน Java ได้อย่างไร?
ข้อยกเว้นคือข้อผิดพลาดรันไทม์ ซึ่งหมายความว่าจะเกิดขึ้นในขณะที่โปรแกรมกำลังทำงาน ไม่ใช่ระหว่างการคอมไพล์ ข้อยกเว้นจะเกิดขึ้นเมื่อมีข้อผิดพลาดเกิดขึ้นและโปรแกรมไม่สามารถดำเนินการต่อได้ คุณสามารถจัดการกับข้อยกเว้นได้สามวิธี: ละเว้นข้อยกเว้นและอนุญาตให้โปรแกรมออก ใช้คีย์เวิร์ด throw เพื่อส่งข้อยกเว้นอีกครั้ง ใช้บล็อก try-catch เพื่อจัดการกับข้อยกเว้น คุณสามารถบันทึกหรือพิมพ์ข้อยกเว้นแล้วปล่อยให้โปรแกรมออก คุณสามารถใช้คีย์เวิร์ด exit เพื่อยุติโปรแกรม คุณสามารถใช้คีย์เวิร์ด throw เพื่อส่งข้อยกเว้นอีกครั้ง คุณสามารถใช้บล็อก try-catch เพื่อจัดการกับข้อยกเว้น มี catch block ที่ยอมรับข้อยกเว้นในการโต้แย้ง มีบล็อกสุดท้ายที่ทำงานไม่ว่าจะมีการส่งข้อยกเว้นหรือไม่
try-catch ทำงานอย่างไรใน Java
try-catch เป็นกลไกใน Java ที่ให้คุณกำหนดขอบเขตที่คุณสามารถจัดการกับข้อผิดพลาดรันไทม์ในลักษณะที่ควบคุมได้ นอกจากนี้ยังช่วยให้แน่ใจว่าโฟลว์ของการดำเนินการไม่หยุดอย่างสมบูรณ์เมื่อพบข้อผิดพลาด try and catch เป็นคำสำคัญสองคำที่ใช้ในการดำเนินการจัดการข้อยกเว้น เมื่อใดก็ตามที่เกิดข้อผิดพลาดในโปรแกรมของคุณ บล็อกการลองจะถูกดำเนินการ จากนั้นบล็อก catch จะจัดการกับข้อผิดพลาด