कैसे जावा में सबसे अच्छा उपयोग के लिए जोर?



यह लेख आपको जावा में एक सरल लेकिन महत्वपूर्ण अवधारणा में निबंधों से परिचित कराता है और इसे एक प्रोग्राम प्रदर्शन के साथ पालन करता है।

यह लेख आपको अभिकथन में शामिल करता है एक सरल लेकिन महत्वपूर्ण अवधारणा और एक प्रोग्राम प्रदर्शन के साथ इसका पालन करना। इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,

तो चलिए शुरू करते हैं,





यदि आपके कार्यक्रम में एक धारणा सही है तो परीक्षण करना चाहते हैं? खैर, आप जावा में जोर बयानों के साथ ऐसा कर सकते हैं। आप मुखर खोजशब्द का उपयोग कर सकते हैं ताकि आप एक कार्यक्रम में अपनी मान्यताओं का परीक्षण कर सकें।

एक उदाहरण लेते हैं। एक कंपनी ABC में एक कर्मचारी की उम्र एक नकारात्मक संख्या नहीं हो सकती है। आप यह सुनिश्चित करने के लिए कि कर्मचारी की उम्र एक ऋणात्मक संख्या नहीं है, इसके लिए एक दावे का उपयोग कर सकते हैं।



एक और उदाहरण लेते हैं। यदि आपकी विधि किसी कण की गति की गणना करती है, तो आपकी धारणा यह है कि कण की गति प्रकाश की गति से कम है। तो, इस धारणा का परीक्षण करने के लिए, आप जावा में अभिकथन कथनों का उपयोग कर सकते हैं।

सिंटेक्स

कथन के दो रूप हैं:



assertexpression1

यहाँ,

अभिव्यक्ति 1 एक बूलियन अभिव्यक्ति है।

अभिव्यक्ति 1: अभिव्यक्ति 2

इस रूप में, अभिव्यक्ति 1 एक बूलियन अभिव्यक्ति है, और अभिव्यक्ति 2 में एक मूल्य है जो कि अभिव्यक्ति 1 की तुलना में होगा।

अब, आप पूछ सकते हैं - आप अपने कार्यक्रमों के लिए किस रूप को चुनते हैं? जब आपके प्रोग्राम में अतिरिक्त जानकारी होती है जो प्रोग्राम में त्रुटियों या विफलताओं का निदान करने में मदद कर सकती है, तो आप दूसरे फॉर्म का उपयोग कर सकते हैं।

जावा 1.4 से पहले, आप अपने चर, विधियों, कार्यों और बहुत कुछ के नाम के लिए 'मुखर' कीवर्ड का उपयोग कर सकते थे। जेवीएम के नए संस्करणों के साथ, यह संभावित रूप से नामकरण संघर्ष का कारण बन सकता है - इसलिए आपको इस तथ्य के बारे में थोड़ा ध्यान रखने की आवश्यकता है।

जावा में जोर पर इस लेख के साथ आगे बढ़ना

आपको किन कारणों की आवश्यकता है?

आप सोच सकते हैं कि जावा में एक जोरदार बयान अनावश्यक हो सकता है। आपको यह छोटे कार्यक्रमों के लिए अनावश्यक लग सकता है। लेकिन, जब जटिल तर्क के साथ बड़े कार्यक्रमों की बात आती है, तो ये जोरदार बयान आते हैं।

अभिकथन कथनों का प्राथमिक उपयोग डिबगिंग और परीक्षण के लिए है। यदि मुखर कथन में कोई विफलता है, तो JVM एक त्रुटि को फेंक देगा जिसे एक अभिकथन के रूप में लेबल किया गया है। जैसा कि आप देख सकते हैं, यह एक कार्यक्रम में त्रुटियों का पता लगाने और सही करने का एक प्रभावी तरीका प्रदान करता है।

डिबगिंग और परीक्षण के अलावा, अभिकथन कथन आपके कोड को अधिक पठनीय बनाता है। आइए एक उदाहरण लें:

नीचे दिए गए कोड से हमें कुछ शर्तों को सत्यापित करने में मदद मिलेगी जो एप्लिकेशन को ठीक से काम करने से रोक सकती हैं।

कनेक्शन कॉन = getConnection () if (कॉन == null) {नया रनटाइम एक्ससेप्शन फेंकें ('कनेक्शन null है')}

