বিরতি এবং অবিরত বিবৃতি মধ্যে পার্থক্য


266

কেউ আমাকে বিবৃতি breakএবং continueবিবৃতি মধ্যে পার্থক্য বলতে পারেন ?

উত্তর:


529

breakএকটি লুপ ছেড়ে continueযায়, পরবর্তী পুনরাবৃত্তিতে লাফ দেয়।


3
নোট করুন যে জাভাতে লেবেলযুক্ত চালিয়ে যাওয়া / বিরতি দেওয়া স্টেটমেন্ট রয়েছে যার বিভিন্ন শব্দার্থবিজ্ঞান রয়েছে :-)
জে

4
এটি কেবল বিরতি এবং অবিরত বুনিয়াদি।
জয়ের

1
যারা ভাবছেন, এমন একটি লেবেল ব্যবহার করতে আপনি একটি লুপের আগে ':' এর পরে লেবেলের নামটি লিখবেন।
Caelum

"বিরতি" একই সাথে সুইচ স্টেটমেন্টটিও সমাপ্ত করে দেবে
সমসামার

1
প্রতিটি লুপের জন্য যদি এটিতে অন্য কোনও বিবৃতিতে থাকে তবে পরবর্তী পুনরাবৃত্তিতে ঝাঁপ দাও?
ক্লাচ

102

আরও বিশদ এবং কোড নমুনার জন্য ব্রাঞ্চিং বিবৃতি দেখুন :

break

ব্রেক স্টেটমেন্টের দুটি রূপ রয়েছে: লেবেলযুক্ত এবং লেবেলযুক্ত। আপনি স্যুইচ বিবৃতিটির পূর্ববর্তী আলোচনায় শিরোনামহীন ফর্মটি দেখেছেন। আপনি কিছু সময়, বা করার সময় লুপটি শেষ করতে একটি লেবেলযুক্ত বিরতিও ব্যবহার করতে পারেন [...]

একটি লেবেলযুক্ত বিরতি স্টেটমেন্ট অন্তর্নিহিত স্যুইচটি বন্ধ করে দেয়, যখন, বা করার সময় বিবৃতি দেয় তবে লেবেলযুক্ত বিরতি একটি বহিরাগত স্টেটমেন্টকে সমাপ্ত করে।

continue

চালিয়ে যাওয়া বিবৃতিটি কোনও সময়ের জন্য, বা করণীয় লুপের বর্তমান পুনরাবৃত্তিটি এড়িয়ে যায়। লেবেলযুক্ত ফর্মটি অন্তঃস্থলীয় লুপের দেহের শেষে চলে যায় এবং লুপ নিয়ন্ত্রণ করে এমন বুলিয়ান এক্সপ্রেশনটি মূল্যায়ন করে। [...]

একটি লেবেলযুক্ত চালিয়ে যাওয়া বিবৃতি প্রদত্ত লেবেলের সাথে চিহ্নিত বাইরের লুপের বর্তমান পুনরাবৃত্তিটি এড়িয়ে যায়।


66
System.out.println ("starting loop:");
for (int n = 0; n < 7; ++n)
{
    System.out.println ("in loop: " + n);
    if (n == 2) {
        continue;
    }
    System.out.println ("   survived first guard");
    if (n == 4) {
        break;
    }
    System.out.println ("   survived second guard");
    // continue at head of loop
}
// break out of loop
System.out.println ("end of loop or exit via break");

এটি নিম্নলিখিত আউটপুট নিয়ে যাবে:

starting loop:
in loop: 0
    survived first guard
    survived second guard
in loop: 1
    survived first guard
    survived second guard
in loop: 2
in loop: 3
    survived first guard
    survived second guard
in loop: 4
    survived first guard
end of loop or exit via break

আপনি কোনও ব্লককে কেবলমাত্র একটি লুপের জন্যই লেবেল করতে পারেন এবং তারপরে একটি নেস্টেড ব্লক থেকে একটি বাইরের অংশে ব্রেক / চালিয়ে যেতে পারেন। কয়েকটি ক্ষেত্রে এটি কার্যকর হতে পারে তবে সাধারণভাবে আপনি এই জাতীয় কোডটি এড়াতে চেষ্টা করবেন, প্রোগ্রামটির যুক্তি বাদে নিম্নলিখিত উদাহরণের চেয়ে বোঝার চেয়ে আরও ভাল:

