"হাই, অ্যামিগো!

"হাই এলি।"

"আপনি ইতিমধ্যে লুপগুলি অধ্যয়ন করেছেন, এবং এটি দুর্দান্ত।"

"আমি রাজি! এখন আমি পুরোপুরি জানি না কিভাবে তাদের ছাড়া বাঁচব।"

"কখনও কখনও আপনি তাদের ছাড়া করতে পারেন... কিন্তু প্রায়শই আপনার তাদের প্রয়োজন হবে। আজ আমরা সেই পরিস্থিতি সম্পর্কে কথা বলতে যাচ্ছি যখন আপনাকে সময়সূচীর আগে লুপ থেকে বেরিয়ে আসতে হবে।"

"আপনি কি বলতে চাচ্ছেন, যখন লুপ চালিয়ে যাওয়ার শর্তটি সত্য, কিন্তু আপনাকে এখনও লুপ থেকে প্রস্থান করতে হবে?"

"ঠিক! কখনও কখনও আপনার মনে হয় আপনি ইতিমধ্যেই একজন প্রোগ্রামার৷ যাইহোক, সময়সূচীর আগে একটি লুপ থেকে বেরিয়ে আসতে, আপনি বিরতি বিবৃতি ব্যবহার করতে পারেন ৷ নিম্নলিখিত উদাহরণটি দেখুন:

কোড ব্যাখ্যা
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
আপনি প্রবেশ না করা পর্যন্ত প্রোগ্রামটি কীবোর্ড থেকে একটি লাইন পড়বে "exit"

"আমি দেখছি। প্রোগ্রামটি কনসোল থেকে লাইন পড়ে। আপনি যদি প্রবেশ করেন "exit", তাহলে isExitভেরিয়েবলটি হয়ে যায় true, লুপের অবস্থা হবে , এবং লুপটি শেষ হয়ে যাবে।"!isExitfalse

"এটা ঠিক। সুতরাং, জাভা-এর একটি বিশেষ breakবিবৃতি রয়েছে যা আপনাকে এই ধরনের যুক্তিকে সরল করতে দেয়। যদি একটি breakবিবৃতি লুপের ভিতরে কার্যকর করা হয়, তাহলে লুপটি অবিলম্বে শেষ হয়ে যায়। প্রোগ্রামটি লুপের অনুসরণকারী বিবৃতিটি কার্যকর করা শুরু করবে। বিবৃতিটি খুব সংক্ষিপ্ত। :

break;

break" আমরা এইমাত্র আলোচনা করা উদাহরণটি পুনরায় লিখতে আপনি বিবৃতিটি কীভাবে ব্যবহার করতে পারেন তা এখানে :

কোড ব্যাখ্যা
Scanner console = new Scanner(System.in);
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}
আপনি প্রবেশ না করা পর্যন্ত প্রোগ্রামটি কীবোর্ড থেকে একটি লাইন পড়বে "exit"

"হয়তো আমি এটা মনে রাখব। আমি মনে করি এটা কাজে আসবে।"

"কিন্তু breakএকমাত্র জাভা বিবৃতি নয় যেটি আপনাকে লুপের আচরণ নিয়ন্ত্রণ করতে দেয়। জাভাতেও বিবৃতি রয়েছে continue। আপনি যদি লুপের ভিতরে একটি continueবিবৃতি কার্যকর করেন, লুপের বর্তমান পুনরাবৃত্তি সময়সূচীর আগে শেষ হয়ে যাবে।"

"পুনরাবৃত্তি বলতে কি বুঝ?"

"একটি লুপ পুনরাবৃত্তি হল লুপ বডির একটি সম্পাদন৷ continueবিবৃতিটি লুপের বর্তমান পুনরাবৃত্তিকে বাধা দেয়, কিন্তু breakবিবৃতির বিপরীতে, এটি লুপটিকে নিজেই শেষ করে না৷ বিবৃতিটিও সংক্ষিপ্ত:

