जावा में एक विधि को कैसे तोड़ें या बाहर निकलें?


123

breakजावा में कीवर्ड का उपयोग लूप या स्विच स्टेटमेंट से बाहर निकलने के लिए किया जा सकता है। क्या कोई ऐसी चीज है जिसका इस्तेमाल किसी विधि से तोड़ने के लिए किया जा सकता है?


2
यह प्रश्न भी जाँचने योग्य हो सकता है: stackoverflow.com/q/18188123/2182237
Don

जवाबों:


256

returnकिसी विधि से बाहर निकलने के लिए कीवर्ड का उपयोग करें ।

public void someMethod() {
    //... a bunch of code ...
    if (someCondition()) {
        return;
    }
    //... otherwise do the following...
}

जावा ट्यूटोरियल से जो मैंने ऊपर लिंक किया है:

कोई भी विधि घोषित शून्य मान वापस नहीं करती है। इसमें रिटर्न स्टेटमेंट शामिल करने की आवश्यकता नहीं है, लेकिन ऐसा हो सकता है। ऐसे मामले में, एक रिटर्न स्टेटमेंट का उपयोग एक कंट्रोल फ्लो ब्लॉक को ब्रांच करने और विधि से बाहर निकलने के लिए किया जा सकता है और बस इस तरह से उपयोग किया जाता है:

return;

क्या यह एक निर्माणकर्ता से बाहर निकलने के लिए काम करेगा? मुझे पता है कि यह थोड़ा अजीब है लेकिन मुझे इस हैक की जरूरत है।
स्टिलानोबोब

44

अन्य उत्तरों में जोड़ने के लिए, आप मैन्युअल रूप से अपवाद फेंककर एक विधि से बाहर निकल सकते हैं :

throw new Exception();

यहाँ छवि विवरण दर्ज करें


18

जावा में बाहर तोड़ने के लिए कैसे ??

उत्तर: सबसे अच्छा तरीका: System.exit(0);

जावा भाषा तीन जम्प स्टेटमैंट्स प्रदान करती है जो आपको प्रोग्राम के सामान्य प्रवाह को बाधित करने की अनुमति देती हैं।

इनमें ब्रेक , कंटिन्यू , रिटर्न , लेबल ब्रेक स्टेटमेंट जैसे उदा

import java.util.Scanner;
class demo
{   
    public static void main(String args[])
    {
            outerLoop://Label
            for(int i=1;i<=10;i++)
            {
                    for(int j=1;j<=i;j++)
                    {   
                        for(int k=1;k<=j;k++)
                        {
                            System.out.print(k+"\t");
                            break outerLoop;
                        }
                     System.out.println();                  
                    }
             System.out.println();
            }
    }   
}

आउटपुट: 1

अब नोट नीचे कार्यक्रम:

import java.util.Scanner;
class demo
{   
    public static void main(String args[])
    {
            for(int i=1;i<=10;i++)
            {
                    for(int j=1;j<=i;j++)
                    {   
                        for(int k=1;k<=j;k++)
                        {
                            System.out.print(k+"\t");
                            break ;
                        }                   
                    }
             System.out.println();
            }
    }   
}

उत्पादन:

1
11
111
1111

and so on upto

1111111111

इसी तरह आप जारी बयान का उपयोग कर सकते हैं बस ऊपर के उदाहरण में जारी रखने के साथ विराम बदलें।

याद रखने वाली चीज़ें :

एक केस लेबल में परिवर्तनशील अभिव्यक्ति नहीं हो सकती है जिसमें चर या विधि कॉल शामिल हैं

outerLoop:
Scanner s1=new Scanner(System.in);
int ans=s1.nextInt();
// Error s1 cannot be resolved

4

यदि आप पुनरावर्ती विधि के अंदर पुनरावृत्ति में गहराई से हैं, तो अपवाद को फेंकना और पकड़ना एक विकल्प हो सकता है।

रिटर्न के विपरीत जो केवल एक ही स्तर तक लौटता है, अपवाद पुनरावृत्ति विधि से बाहर हो जाएगा और साथ ही साथ कोड में शुरू में इसे कहा जाएगा, जहां इसे पकड़ा जा सकता है।


1

returnएक विधि से बाहर निकलने के लिए उपयोग करें।

 public void someMethod() {
        //... a bunch of code ...
        if (someCondition()) {
            return;
        }
        //... otherwise do the following...
    }

यहाँ एक और उदाहरण है

int price = quantity * 5;
        if (hasCream) {
            price=price + 1;
        }
        if (haschocolat) {
            price=price + 2;
        }
        return price;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.