- 1 ১. পরিচিতি
- 2 ২. মৌলিক সিনট্যাক্স এবং এক্সিকিউশন ফ্লো
- 3 ৩. ব্যবহারিক কোড উদাহরণ
- 4 ৪. continue এবং break এর স্পষ্ট পার্থক্য
- 5 ৫. উন্নত ব্যবহার: লেবেলড continue
- 6 ৬. সেরা অনুশীলন এবং ফাঁদ
- 7 ৭. আরও পরিশীলিত বিকল্প
- 8 ৮. সারাংশ
- 9 প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
- 9.1 প্রশ্ন১. continue এবং break এর মধ্যে কীভাবে নির্বাচন করব?
- 9.2 প্রশ্ন২. লেবেলড continue কখন ব্যবহার করা উচিত?
- 9.3 প্রশ্ন৩. Stream API কি continue এর পরিবর্তে ব্যবহার করা যায়?
- 9.4 প্রশ্ন৪. অনন্ত লুপ কীভাবে এড়ানো যায়?
- 9.5 প্রশ্ন৫. continue কি পারফরম্যান্সে প্রভাব ফেলে?
- 9.6 প্রশ্ন৬. প্রোডাকশন কোডে continue কি সুপারিশ করা হয়?
১. পরিচিতি
জাভা প্রোগ্রামিং শিখতে গিয়ে, লুপ প্রক্রিয়াকরণ হল মৌলিক গঠনগুলোর একটি অপরিহার্য অংশ। এর মধ্যে, continue স্টেটমেন্টটি প্রায়শই উপেক্ষা করা হয়। তবে, সঠিকভাবে ব্যবহার করলে এটি কোডের পাঠযোগ্যতা এবং দক্ষতা উল্লেখযোগ্যভাবে বাড়াতে পারে।
continue ব্যবহার করে, আপনি একটি নির্দিষ্ট শর্ত পূরণ হলে লুপের বর্তমান পুনরাবৃত্তি শুধুমাত্র বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে যেতে পারেন। এটি উদাহরণস্বরূপ, যখন আপনি একটি অ্যারেতে নির্দিষ্ট মানগুলো বাদ দিতে চান বা অপ্রয়োজনীয় গণনা এড়াতে চান, তখন উপকারী।
এই প্রবন্ধে, আমরা java continue এর মৌলিক ব্যবহার থেকে শুরু করে ব্যবহারিক উদাহরণ এবং অন্যান্য লুপ নিয়ন্ত্রণ স্টেটমেন্টের সঙ্গে পার্থক্য পর্যন্ত সবকিছু ব্যাখ্যা করব। আপনি যদি একজন নবীন বা মধ্যম স্তরের ডেভেলপার হন, যিনি continue ব্যবহার করেছেন কিন্তু পুরোপুরি বুঝতে পারেননি, তবে এই গাইডটি আপনাকে আত্মবিশ্বাসের সঙ্গে এটি ব্যবহার করতে সাহায্য করবে।
চলুন ধাপে ধাপে java continue কে মৌলিক থেকে উন্নত ব্যবহার পর্যন্ত পর্যবেক্ষণ করি।
২. মৌলিক সিনট্যাক্স এবং এক্সিকিউশন ফ্লো
continue স্টেটমেন্টটি প্রধানত লুপের ভিতরে ব্যবহার করা হয়। জাভাতে, এটি for, while, এবং do-while সহ বিভিন্ন লুপ কাঠামোতে ব্যবহার করা যায়। এই অংশে মৌলিক সিনট্যাক্স এবং এটি কীভাবে কাজ করে তা ব্যাখ্যা করা হয়েছে।
২-১. continue এর মৌলিক সিনট্যাক্স
continue এর সিনট্যাক্স খুবই সহজ:
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // Skip this iteration when the condition is met
}
System.out.println(i);
}
এই উদাহরণে, যখন i জোড় সংখ্যা হয়, তখন continue কার্যকর হয় এবং System.out.println(i) বাদ যায়। ফলে শুধুমাত্র বিজোড় সংখ্যা মুদ্রিত হয়।
২-২. লুপ ফ্লো এবং continue কীভাবে কাজ করে
যখন continue কার্যকর হয়, বর্তমান লুপ পুনরাবৃত্তির পরবর্তী সব স্টেটমেন্ট বাদ যায়, এবং এক্সিকিউশন তৎক্ষণাৎ পরবর্তী পুনরাবৃত্তিতে চলে যায়।
এখানে একটি for লুপের সরলীকৃত ফ্লো দেখানো হয়েছে:
- লুপ আরম্ভ (যেমন,
int i = 0) - শর্ত পরীক্ষা (যেমন,
i < 10) - লুপ বডি কার্যকর করা
- যদি
continueকার্যকর হয়, বাকি স্টেটমেন্ট বাদ দিন - ইনক্রিমেন্ট ধাপ (যেমন,
i++) - ধাপ ২-এ ফিরে যান
সংক্ষেপে, continue মানে “কেবল বর্তমান পুনরাবৃত্তি বাদ দিন”। জটিল লুপেও স্কিপ শর্ত স্পষ্টভাবে নিয়ন্ত্রণ করতে এটি উপকারী।
২-৩. কখন continue ব্যবহার করা উপযোগী?
বিশেষ শর্তে প্রক্রিয়াকরণ বাদ দিতে চাইলে, যেমন অবৈধ মান বা ত্রুটি উপেক্ষা করে পরবর্তী পুনরাবৃত্তিতে যেতে চাইলে, এটি বিশেষভাবে সহায়ক।
পরবর্তী অংশে, আমরা ব্যবহারিক উদাহরণগুলো অন্বেষণ করব যাতে কার্যকর ব্যবহার প্রদর্শন করা যায়।
৩. ব্যবহারিক কোড উদাহরণ
এই অংশে continue ব্যবহার করে বাস্তব উদাহরণগুলো উপস্থাপন করা হয়েছে, যাতে আপনি বাস্তব জগতে কীভাবে ব্যবহার হয় তা কল্পনা করতে পারেন।
৩-১. for লুপে continue ব্যবহার: নির্দিষ্ট মান বাদ দেওয়া
উদাহরণস্বরূপ, যদি আপনি ১ থেকে ১০ পর্যন্ত ৩-এর গুণিতক বাদ দিতে চান:
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue; // Skip multiples of 3
}
System.out.println(i);
}
এই কোডটি ৩, ৬ এবং ৯ বাদে সব সংখ্যা আউটপুট করে।
৩-২. while লুপে continue ব্যবহার: ইনপুট ভ্যালিডেশন
ব্যবহারকারীর ইনপুট হ্যান্ডল করার সময়, আপনি নেগেটিভ সংখ্যা মতো অবৈধ মানগুলো উপেক্ষা করতে চাইতে পারেন:
Scanner scanner = new Scanner(System.in);
int count = 0;
while (count < 5) {
System.out.print("Please enter a positive integer: ");
int num = scanner.nextInt();
if (num < 0) {
System.out.println("Negative values are ignored.");
continue;
}
System.out.println("Entered value: " + num);
count++;
}
এখানে, নেগেটিভ মানগুলো বাদ যায় এবং count বৃদ্ধি পায় না।
৩-৩. Enhanced for (for-each) লুপে continue ব্যবহার
আপনি সংগ্রহ (collections) ইটারেট করার সময়ও continue ব্যবহার করতে পারেন:
String[] names = {"田中", "", "佐藤", "鈴木", ""};
for (String name : names) {
if (name.isEmpty()) {
continue;
}
System.out.println(name);
}
শুধুমাত্র খালি নয় এমন স্ট্রিংগুলো মুদ্রিত হয়।
৪. continue এবং break এর স্পষ্ট পার্থক্য
The continue স্টেটমেন্টটি প্রায়ই break এর সঙ্গে তুলনা করা হয়, তবে তাদের আচরণ মৌলিকভাবে ভিন্ন।
৪-১. মূল পার্থক্য
- continue : বর্তমান ইটারেশনটি বাদ দিয়ে পরেরটিতে যায়।
- break : পুরো লুপটি তৎক্ষণাৎ শেষ করে।
৪-২. কোড তুলনা
continue উদাহরণ:
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) {
continue;
}
System.out.println(i);
}
break উদাহরণ:
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
৪-৩. ব্যবহার নির্দেশিকা
- লুপের কোনো অংশ বাদ দিতে চাইলে
continueব্যবহার করুন। - লুপটি সম্পূর্ণভাবে শেষ করতে চাইলে
breakব্যবহার করুন।
৫. উন্নত ব্যবহার: লেবেলড continue
জাভা লেবেলড continue সমর্থন করে, যা আপনাকে নেস্টেড লুপে কোন লুপটি চালিয়ে যাবে তা নির্দিষ্ট করতে দেয়।
৫-১. মৌলিক সিনট্যাক্স
outerLoop:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue outerLoop;
}
System.out.println("i=" + i + ", j=" + j);
}
}
৫-২. কার্যকর ফলাফল
i=1, j=1
i=2, j=1
i=3, j=1
৫-৩. পাঠযোগ্যতার বিবেচনা
লেবেলড continue নেস্টেড লুপের নিয়ন্ত্রণ সহজ করতে পারে, তবে অতিরিক্ত ব্যবহার পাঠযোগ্যতা কমিয়ে দিতে পারে। এটি সীমিতভাবে ব্যবহার করার পরামর্শ দেওয়া হয়।
৫-৪. অনন্ত লুপের ঝুঁকি
লুপের শর্ত আপডেট করা লজিক বাদ দিলে অনন্ত লুপ হতে পারে, তাই সতর্ক থাকুন।
৬. সেরা অনুশীলন এবং ফাঁদ
৬-১. continue অতিরিক্ত ব্যবহার এড়িয়ে চলুন
অতিরিক্ত ব্যবহার কোডকে বোঝা কঠিন করে তুলতে পারে।
৬-২. অনন্ত লুপ প্রতিরোধ করুন
int i = 0;
while (i < 5) {
if (i == 2) {
continue;
}
i++;
System.out.println(i);
}
এই কোডটি অনন্ত লুপ তৈরি করে কারণ i++ বাদ দেওয়া হয়।