एक एकल कथन के साथ, आप अनिवार्य रूप से 'अगर और फेंक' बयान के साथ नीचे दिखाए अनुसार कर सकते हैं:

कनेक्शन कॉन = getConnection () एंसर कॉन! = Null

जावा में जोर पर इस लेख के साथ आगे बढ़ना

जावा अभिकथन को सक्षम और अक्षम करना

जैसा कि जावा मुखर मुखर कीवर्ड का उपयोग करते हैं, आपको पैकेज या लाइब्रेरी आयात करने की आवश्यकता नहीं है। जैसा कि पहले उल्लेख किया गया है, आप चर, विधियों और कार्यों के लिए मुखर खोजशब्द का उपयोग कर सकते हैं। पिछड़े संगतता के लिए, और संभावित नामकरण संघर्ष से बचने के लिए, JVM डिफ़ॉल्ट रूप से अभिकथन सत्यापन अक्षम करता है। मुखरता स्पष्ट रूप से सक्षम होनी चाहिए। आप एक कमांड लाइन तर्क (-enableassertions), या इसके आशुलिपि (-ए) का उपयोग करके कर सकते हैं।

जावा में एक वर्ग का एक उदाहरण क्या है

आइए कुछ उदाहरणों पर विचार करें:

java -ea com.baeldung.assertion.Assertion

उपरोक्त वर्गों के लिए जोर देता है।

जावा -या: com.baeldung.assertion… com.baeldung.assertion.Assertion

आप विशेष पैकेज और कक्षाओं के लिए भी अभिकथन सक्षम कर सकते हैं। यह उपरोक्त उदाहरण में दिखाया गया है जहां हमने com.baeldung.assertion पैकेज में कक्षाओं के लिए अभिकथन सक्षम किया है।

अब जब हमने जोर देने के बारे में जान लिया है, तो आइए देखें कि हम उन्हें कैसे निष्क्रिय कर सकते हैं। मुखरता को सक्षम करने की तरह, अक्षम करना एक विशेष पंक्ति और वर्गों के लिए कमांड लाइन तर्क (-disableassertions) या उसके आशुलिपि (-da) का उपयोग करके किया जा सकता है।

जावा में जोर पर इस लेख के साथ आगे बढ़ना

जावा का उपयोग कैसे करें?

दो चीजें हैं जो आपको अपने कार्यक्रम में जोर देने की जरूरत हैं - मुखर कीवर्ड और एक बूलियन स्थिति। कोड स्निपेट के साथ एक उदाहरण लेते हैं:

सार्वजनिक शून्य सेटअप () {कनेक्शन कनवर्टर = getConnection () मुखर कनवर्टर! = null}

आप नीचे दिखाए गए अनुसार उपरोक्त कथनों के लिए एक स्ट्रिंग का उपयोग भी कर सकते हैं:

सार्वजनिक शून्य सेटअप () {कनेक्शन कनेक्टर = getConnection () मुखर कनवर्टर! = null: 'कनेक्शन शून्य है'}

उपरोक्त कोड स्निपेट में, यदि कोई जोर है, तो त्रुटि के निर्माण के लिए स्ट्रिंग का उपयोग किया जाएगा।

उपरोक्त दोनों मामलों में, कोड जाँचता है कि क्या बाहरी स्रोत से कनेक्शन एक गैर-शून्य मान लौटाता है। यदि मान शून्य है, तो JVM स्वतः ही जोर लगाएगा।

दूसरे उदाहरण में, हमने जिस स्ट्रिंग का उपयोग किया है, वह स्ट्रेस ट्रेस में तब दिखाई देता है जब कोई एसेररियनर्रर होता है। यह अतिरिक्त जानकारी तब उपयोगी होगी जब आप प्रोग्राम को डीबग करने का प्रयास कर रहे हों। ये विस्तृत संदेश आपको एक त्रुटि को ठीक करने में मदद करेंगे जिसके कारण दावा विफल हो जाएगा। इसलिए, जब आप सक्षम किए गए दावे के साथ कक्षा चलाते हैं, तो परिणाम नीचे दिए गए के समान होगा:

