การยืนยันใน 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 จะใช้ในกรณีแบบมีเงื่อนไขและเมื่อเงื่อนไขอยู่ที่จุดเริ่มต้นของเมธอดใดๆ นอกจากนี้ ในกรณีของการโต้แย้งกับเมธอดส่วนตัว รหัสของนักพัฒนาให้ข้อโต้แย้งส่วนตัวและเมื่อโปรแกรมเมอร์ต้องตรวจสอบสมมติฐานของตนเกี่ยวกับข้อโต้แย้ง

ต่อไปนี้คือบางสถานการณ์ที่ควรหลีกเลี่ยงการใช้การยืนยัน:

  1. ตามข้อกำหนดที่กำหนดโดย Sun Microsystems ไม่ควรใช้การยืนยันขณะตรวจสอบอาร์กิวเมนต์ในวิธีการสาธารณะ เนื่องจากจะส่งผลให้เกิดข้อยกเว้นรันไทม์ที่เหมาะสม เช่น NullPointerException และ IllegalArgumentException
  2. ไม่ควรใช้แทนข้อความแสดงข้อผิดพลาด
  3. หากคุณไม่ต้องการให้เกิดข้อผิดพลาดในสถานการณ์ใดๆ ให้ข้ามไปโดยใช้การยืนยัน
  4. ไม่ควรใช้กับอาร์กิวเมนต์บรรทัดคำสั่ง
  5. หากผู้ใช้ระบุข้อผิดพลาด ไม่ควรใช้การยืนยันเพื่อตรวจสอบอาร์กิวเมนต์ในวิธีการสาธารณะ ควรใช้การจัดการข้อผิดพลาดแทน

จะปิดการใช้งานการยืนยันได้อย่างไร?

คำสั่งต่อไปนี้ใช้เพื่อปิดใช้งานการ ยืนยันใน 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 จะจัดการกับข้อผิดพลาด