first:
for (int i = 0; i < 4; ++i) 
{
    second:
    for (int j = 0; j < 4; ++j) 
    {
        third:
        for (int k = 0; k < 4; ++k) 
        {
            System.out.println ("inner start: i+j+k " + (i + j + k));
            if (i + j + k == 5)
                continue third;
            if (i + j + k == 7)
                continue second;
            if (i + j + k == 8)
                break second;
            if (i + j + k == 9)
                break first;
            System.out.println ("inner stop:  i+j+k " + (i + j + k));
        }
    }       
}

কারণ এটি সম্ভব, এর অর্থ এটি ব্যবহার করা উচিত নয়।

যদি আপনি মজাদার উপায়ে আপনার কোডটি অবলম্বন করতে চান তবে আপনি কোনও সুনির্দিষ্ট নামটি পছন্দ করেন না, তবে এইচপি: এবং একটি মন্তব্য সহ এটি অনুসরণ করুন, যা উত্স-কোডের কোনও ওয়েবড্রেসের মতো এলিয়েন বলে মনে হচ্ছে:

http://stackoverflow.com/questions/462373
for (int i = 0; i < 4; ++i) 
{
     if (i == 2) 
         break http;

আমার ধারণা এটি জোশুয়া ব্লচের কুইজল থেকে এসেছে। :)


1
অস্পষ্টতার সাথে দুর্দান্ত ধারণা, http://stackoverflow.com/questions/462373/খুব বেশি কাজ হবে না ?
Caelum

@ ব্যবহারকারী2104648: হ্যাঁ, এটি অবশ্যই একটি কাটা 'এন' পেস্ট ত্রুটি হওয়া উচিত।
ব্যবহারকারী অজানা

28

ব্রেক লুপটিকে পুরোপুরি ছেড়ে দেয় এবং লুপের পরে বিবৃতিগুলি কার্যকর করে। যেখানে চালিয়ে যাওয়া বর্তমান পুনরাবৃত্তিটি ছেড়ে দেয় এবং লুপের পরবর্তী মান সহ কার্যকর করে।

এই কোডটি সমস্ত কিছু ব্যাখ্যা করে:

public static void main(String[] args) {
    for(int i=0;i<10;i++)
    {
        if (i==4)
        {
            break;
        }
        System.out.print(i+"\t");

    }
    System.out.println();
    for(int i=0;i<10;i++)
    {

        if (i==4)
        {
            continue;
        }
        System.out.print(i+"\t");
    }
}

আউটপুট:

0   1   2   3   
0   1   2   3   5   6   7   8   9

24

breakসম্পূর্ণরূপে লুপ থেকে প্রস্থান করে। চালিয়েcontinue যাওয়া স্টেটমেন্টের পরে স্টেটমেন্টগুলি এড়িয়ে যায় এবং লুপ করে চলে।


12

ব্রেক স্টেটমেন্ট

লুপটি সমস্ত পদক্ষেপের মানগুলি সম্পূর্ণরূপে পুনরাবৃত্তি শেষ করার আগে কখনও কখনও একটি লুপ থেকে প্রস্থান করা প্রয়োজন । উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট শর্তটি সন্তুষ্ট করে এমন একটি নম্বর না পাওয়া পর্যন্ত সংখ্যার তালিকার উপরে লুপিং। অথবা একটি নির্দিষ্ট অক্ষর না পড়া পর্যন্ত একটি ফাইল থেকে অক্ষরগুলির একটি স্ট্রিমের উপরে লুপিং।

নিম্নলিখিত উদাহরণে, আমরা 0 থেকে 9 পর্যন্ত মানগুলি মুদ্রণের জন্য লুপের জন্য একটি সাধারণ ব্যবহার করছি:

for(int i=0; i<10; i++) {
  System.out.println(i);
}

আউটপুট:

0
1
2
3
4
5
6
7
8
9