৬-৩. টিম ডেভেলপমেন্ট বিবেচনা
টিম পরিবেশে continue সতর্কতার সঙ্গে ব্যবহার করুন এবং উদ্দেশ্য স্পষ্টভাবে ডকুমেন্ট করুন।
৬-৪. বিকল্প বিবেচনা করুন
কখনও কখনও লজিক পুনর্গঠন বা প্রারম্ভিক রিটার্ন ব্যবহার করে continue এর প্রয়োজন দূর করা যায়।
৭. আরও পরিশীলিত বিকল্প
৭-১. Stream API
Arrays.stream(names)
.filter(name -> !name.isEmpty())
.forEach(System.out::println);
৭-২. মেথড ডিকম্পোজিশন
for (User user : userList) {
if (isValid(user)) {
process(user);
}
}
৭-৩. বৃহৎ-স্কেল ডেভেলপমেন্ট দৃষ্টিকোণ
পাঠযোগ্যতা এবং রক্ষণাবেক্ষণকে অগ্রাধিকার দেওয়া হয়, ফলে Streams এবং পরিষ্কার ডিজাইনকে পছন্দ করা হয়।
৮. সারাংশ
৮-১. মূল ধারণা
continue বর্তমান ইটারেশনটি বাদ দিয়ে পরেরটিতে যায়।
৮-২. break থেকে পার্থক্য
- break: লুপ থেকে বের হয়
- continue: একটি ইটারেশন বাদ দেয়
৮-৩. সেরা অনুশীলন
- অতিরিক্ত ব্যবহার এড়িয়ে চলুন
- অনন্ত লুপ প্রতিরোধ করুন
- পাঠযোগ্য কোড লিখুন
৮-৪. আধুনিক জাভা ফিচার ব্যবহার করুন
Streams এবং মেথড ডিকম্পোজিশন প্রায়শই নিরাপদ বিকল্প প্রদান করে।
৮-৫. অনুশীলন কাজ
- শর্তসাপেক্ষে উপাদান বাদ দিন
breakএবংreturnএর সঙ্গে তুলনা করুন- Stream API ব্যবহার করে পুনরায় বাস্তবায়ন করুন
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
প্রশ্ন১. continue এবং break এর মধ্যে কীভাবে নির্বাচন করব?
ইটারেশন বাদ দিতে continue এবং লুপ থেকে বের হতে break ব্যবহার করুন।
প্রশ্ন২. লেবেলড continue কখন ব্যবহার করা উচিত?
শুধুমাত্র নেস্টেড স্ট্রাকচারে বাইরের লুপ বাদ দিতে প্রয়োজন হলে।
প্রশ্ন৩. Stream API কি continue এর পরিবর্তে ব্যবহার করা যায়?
হ্যাঁ, filter ব্যবহার করে একই প্রভাব অর্জন করা যায়।
প্রশ্ন৪. অনন্ত লুপ কীভাবে এড়ানো যায়?
continue এর আগে লুপ কাউন্টার আপডেট করা নিশ্চিত করুন।
প্রশ্ন৫. continue কি পারফরম্যান্সে প্রভাব ফেলে?
সঠিকভাবে ব্যবহার করলে কোনো উল্লেখযোগ্য প্রভাব নেই।
প্রশ্ন৬. প্রোডাকশন কোডে continue কি সুপারিশ করা হয়?
সরল ক্ষেত্রে এটি গ্রহণযোগ্য, তবে স্পষ্টতা এবং রক্ষণাবেক্ষণকে অগ্রাধিকার দেওয়া উচিত।


