জাভাতে কোনও পদ্ধতি কীভাবে ভেঙে পড়তে হবে?


123

breakজাভাতে কীওয়ার্ডটি লুপ বা সুইচ স্টেটমেন্ট ভেঙে ফেলার জন্য ব্যবহার করা যেতে পারে। এমন কিছু আছে যা ব্যবহার থেকে কোন পদ্ধতি ভেঙে যেতে পারে?


2
এই প্রশ্নটিও মূল্যবান হতে পারে: stackoverflow.com/q/18188123/2182237
ডন

উত্তর:


256

returnকোনও পদ্ধতি থেকে প্রস্থান করার জন্য কীওয়ার্ডটি ব্যবহার করুন ।

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

উপরের সাথে যুক্ত জাভা টিউটোরিয়াল থেকে:

শূন্য ঘোষিত যে কোনও পদ্ধতি কোনও মান ফেরায় না। এটিতে রিটার্নের বিবৃতি ধারণ করার দরকার নেই তবে এটি এটি করতে পারে। এই জাতীয় ক্ষেত্রে, একটি রিটার্ন বিবৃতি একটি নিয়ন্ত্রণ ফ্লো ব্লক থেকে শাখা এবং পদ্ধতিটি প্রস্থান করার জন্য ব্যবহার করা যেতে পারে এবং কেবল এইভাবে ব্যবহৃত হয়:

return;

এটি কি কোনও নির্মাণকারী থেকে প্রস্থান করার জন্য কাজ করবে? আমি জানি এটি কিছুটা অদ্ভুত তবে আমার এই হ্যাকটি দরকার।
stillanoob

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;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.