এখন আমরা i == 4 এ যখন একটি ব্রেক স্টেটমেন্ট যুক্ত করি, আমি একবার 4 এর সমান হয়ে গেলে আমাদের কোডটি লুপ থেকে বিচ্ছিন্ন হয়ে যাবে You ব্রেক স্টেটমেন্টটি কেবল বর্তমান লুপ থেকে বিচ্ছিন্ন হবে। নেস্টেড ইনার লুপ থেকে বাইরের লুপটি ভেঙে ফেলার জন্য, ব্রেক স্টেটমেন্ট সহ আপনার লেবেল ব্যবহার করা দরকার।

for(int i=0; i<10; i++) {
  System.out.println(i);
  if(i==4) {
    break;
  }
}

আউটপুট:

0
1
2
3
4

বিবৃতি অবিরত করুন

জাভার ক্রমাগত বিবৃতিটি একটি লুপের বর্তমান পুনরাবৃত্তির উপর থেকে যায় এবং সরাসরি পরবর্তী পুনরাবৃত্তিতে যায়। লুপের জন্য অবিরত বিবৃতিটি কল করার পরে, লুপ এক্সিকিউশনটি পরবর্তী পুনরাবৃত্তির সাথে এগিয়ে যাওয়ার আগে ধাপের মানটি কার্যকর করবে এবং বুলিয়ান অবস্থার মূল্যায়ন করবে। নিম্নলিখিত উদাহরণে, আমরা একটি লুপে 0 থেকে 9 পর্যন্ত সমস্ত মান মুদ্রণ করছি তবে আমরা 4 প্রিন্টিংয়ের বাইরে চলে যাই।

for(int i=0; i<10; i++) {
  if(i==4) {
    continue;
  }
  System.out.println(i);
}

আউটপুট:

0
1
2
3
5 <---- SKIPPED OVER 4 and continued with next loop iteration
6
7
8
9

লুপ লেবেল - ব্রেক স্টেটমেন্ট আপনি কোনও অভ্যন্তরীণ লুপটি ভেঙে ফেলার পরে নির্বাহীকরণটি চালিয়ে যেতে চান তা নির্দিষ্ট করে আপনি নেস্টেড লুপগুলির মধ্যে লেবেল ব্যবহার করতে পারেন । সাধারণত, ব্রেক স্টেটমেন্টটি কেবলমাত্র অন্তঃস্থলীয় লুপ থেকে বিচ্ছিন্ন হয়ে যায় তাই আপনি যখন কোনও বাহ্যিক লুপটি ভেঙে ফেলতে চান, আপনি এটি সম্পাদন করতে লেবেলগুলি ব্যবহার করতে পারেন, মূলত গোটো স্টেটমেন্টের অনুরূপ কিছু করে।

নীচের উদাহরণে 3 টি লুপ ব্যবহার করা হয়, সমস্ত একে অপরের মধ্যে বাসা বাঁধে। যেহেতু বাইরের সর্বাধিক লুপটির অভ্যন্তরীণ লুপটি সম্পূর্ণরূপে বিচ্ছিন্ন হওয়ার কোনও উপায় নেই, তাই আমরা এটি সম্পাদন করতে "ব্রেক 1" লেবেলটি ব্যবহার করতে পারি এবং ব্রেক স্টেটমেন্টের পাশের লেবেলটি নির্দিষ্ট করতে পারি।

outer1:
for(int i=0; i<5; i++) {
  for(int j=0; j<4; j++) {
    for(int k=0; k<2; k++) {
      System.out.println("[" + i + "][" + j + "][" + k + "]");
      if(j == 3) {
        break outer1;
      }
    }
  }
}

আউটপুট:

[0][0][0]
[0][0][1]
[0][1][0]
[0][1][1]
[0][2][0]
[0][2][1]
[0][3][0]

লক্ষ্য করুন যে শেষ লাইনটি কীভাবে প্রদর্শিত হয়েছে " 0 [0]" যেখানে j == 3 এবং সেখানেই আমরা "ব্রেক আউটআর 1" বলেছি; বাইরের সর্বাধিক লুপ থেকে বিরতি।

লুপ লেবেল - বিবৃতি অবিরত করুন