continue;

"সুতরাং, continueবিবৃতিটি একটি লুপে ব্যবহার করা যেতে পারে যদি আমরা লুপের নির্দিষ্ট পুনরাবৃত্তির সম্পাদন 'এড়িয়ে' যেতে চাই?"

break"ঠিক। আপনি কি এবং এর মধ্যে পার্থক্য বোঝেন continue? যদি আপনাকে 20টি অ-পুনরাবৃত্ত সংখ্যার মধ্যে একটি সাতটি খুঁজে বের করতে হয়, তাহলে আপনি কি ধরনের লুপ এবং লুপ ইন্টারপ্রেশন স্টেটমেন্ট ব্যবহার করবেন?

"হুম... আমি সব সংখ্যার মধ্য দিয়ে যাব, এবং যদি আমি 7 খুঁজে পাই, তাহলে আমি একটি কার্যকর করব break।"

"আপনি যদি দ্বারা বিভাজ্য সংখ্যা ব্যতীত থেকে 1থেকে পর্যন্ত সংখ্যা প্রদর্শন করতে চান ?"207

"আচ্ছা, এখানে আমার সম্ভবত প্রয়োজন continue, যেহেতু আমি লুপ থেকে প্রস্থান করতে চাই না। কিন্তু আমি এখনও পুরোপুরি বুঝতে পারছি না।"

"আমাকে দেখাই কিভাবে এই সমস্যার সমাধান করা যায়। এই কোডটি দেখতে এরকম হতে পারে।"

কোড ব্যাখ্যা
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
     continue;
   System.out.println(i);
   i++;
}
প্রোগ্রাম থেকে সংখ্যা প্রদর্শন 1করে 20. যদি সংখ্যাটি দ্বারা বিভাজ্য হয় 7(বাকী বিভাজনটি হয় 7) 0 , তাহলে আমরা সংখ্যাটি প্রদর্শন করা এড়িয়ে যাই।

"আপনি আমার দিকে এত সন্দেহের দৃষ্টিতে তাকাচ্ছেন কেন, এলি? এখানে কিছু ধরা আছে?"

"আপনাকে বোকা বানানো যাবে না, অ্যামিগো! প্রকৃতপক্ষে, এই কোডটি সঠিকভাবে কাজ করবে না । এটি প্রথম 6 সংখ্যা প্রদর্শন করবে, এবং তারপরে iচিরকালের জন্য নম্বরটিতে আটকে থাকবে 7। সর্বোপরি, continueবিবৃতিটি অন্য দুটি বিবৃতি এড়িয়ে যায়: System.out.println(i)এবং i++. হিসাবে ফলস্বরূপ, একবার আমরা মান পৌছালে 7, ভেরিয়েবল iপরিবর্তন করা বন্ধ হয়ে যাবে এবং আমরা একটি অসীম লুপে থাকব। আমি একটি খুব সাধারণ ভুল বোঝানোর উদ্দেশ্যে এইভাবে কোডটি লিখেছিলাম।"

"আমরা কিভাবে এটা ঠিক করব?"

"এখানে দুটি বিকল্প আছে:"

বিকল্প 1:i কার্যকর করার আগে পরিবর্তন করুন continue, কিন্তু পরেi % 7

বিকল্প 2:i লুপের শুরুতে সর্বদা বৃদ্ধি করুন । কিন্তু তখন iএর প্রারম্ভিক মান হতে হবে 0

বিকল্প 1 বিকল্প 2
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
   {
     i++;
     continue;
   }
   
   System.out.println(i);
   i++;
}
int i = 0;
while (i < 20)
{
   i++;
   if ( (i % 7) == 0)
     continue;
   System.out.println(i);
}

"চমৎকার! আমি এই ভুল না করার চেষ্টা করব।"

"আমি তোমার প্রতিশ্রুতি মনে রাখব!"