थ्रेड में अपवाद 'मुख्य' java.lang.AssertionError: कनेक्शन शून्य है
com.baeldung.assertion.Assertion.setup (Assertion.java:15) पर
com.baeldung.assertion.Assertion.main (Assertion.java:10) पर

जावा में एक्सएमएल पार्स करने के लिए कैसे

आइए एक सरल उदाहरण पर विचार करें:

आयात java.util.Scanner वर्ग AssertionExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {स्कैनर स्कैनर = नया स्कैनर (System.in) System.out.print ('अपनी उम्र दर्ज करें) int मान = स्कैनर .nextInt () मुखर मूल्य> = 18: 'मान्य नहीं है' System.out.println ('मान' + मान)}} है

अब आपके पास हाथ में कोड है, इसे चलाने का समय है। चूंकि, डिफ़ॉल्ट रूप से दावे अक्षम हैं, इसलिए आपको उन्हें सक्षम करना होगा।

आप उपरोक्त कोड को निम्न के साथ संकलित कर सकते हैं: javac AssertionExample.java

फिर आप इसे निम्न का उपयोग करके चला सकते हैं: जावा -ए AssertionExample

आउटपुट उपरोक्त कोड के लिए है:

अपनी उम्र 11 दर्ज करें

थ्रेड में अपवाद 'मुख्य' java.lang.AssertionError: मान्य नहीं है

जैसा कि आप देख सकते हैं, हमने उम्र के लिए मूल्य के रूप में 11 दिए हैं। कार्यक्रम इसे एक वैध मूल्य नहीं मानता है। तो, आप एक जोर से देखेंगे।

जावा में जोर पर इस लेख के साथ आगे बढ़ना

जहां मुखर उपयोग करने के लिए नहीं?

हालांकि ऐसी स्थितियों में अभिकथन करना अच्छा होता है, जिनमें आंतरिक आक्रमणकारी, नियंत्रण-प्रवाह अपरिवर्तनीयता, पूर्वसंधि, पोस्टकंडिशन और क्लास इनवेरिएंट शामिल होते हैं, कुछ स्थितियाँ ऐसी होती हैं जहाँ अभिकथन का उपयोग नहीं किया जाना चाहिए।

आइए इन पर और खोज करें:

सार्वजनिक विधियों में तर्क जाँच के लिए

आपको यह समझना चाहिए कि तर्क की जाँच एक विधि के प्रकाशित विनिर्देशों या अनुबंधों का एक हिस्सा है। इन बातों की परवाह किए बिना कि क्या सक्षम हैं या नहीं।

जावा में जोर पर इस लेख के साथ आगे बढ़ना

संचालन के लिए अभिकथन का उपयोग करना

डिफ़ॉल्ट रूप से, दावे अक्षम हैं। आपके कार्यक्रम को यह नहीं मान लेना चाहिए कि एक कथन में बूलियन अभिव्यक्ति का हमेशा मूल्यांकन किया जाएगा।

आइए एक उदाहरण लेते हैं कि यह आपके कार्यक्रम को कैसे प्रभावित कर सकता है। कहते हैं, आप सभी अशक्त तत्वों को नामों की सूची से हटाना चाहते हैं, और आप जानते हैं कि आपकी सूची में अशक्त तत्व हैं।

assert names.remove (अशक्त)

उपरोक्त कोड स्निपेट काम करेगा यदि अभिकथन सक्षम किया गया। लेकिन, यह विफल हो जाएगा अगर दावे को निष्क्रिय कर दिया गया क्योंकि कोड किसी भी अशक्त तत्वों को नहीं हटाएगा। इस समस्या को ठीक करने के लिए, आप नीचे दिए गए कोड स्निपेट को अपने कार्यक्रम में नियोजित कर सकते हैं:

बूलियन nullsRemoved = names.remove (अशक्त)
मुखर nullsRemoved

उपरोक्त कोड स्निपेट अशक्त मूल्यों को हटा देगा, भले ही दावे अक्षम किए गए हों।

अब उपरोक्त जावा प्रोग्राम को निष्पादित करने के बाद आप 'जावा में जोर' को समझ गए होंगे। इस प्रकार हम 'जावा में क्विकॉर्ट' पर इस लेख के अंत में आए हैं। यदि आप और अधिक सीखना चाहते हैं,इसकी जाँच पड़ताल करो Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी द्वारा। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपको वापस कर देंगे।