আপনি নির্দিষ্ট বিন্দু থেকে লুপিং চালিয়ে যেতে চালিয়ে যাওয়া কীওয়ার্ড সহ লেবেলগুলিও ব্যবহার করতে পারেন। পূর্ববর্তী উদাহরণটি গ্রহণ করা এবং continue outer1;পরিবর্তে নির্দিষ্ট করার জন্য একটি লাইন পরিবর্তন করা break outer1;লুপটি outer1ভেঙে ফেলার পরিবর্তে লেবেল থেকে লুপিং চালিয়ে যেতে পারে । প্রতিটি সময়কে continue outer1;কীভাবে ডাকা হয় তা নোট করুন , কোডটি বাহ্যিক লুপ থেকে লুপ সূচকে i দ্বারা 1 বাড়িয়ে দেওয়ার পরে অবিরত থাকে।

outer1:
for(int i=0; i<5; i++) {
  for(int j=0; j<4; j++) {
    for(int k=0; k<2; k++) {
      System.out.println("[" + i + "][" + j + "][" + k + "]");
      if(j == 3) {
        continue outer1;
    }
  }
}

[0][0][0]
[0][0][1]
[0][1][0]
[0][1][1]
[0][2][0]
[0][2][1]
[0][3][0] <---- CONTINUE WITH LABEL CALLED HERE
[1][0][0] <---- CONTINUES FROM NEXT ITERATION OF OUTER LOOP
[1][0][1]
[1][1][0]
[1][1][1]
[1][2][0]
[1][2][1]
[1][3][0] <---- CONTINUE WITH LABEL CALLED HERE
[2][0][0] <---- CONTINUES FROM NEXT ITERATION OF OUTER LOOP
[2][0][1]
[2][1][0]
[2][1][1]
[2][2][0]
[2][2][1]
[2][3][0] <---- CONTINUE WITH LABEL CALLED HERE
[3][0][0] <---- CONTINUES FROM NEXT ITERATION OF OUTER LOOP
[3][0][1]
[3][1][0]
[3][1][1]
[3][2][0]
[3][2][1]
[3][3][0] <---- CONTINUE WITH LABEL CALLED HERE
[4][0][0] <---- CONTINUES FROM NEXT ITERATION OF OUTER LOOP
[4][0][1]
[4][1][0]
[4][1][1]
[4][2][0]
[4][2][1]
[4][3][0]

উত্স: জাভা এ লুপ - চূড়ান্ত গাইড


7

দুর্দান্ত উত্তর সহজ এবং নির্ভুল।

আমি একটি কোডের নমুনা যুক্ত করব।

C:\oreyes\samples\java\breakcontinue>type BreakContinue.java

    class BreakContinue {

        public static void main( String [] args ) {

               for( int i = 0 ; i < 10 ; i++ ) {

                     if( i % 2 == 0) { // if pair, will jump
                         continue; // don't go to "System.out.print" below.
                     }

                     System.out.println("The number is " + i );

                     if( i == 7 ) {
                         break; // will end the execution, 8,9 wont be processed
                      }

               }
        }

    }

C:\oreyes\samples\java\breakcontinue>java BreakContinue
The number is 1
The number is 3
The number is 5
The number is 7

6

একটি breakবিবৃতি যা তা প্রযোজ্য সমাপন বিবৃতি ফলাফল ( switch, for, do, অথবা while)।

continueবর্তমানের লুপের পুনরাবৃত্তিটি শেষ করতে এবং লুপ স্টেটমেন্টে নিয়ন্ত্রণ ফিরিয়ে আনতে একটি বিবৃতি ব্যবহৃত হয়।


5

continueবর্তমান নির্বাহ অগ্রাহ্য লুপ এবং চলে আসে পরবর্তী লুপ যেহেতু break আউট প্যাচসমূহ এর লুপ এবং পরবর্তী বিবৃতি executes পর লুপ। আমি নিম্নলিখিত কোড ব্যবহার করে পার্থক্য শিখেছি। বিভিন্ন আউটপুট দেখুন H আশা করি এটি সাহায্য করে।

public static void main(String[] args) {
    for(int i = 0; i < 5; i++){
        if (i == 3) {
            continue;
        }
        System.out.print(i);
    }
}//prints out 0124, continue moves to the next iteration skipping printing 3

public static void main(String[] args) {
    for(int i = 0; i < 5; i++){
        if (i == 3) {
            break;
        }
        System.out.print(i);
    }
}//prints out 012, break moves out of the loop hence doesnt print 3 and 4

4

নিম্নোক্ত বিবেচনা কর:

int n;
for(n = 0; n < 10; ++n) {
    break;
}
System.out.println(n);

বিরতির ফলে লুপটি শেষ হয়ে যায় এবং n এর মান 0 হয়।

int n;
for(n = 0; n < 10; ++n) {
    continue;
}
System.out.println(n);

চালিয়ে যাওয়ার ফলে প্রোগ্রামের কাউন্টারটি লুপের প্রথম লাইনে ফিরে আসে (শর্তটি পরীক্ষা করা হয় এবং এন এর মান বৃদ্ধি হয়) এবং এন এর চূড়ান্ত মান 10 হয়।

এটিও লক্ষ করা উচিত যে বিরতি কেবলমাত্র এর মধ্যে থাকা লুপটির সম্পাদন বন্ধ করে দেয়:

int m;
for(m = 0; m < 5; ++m)
{
    int n;
    for(n = 0; n < 5; ++n) {
        break;
    }
    System.out.println(n);
}
System.out.println(m);

এর প্রভাব কিছু আউটপুট হবে

0
0
0
0
0
5

1
আপনার উদাহরণগুলিতে আপনার পরিবর্তনশীল স্কোপিংয়ের সমস্যা রয়েছে।
ডারন

3

breakগোষ্ঠীর বাইরে বিবৃতি বিরতি (পরবর্তী বিবৃতি নিষ্পন্ন করা হবে ক্লোজিং বক্রবন্ধনী পরে প্রথম এক হয়) যখন continueশুরু হয় পরবর্তী পুনরাবৃত্তিতে ধরে লুপ।


2

breakবিবৃতি বর্তমান looping নিয়ন্ত্রণ কাঠামো বিদ্যমান এবং এটি পিছনে জাম্প যখন continueপ্রস্থানের খুব কিন্তু লুপিং অবস্থা জাম্পিং ফিরে।


2

সাধারণ উদাহরণ:

break লুপ ছেড়ে যায়

int m = 0;
for(int n = 0; n < 5; ++n){
  if(n == 2){
    break;
  }
  m++;
}

System.out.printl("m:"+m); // m:2

continue লুপ শুরু করতে ফিরে যাবে।

int m = 0;
for(int n = 0; n < 5; ++n){
  if(n == 2){
    continue; // Go back to start and dont execute m++
  }
  m++;
}

System.out.printl("m:"+m); // m:4

2

কোনও শর্ত পূরণ হলে মৃত্যুদণ্ড কার্যকর হওয়া থেকে রোধ করার জন্য যদি কেউ শর্ত পূরণ করে তবে লুপ থেকে বেরিয়ে আসার জন্য ব্রেক ব্যবহার করা উচিত।

উদাহরণস্বরূপ নীচে উল্লিখিত কোডে।

 for(int i=0;i<5;i++){

        if(i==3){

           continue;

        }
       System.out.println(i);
     }

উপরের কোড ফলাফল মুদ্রণ করবে: 0 1 2 4

এই কোডটি এখনই বিবেচনা করুন

 for(int i=0;i<5;i++){


            if(i==3){

                break;

            }
            System.out.println(i);
         }

এই কোড 0 1 2 মুদ্রণ করবে

এটি অবিরত এবং বিরতির প্রাথমিক পার্থক্য।


1

বিরতি এর অর্থসূত্র এখানে:

int[] a = new int[] { 1, 3, 4, 6, 7, 9, 10 };
// find 9
for(int i = 0; i < a.Length; i++)
{
    if (a[i] == 9) 
        goto goBreak;

    Console.WriteLine(a[i].ToString());      
}
goBreak:;

এখানে অবিরত অর্থাত:

int[] a = new int[] { 1, 3, 4, 6, 7, 9, 10 };
// skip all odds
for(int i = 0; i < a.Length; i++)
{
    if (a[i] % 2 == 1) 
        goto goContinue;

    Console.WriteLine(a[i].ToString());      

goContinue:;
}

সি # এর বিরতি নেই; এবং চালিয়ে যান; বিবৃতি? আমি এটা বিশ্বাস করতে পারি না।
অস্কাররাইজ

হ্যাঁ সি # আছে, আমি কেবল বিরতির শব্দার্থ ব্যাখ্যা করেছি এবং চালিয়ে যাচ্ছি :-)
মাইকেল বুয়েন

1
আপনি কিছু ব্যাখ্যা করতে চান না, আপনি কিছু কোড পোস্ট করেছেন। এমনকি কোড মন্তব্য করা হয়নি। কোডের একটি অংশটি ব্যাখ্যা বা 'শব্দার্থক' নয়।
লার্নের মারকুইস

1

প্রথমত, আমি মনে করি আপনার জানা উচিত যে জাভাতে দুটি ধরণের বিরতি রয়েছে এবং অবিরত থাকে যা লেবেল বিরতি, লেবেলযুক্ত বিরতি, লেবেলযুক্ত চালিয়ে যান এবং লেবেলযুক্ত চালিয়ে যাওয়া হয় N এখন, আমি তাদের মধ্যে পার্থক্য সম্পর্কে কথা বলব।

class BreakDemo {
public static void main(String[] args) {

    int[] arrayOfInts = 
        { 32, 87, 3, 589,
          12, 1076, 2000,
          8, 622, 127 };
    int searchfor = 12;

    int i;
    boolean foundIt = false;

    for (i = 0; i < arrayOfInts.length; i++) {
        if (arrayOfInts[i] == searchfor) {
            foundIt = true;
            break;//this is an unlabeled break,an unlabeled break statement terminates the innermost switch,for,while,do-while statement.
        }
    }

    if (foundIt) {
        System.out.println("Found " + searchfor + " at index " + i);
    } else {
        System.out.println(searchfor + " not in the array");
    }
}

একটি লেবেলযুক্ত ব্রেক স্টেটমেন্ট অন্তরতমতম স্যুইচটি সমাপ্ত করে, কিছুক্ষণের জন্য, যখন-করতে হবে বিবৃতি।

public class BreakWithLabelDemo {
public static void main(String[] args) {
    search:
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++) {
            System.out.println(i + " - " + j);
            if (j == 3)
                break search;//this is an labeled break.To notice the lab which is search.
        }
    }
}

একটি লেবেলযুক্ত বিরতি একটি বাহ্যিক স্টেটমেন্ট বন্ধ করে দেয় if যদি আপনি জাভ্যাক এবং জাভা এই ডেমোটি পান, আপনি পাবেন:

0 - 0
0 - 1
0 - 2
0 - 3
class ContinueDemo {
public static void main(String[] args) {

    String searchMe = "peter piper picked a " + "peck of pickled peppers";
    int max = searchMe.length();
    int numPs = 0;

    for (int i = 0; i < max; i++) {
        // interested only in p's
        if (searchMe.charAt(i) != 'p')
            continue;//this is an unlabeled continue.

        // process p's
        numPs++;
    }
    System.out.println("Found " + numPs + " p's in the string.");
}

বিনা লেবেলযুক্ত চালিয়ে যাওয়া বিবৃতিটি এডের বর্তমান পুনরাবৃত্তিটি এড়িয়ে যায়, যখন করণীয়-বিবৃতি।

public class ContinueWithLabelDemo {
public static void main(String[] args) {
    search:
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++) {
            System.out.println(i + " - " + j);
            if (j == 3)
                continue search;//this is an labeled continue.Notice the lab which is search
        }
    }
}

একটি লেবেলযুক্ত চালিয়ে যাওয়া বিবৃতি প্রদত্ত লেবেলের সাথে চিহ্নিত বাইরের লুপের বর্তমান পুনরাবৃত্তিটি এড়িয়ে যায়, যদি আপনি জাভ্যাক এবং জাভা ডেমো করেন তবে আপনি পাবেন:

0 - 0
0 - 1
0 - 2
0 - 3
1 - 0
1 - 1
1 - 2
1 - 3
2 - 0
2 - 1
2 - 2
2 - 3

আপনার যদি কোনও প্রশ্ন থাকে তবে আপনি এর জাভা টিউটোরিয়াল দেখতে পারেন: লিঙ্কের বিবরণ এখানে লিখুন enter


0

সোজা কথায়: বিরতি বর্তমান লুপটি শেষ করবে এবং লুপ শেষ হওয়ার পরে প্রথম লাইনে সম্পাদন চালিয়ে যাবে। লুপ অবস্থাতে ফিরে আসে এবং লুপটি চালিয়ে যায়।


লুপ পরে প্রথম বিবৃতি
লার্নের মারকুইস

0
for (int i = 1; i <= 3; i++) {
        if (i == 2) {

            continue;
        }
        System.out.print("[i:" + i + "]");

নেটবিনে এই কোডটি ব্যবহার করে দেখুন আপনি বিরতি এবং চালিয়ে যাওয়ার মধ্যে আলাদা বুঝতে পারবেন

for (int i = 1; i <= 3; i++) {
        if (i == 2) {

            break;
        }
        System.out.print("[i:" + i + "]");

0

অবিরত এবং বিরতির মধ্যে পার্থক্য বোঝার জন্য সহজ প্রোগ্রাম

কখন continueব্যবহৃত হয়

    public static void main(String[] args) {
    System.out.println("HelloWorld");
    for (int i = 0; i < 5; i++){
        System.out.println("Start For loop i = " + i);
        if(i==2){
            System.out.println("Inside if Statement for i = "+i);
           continue;
        }
        System.out.println("End For loop i = " + i);
    }
    System.out.println("Completely out of For loop");
}


OutPut:
HelloWorld
Start For loop i = 0
End For loop i = 0
Start For loop i = 1
End For loop i = 1
Start For loop i = 2
Inside if Statement for i = 2
Start For loop i = 3
End For loop i = 3
Start For loop i = 4
End For loop i = 4
Completely out of For loop

কখন breakব্যবহৃত হয়

public static void main(String[] args) {
    System.out.println("HelloWorld");
    for (int i = 0; i < 5; i++){
        System.out.println("Start For loop i = " + i);
        if(i==2){
            System.out.println("Inside if Statement for i = "+i);
           break;
        }
        System.out.println("End For loop i = " + i);
    }
    System.out.println("Completely out of For loop");
}

Output:
HelloWorld
Start For loop i = 0
End For loop i = 0
Start For loop i = 1
End For loop i = 1
Start For loop i = 2
Inside if Statement for i = 2
Completely out of For loop

0

স্টেটমেন্ট চালিয়ে যান ইট্রেশন বন্ধ করুন এবং পরবর্তী প্রসারিত প্রারম্ভিক:

System.out.println("continue when i is 2:");
    for (int i = 1; i <= 3; i++) {
        if (i == 2) {
            System.out.print("[continue]");
            continue;
        }
        System.out.print("[i:" + i + "]");
    }

এবং ব্রেক স্টেটমেন্ট লুপটি থামান বা লুপ থেকে প্রস্থান করুন


-1

সুতরাং আপনি লুপের জন্য বা এর ভিতরে রয়েছেন। বিরতি ব্যবহার; আপনাকে লুপের বাইরে রাখবে। হিসাবে, এটি শেষ হবে। চালিয়ে; পরের পুনরাবৃত্তিটি চালাতে বলবে।

যদি বিবৃতি অবিরত ব্যবহার না করে কোন লাভ নেই, তবে বিরতি; দরকারী. স্যুইচ ... ক্ষেত্রে, সর্বদা বিরতি ব্যবহার করুন; একটি মামলা শেষ করতে, যাতে এটি অন্য কেস কার্যকর করে না।


1
"যদি বিবৃতিতে চালিয়ে যান তবে কোনও লাভ নেই" - হ্যাঁ, এটি কোনও অর্থবোধ করে না। উদাহরণস্বরূপ, যখন কোনও শর্ত পূরণ হয়, আপনি প্রকৃত পুনরাবৃত্তির ধাপে কিছু প্রক্রিয়াজাতকরণ অংশগুলি এড়িয়ে যেতে পারেন।
Sk8erPeter

এটি কেবল অর্থহীন নয় তবে অবৈধ নয়, যদিif কোনও লুপের ভিতরে না থাকে তবে এই ক্ষেত্রে প্রচুর পয়েন্ট রয়েছে।
লার্নের মারকুইস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.