Java তে Control Statements প্রোগ্রামিংয়ের মধ্যে সিদ্ধান্ত গ্রহণ এবং প্রবাহ নিয়ন্ত্রণের জন্য ব্যবহৃত হয়। Java তে তিনটি প্রধান ধরনের কন্ট্রোল স্টেটমেন্ট রয়েছে:
- Decision-Making Statements: যেমন
if,if-else,switch. - Looping Statements: যেমন
for,while,do-while. - Jumping Statements: যেমন
break,continue,return.
এখানে Java তে কিছু Control Statements এর উদাহরণ দেয়া হলো:
1. if-else Statement Example:
if-else স্টেটমেন্ট ব্যবহার করা হয় কোনো শর্ত সত্য হলে একটি ব্লক এক্সিকিউট করার জন্য এবং মিথ্যা হলে অন্য একটি ব্লক এক্সিকিউট করার জন্য।
public class IfElseExample {
public static void main(String[] args) {
int number = 10;
// if-else statement
if (number > 0) {
System.out.println("The number is positive.");
} else {
System.out.println("The number is negative or zero.");
}
}
}
Output:
The number is positive.
2. if-else if-else Statement Example:
if-else if-else ব্যবহৃত হয় একাধিক শর্ত চেক করার জন্য।
public class IfElseIfExample {
public static void main(String[] args) {
int number = 0;
// if-else if-else statement
if (number > 0) {
System.out.println("The number is positive.");
} else if (number < 0) {
System.out.println("The number is negative.");
} else {
System.out.println("The number is zero.");
}
}
}
Output:
The number is zero.
3. switch Statement Example:
switch স্টেটমেন্ট একটি নির্দিষ্ট মানের উপর ভিত্তি করে একাধিক শর্ত পরীক্ষা করতে ব্যবহৃত হয়।
public class SwitchExample {
public static void main(String[] args) {
int day = 3;
// switch statement
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Invalid day");
}
}
}
Output:
Wednesday
4. for Loop Example:
for লুপ একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি সম্পাদন করতে ব্যবহৃত হয়।
public class ForLoopExample {
public static void main(String[] args) {
// for loop
for (int i = 1; i <= 5; i++) {
System.out.println("Number: " + i);
}
}
}
Output:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
5. while Loop Example:
while লুপ তখন ব্যবহৃত হয় যখন পূর্বে কোনো শর্ত দেয়া থাকে এবং যতক্ষণ না শর্ত পূর্ণ হয় ততক্ষণ লুপ চলতে থাকে।
public class WhileLoopExample {
public static void main(String[] args) {
int i = 1;
// while loop
while (i <= 5) {
System.out.println("Number: " + i);
i++;
}
}
}
Output:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
6. do-while Loop Example:
do-while লুপটি কমপক্ষে একবার চলবে, কারণ শর্ত পরীক্ষা শেষে করা হয়।
public class DoWhileLoopExample {
public static void main(String[] args) {
int i = 1;
// do-while loop
do {
System.out.println("Number: " + i);
i++;
} while (i <= 5);
}
}
Output:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
7. break Statement Example:
break স্টেটমেন্টটি লুপ বা switch স্টেটমেন্ট থেকে দ্রুত বের হতে ব্যবহৃত হয়।
public class BreakExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // exits the loop when i is 6
}
System.out.println("Number: " + i);
}
}
}
Output:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
8. continue Statement Example:
continue স্টেটমেন্টটি বর্তমান লুপের বর্তমান পুনরাবৃত্তি বাদ দিয়ে পরবর্তী পুনরাবৃত্তিতে চলে যেতে ব্যবহৃত হয়।
public class ContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // skip when i is 3
}
System.out.println("Number: " + i);
}
}
}
Output:
Number: 1
Number: 2
Number: 4
Number: 5
9. return Statement Example:
return স্টেটমেন্টটি একটি মেথড থেকে বের হয়ে আসতে ব্যবহৃত হয়। যদি এটি কোনো মান ফেরত দেয়, তাহলে সেই মানটি ফাংশনের ফলস্বরূপ হিসেবে প্রদান করা হয়।
public class ReturnExample {
public static void main(String[] args) {
int result = add(5, 3);
System.out.println("Sum: " + result);
}
public static int add(int a, int b) {
return a + b; // returns the sum of a and b
}
}
Output:
Sum: 8
Java তে Control Statements প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে ব্যবহৃত হয়। উপরোক্ত উদাহরণগুলির মাধ্যমে আপনি শিখতে পারবেন কিভাবে if-else, switch, for loop, while loop, do-while loop, break, continue, এবং return ব্যবহার করে বিভিন্ন কাজ করা যায়। Control statements এর ব্যবহার করার মাধ্যমে আপনি কোডের কার্যকারিতা এবং লজিকীয়তা উন্নত করতে পারেন।
if-else হল Java তে একটি গুরুত্বপূর্ণ কন্ট্রোল স্ট্রাকচার যা একটি শর্ত (condition) যাচাই করে এবং সেই শর্তের উপর ভিত্তি করে কোড ব্লক এক্সিকিউট করে। এটি সাধারণত decision-making অথবা conditional branching হিসেবে ব্যবহৃত হয়, যেখানে একটি নির্দিষ্ট শর্ত পূর্ণ হলে একধরনের কোড এক্সিকিউট হয় এবং শর্ত পূর্ণ না হলে অন্যধরনের কোড এক্সিকিউট হয়।
if-else Statement Syntax:
if (condition) {
// যদি শর্ত সত্য (true) হয়, এই কোড এক্সিকিউট হবে
} else {
// যদি শর্ত মিথ্যা (false) হয়, এই কোড এক্সিকিউট হবে
}
এখানে condition একটি বুলিয়ান এক্সপ্রেশন হতে হবে (যেমন x > 10, y == 5 ইত্যাদি) যা সত্য (true) বা মিথ্যা (false) হতে পারে।
if-else Statement এর উদাহরণ:
- উদাহরণ 1: সাধারন if-else ব্যবহারে শর্ত নির্ধারণ:
public class IfElseExample {
public static void main(String[] args) {
int number = 15;
// if-else স্টেটমেন্টের মাধ্যমে শর্ত নির্ধারণ
if (number > 10) {
System.out.println("The number is greater than 10.");
} else {
System.out.println("The number is less than or equal to 10.");
}
}
}
Output:
The number is greater than 10.
ব্যাখ্যা:
- এখানে আমরা একটি সংখ্যা (
number) এর মান যাচাই করছি। যদি সংখ্যাটি 10 এর বেশি হয়, তাহলে প্রথম ব্লকটি এক্সিকিউট হবে এবং"The number is greater than 10."আউটপুট দেখাবে। অন্যথায়, দ্বিতীয় ব্লকটি এক্সিকিউট হবে।
- উদাহরণ 2: if-else স্টেটমেন্টের মধ্যে আরেকটি if (nested if):
public class NestedIfElseExample {
public static void main(String[] args) {
int number = 25;
// Nested if-else স্টেটমেন্ট
if (number > 0) {
if (number % 2 == 0) {
System.out.println("The number is positive and even.");
} else {
System.out.println("The number is positive and odd.");
}
} else {
System.out.println("The number is non-positive.");
}
}
}
Output:
The number is positive and odd.
ব্যাখ্যা:
- এখানে প্রথম
ifচেক করছে যে সংখ্যা ধনাত্মক (positive) কিনা। যদি সংখ্যা ধনাত্মক হয়, তখন একটি nestedifচেক করবে যে সংখ্যা যুগ্ম (even) নাকি বিজোড় (odd)। এইভাবে, একটি শর্তের উপর ভিত্তি করে আরেকটি শর্ত চেক করা হয়েছে।
- উদাহরণ 3: else-if স্টেটমেন্ট ব্যবহার:
public class ElseIfExample {
public static void main(String[] args) {
int number = 50;
// else-if ব্যবহার করে একাধিক শর্ত পরীক্ষা
if (number > 100) {
System.out.println("The number is greater than 100.");
} else if (number > 50) {
System.out.println("The number is greater than 50 but less than or equal to 100.");
} else {
System.out.println("The number is 50 or less.");
}
}
}
Output:
The number is greater than 50 but less than or equal to 100.
ব্যাখ্যা:
- এখানে
else-ifস্টেটমেন্ট ব্যবহার করা হয়েছে। প্রথমে শর্ত পরীক্ষা করা হয় যদি সংখ্যাটি 100 এর বেশি হয়, তারপর 50 এর বেশি এবং 100 এর সমান বা কম হলে অন্য শর্ত এবং শেষে একটিelseশর্ত ব্যবহার করা হয় যা সংখ্যা 50 বা কম হবে। if-elseস্টেটমেন্টটি Java তে খুবই গুরুত্বপূর্ণ, এবং এটি বিভিন্ন শর্তের ভিত্তিতে কোডের পথ নির্ধারণ করতে ব্যবহৃত হয়।- আপনি
else ifস্টেটমেন্ট ব্যবহার করে একাধিক শর্ত পরীক্ষা করতে পারেন, যা শর্তগুলোকে একটি ক্রমে পরীক্ষা করতে সহায়তা করে। if-elseদিয়ে সহজেই বিভিন্ন শর্ত পরীক্ষা করা এবং সেগুলোর উপর ভিত্তি করে লজিক তৈরি করা সম্ভব।
Java তে Switch Case স্টেটমেন্ট একটি শক্তিশালী কন্ট্রোল ফ্লো স্টেটমেন্ট যা একাধিক শর্তের ভিত্তিতে একটি নির্দিষ্ট এক্সপ্রেশন বা মান অনুযায়ী কোডের ব্লক নির্বাচন করে। সাধারণত এটি যদি একাধিক if-else ব্লক ব্যবহারের চেয়ে আরও পরিষ্কার এবং দ্রুত হয়, যখন আপনার একাধিক শর্তের উপর ভিত্তি করে কাজ করতে হয়।
Switch Case Example:
এখানে একটি উদাহরণ দেয়া হলো যেখানে switch স্টেটমেন্ট ব্যবহার করে একাধিক কন্ডিশন হ্যান্ডল করা হয়েছে। এই উদাহরণে, একটি ডে অব দ্য উইক (সোমবার, মঙ্গলবার, ইত্যাদি) এর উপর ভিত্তি করে সিস্টেম একটি বার্তা প্রদর্শন করবে।
Example 1: Basic Switch Statement
public class SwitchExample {
public static void main(String[] args) {
int day = 3; // 1 = Sunday, 2 = Monday, 3 = Tuesday, etc.
// Switch statement to handle multiple conditions based on 'day'
switch (day) {
case 1:
System.out.println("Today is Sunday");
break;
case 2:
System.out.println("Today is Monday");
break;
case 3:
System.out.println("Today is Tuesday");
break;
case 4:
System.out.println("Today is Wednesday");
break;
case 5:
System.out.println("Today is Thursday");
break;
case 6:
System.out.println("Today is Friday");
break;
case 7:
System.out.println("Today is Saturday");
break;
default:
System.out.println("Invalid day");
}
}
}
Code Explanation:
- Switch Expression:
switch(day)— এখানেdayএকটি ইনটিজার ভ্যারিয়েবল এবংswitchতার মান অনুসারে উপযুক্ত কোড ব্লক নির্বাচন করবে। - Case Statements:
- প্রতিটি
caseস্টেটমেন্টে একটি নির্দিষ্ট মান (যেমন1,2,3ইত্যাদি) দেওয়া আছে, এবং যদিdayএর মান ঐ মানের সমান হয়, তাহলে সেসম্পর্কিত কোড ব্লক এক্সিকিউট হবে।
- প্রতিটি
- Break Statement: প্রতিটি
caseব্লকের শেষেbreakস্টেটমেন্ট থাকে, যাতে একবারcaseব্লক এক্সিকিউট হয়ে গেলে সিস্টেম অন্য কেসে চলে না যায়। যদিbreakনা দেওয়া হয়, তখন সিস্টেম পরবর্তী কেসের কোডও এক্সিকিউট করবে, যা fall-through বলে পরিচিত। - Default Case: যদি কোন
caseম্যাচ না করে, তখনdefaultব্লক এক্সিকিউট হবে, যা সাধারণত অপরিষ্কার ইনপুট হ্যান্ডল করার জন্য ব্যবহৃত হয়।
Example 2: Switch with String
Java 7 এবং তার পরবর্তী সংস্করণে, switch স্টেটমেন্টে String টাইপের ভ্যালু ব্যবহার করা সম্ভব। নিচে একটি উদাহরণ দেয়া হলো যেখানে দিনের নামের উপর ভিত্তি করে একটি বার্তা প্রদর্শন করা হবে।
public class SwitchStringExample {
public static void main(String[] args) {
String day = "Tuesday";
switch (day) {
case "Monday":
System.out.println("Today is Monday");
break;
case "Tuesday":
System.out.println("Today is Tuesday");
break;
case "Wednesday":
System.out.println("Today is Wednesday");
break;
case "Thursday":
System.out.println("Today is Thursday");
break;
case "Friday":
System.out.println("Today is Friday");
break;
case "Saturday":
System.out.println("Today is Saturday");
break;
case "Sunday":
System.out.println("Today is Sunday");
break;
default:
System.out.println("Invalid day");
}
}
}
Code Explanation:
- এখানে
dayএকটি String ভ্যারিয়েবল হিসেবে ব্যবহৃত হয়েছে এবংswitchস্টেটমেন্টে String টাইপের ভ্যালু দেওয়া হয়েছে। switch(day)স্টেটমেন্টটিdayএর মানের উপর ভিত্তি করে একটি নির্দিষ্ট বার্তা প্রিন্ট করবে।- String-based case matching: এখানে String ভ্যালু ব্যবহার করে একাধিক শর্ত পরীক্ষা করা হয়েছে, যেমন "Monday", "Tuesday", "Wednesday" ইত্যাদি।
- Default Case: যদি কোন কেস মেলেনি, তাহলে ডিফল্ট ব্লকটি এক্সিকিউট হবে।
Example 3: Switch with Multiple Conditions (Using Comma for Multiple Values)
একই switch স্টেটমেন্টে একাধিক শর্ত (যেমন একই কার্যকলাপ বা বার্তা) হ্যান্ডল করা যায়, যেখানে একই case ব্লকের মধ্যে একাধিক মান যুক্ত করা যায়। নিচে এর একটি উদাহরণ দেয়া হলো:
public class SwitchMultipleExample {
public static void main(String[] args) {
int month = 3; // March
switch (month) {
case 1:
case 2:
case 12:
System.out.println("It's Winter season");
break;
case 3:
case 4:
case 5:
System.out.println("It's Spring season");
break;
case 6:
case 7:
case 8:
System.out.println("It's Summer season");
break;
case 9:
case 10:
case 11:
System.out.println("It's Autumn season");
break;
default:
System.out.println("Invalid month");
}
}
}
Code Explanation:
- Multiple Conditions in a Case:
case 1: case 2: case 12:— এই কেসগুলোর জন্য একই কার্যকলাপ হবে। এখানে একাধিক কেস একসাথে ব্যবহার করা হয়েছে, যার মাধ্যমে একই অ্যাকশন করা হয়েছে।
- Season Checking:
- কোডটি বছরের বিভিন্ন সময়ের (Winter, Spring, Summer, Autumn) জন্য কাজ করবে, যেখানে বিভিন্ন মাসের মানের জন্য একই প্রিন্ট স্টেটমেন্ট প্রদর্শিত হবে।
- Default Case:
- যদি মাসের মান সঠিক না হয়, তখন ডিফল্ট কেসটি এক্সিকিউট হবে এবং "Invalid month" মেসেজটি প্রদর্শিত হবে।
- Switch statement একাধিক কন্ডিশন হ্যান্ডল করার জন্য একটি অত্যন্ত শক্তিশালী টুল।
- এটি if-else এর তুলনায় অনেক বেশি readable এবং efficient যখন অনেক শর্তের ভিত্তিতে সিদ্ধান্ত নেওয়ার প্রয়োজন হয়।
- Java তে
switchস্টেটমেন্ট ব্যবহার করে আপনি String, int, char, ইত্যাদি ডাটা টাইপের শর্ত নির্ধারণ করতে পারবেন এবং একাধিক কন্ডিশন সহজে হ্যান্ডল করতে পারবেন।
Java For Loop হল একটি নির্দিষ্ট সংখ্যক সময়ের জন্য লুপিং করার পদ্ধতি। এটি একটি সাধারণ এবং শক্তিশালী লুপ স্ট্রাকচার, যা এক্সপ্রেশন, শর্ত এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট সহ কাজ করে। for লুপ সাধারণত তখন ব্যবহৃত হয় যখন আপনার জানাশোনা থাকে কতবার লুপটি চালানো উচিত।
For Loop Syntax:
for(initialization; condition; update) {
// loop body
}
- Initialization: লুপের প্রথমে একবার কার্যকর হয়। সাধারণত এটি কাউন্টার বা ভেরিয়েবল সেট করা হয়।
- Condition: এটি শর্ত যা প্রতিবার লুপ চালানোর আগে চেক করা হয়। শর্তটি সত্য হলে লুপ চলবে।
- Update: প্রতিবার লুপের কাজ সম্পন্ন হওয়ার পর এটি কার্যকর হয়। সাধারণত এটি কাউন্টার বাড়ানোর জন্য ব্যবহৃত হয় (যেমন
i++বাi--)।
For Loop Example:
1. Basic For Loop Example:
নিচে একটি উদাহরণ দেয়া হলো যেখানে for লুপের মাধ্যমে 1 থেকে 10 পর্যন্ত সংখ্যাগুলি প্রিন্ট করা হবে:
public class ForLoopExample {
public static void main(String[] args) {
// 1 থেকে 10 পর্যন্ত সংখ্যাগুলি প্রিন্ট করতে for loop
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
Code Explanation:
- Initialization (
int i = 1): লুপ শুরু হওয়ার সময়iভেরিয়েবলকে 1 দিয়ে শুরু করা হয়েছে। - Condition (
i <= 10): লুপটি যতক্ষণ নাi10-এর সমান বা বড় হয়, চলতে থাকবে। - Update (
i++): প্রতি ইটারেশনের পরেiমান 1 বাড়ানো হবে।
Output:
1
2
3
4
5
6
7
8
9
10
2. For Loop with Multiple Statements:
আপনি একাধিক বিবৃতি বা কমান্ডের সাথে একাধিক কাজ করতে পারেন, যেমন নীচের উদাহরণে।
public class ForLoopExample {
public static void main(String[] args) {
// 1 থেকে 10 পর্যন্ত সংখ্যা প্রিন্ট এবং তাদের বর্গফল প্রিন্ট করা
for (int i = 1; i <= 10; i++) {
int square = i * i; // i এর বর্গফল
System.out.println("Number: " + i + ", Square: " + square);
}
}
}
Output:
Number: 1, Square: 1
Number: 2, Square: 4
Number: 3, Square: 9
Number: 4, Square: 16
Number: 5, Square: 25
Number: 6, Square: 36
Number: 7, Square: 49
Number: 8, Square: 64
Number: 9, Square: 81
Number: 10, Square: 100
3. For Loop with Decrement Example:
নিচে একটি উদাহরণ দেয়া হয়েছে যেখানে for লুপটি 10 থেকে 1 পর্যন্ত গুণে গুণে প্রিন্ট করবে (decrement):
public class ForLoopExample {
public static void main(String[] args) {
// 10 থেকে 1 পর্যন্ত সংখ্যা প্রিন্ট করতে for loop
for (int i = 10; i >= 1; i--) {
System.out.println(i);
}
}
}
Output:
10
9
8
7
6
5
4
3
2
1
4. Nested For Loop Example:
একটি nested for loop হল যেখানে একটি for লুপের ভিতরে আরেকটি for লুপ থাকে। এটি সাধারণত টেবিল প্রিন্ট করা বা মাল্টি-ডাইমেনশনাল অ্যারে নিয়ে কাজ করতে ব্যবহৃত হয়।
public class NestedForLoopExample {
public static void main(String[] args) {
// 5x5 এর টেবিল প্রিন্ট করা
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print(i * j + "\t"); // Multiplication table element
}
System.out.println(); // নতুন লাইনে যাওয়ার জন্য
}
}
}
Output:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
- For Loop হল একটি শক্তিশালী এবং সহজলভ্য লুপ স্ট্রাকচার যা নির্দিষ্ট সংখ্যক বার লুপ চালানোর জন্য ব্যবহৃত হয়।
- আপনি initialization, condition, এবং update অংশে কাস্টমাইজ করে বিভিন্ন লুপিং অপারেশন করতে পারেন।
- Nested For Loops মাল্টি-ডাইমেনশনাল ডেটা স্ট্রাকচার যেমন টেবিল, ম্যাট্রিক্স ইত্যাদি প্রক্রিয়া করার জন্য ব্যবহৃত হয়।
এই উদাহরণগুলো Java তে For Loop ব্যবহার করার মৌলিক ধারণা প্রদান করে এবং বিভিন্ন পরিস্থিতিতে এটি কিভাবে কাজ করে তা দেখায়।
While এবং Do-While লুপগুলি Java তে ব্যবহৃত দুইটি অত্যন্ত গুরুত্বপূর্ণ লুপ স্ট্রাকচার, যেগুলির মাধ্যমে পুনরাবৃত্তি বা Iteration করা হয়। এই লুপগুলো সাধারণত তখন ব্যবহৃত হয় যখন আমাদের কোনো নির্দিষ্ট শর্ত পূর্ণ না হওয়া পর্যন্ত কোনো কোড একাধিকবার চালাতে হয়।
1. While Loop Example
while লুপটি Condition-controlled লুপ, যেখানে লুপটি চালানোর আগে শর্ত পরীক্ষা করা হয়। যদি শর্ত সত্য হয়, তখন লুপের ভিতরের কোড চালানো হয়।
Syntax:
while (condition) {
// Loop body
}
Example: While Loop
এই উদাহরণে, আমরা একটি while লুপ ব্যবহার করে ১ থেকে ৫ পর্যন্ত সংখ্যা প্রিন্ট করবো।
public class WhileLoopExample {
public static void main(String[] args) {
int i = 1; // Initializing the variable
while (i <= 5) { // Condition
System.out.println(i); // Print the value of i
i++; // Increment the value of i
}
}
}
Output:
1
2
3
4
5
Explanation:
- এখানে
iএর মান ১ থেকে শুরু হয়। - শর্ত হচ্ছে
i <= 5, অর্থাৎ যতক্ষণi৫ বা তার কম থাকবে, ততক্ষণ লুপ চলতে থাকবে। - প্রতিটি চক্র শেষে
iএর মান বাড়ানো হয় (এখানেi++ব্যবহার করা হয়েছে)।
2. Do-While Loop Example
do-while লুপটি Post-test controlled লুপ, যেখানে শর্ত পরীক্ষা করার আগে প্রথমে কোড একবার চলানো হয়। অর্থাৎ, এই লুপটি অন্তত একবার চলতে বাধ্য।
Syntax:
do {
// Loop body
} while (condition);
Example: Do-While Loop
এই উদাহরণে, আমরা একটি do-while লুপ ব্যবহার করে ১ থেকে ৫ পর্যন্ত সংখ্যা প্রিন্ট করবো।
public class DoWhileLoopExample {
public static void main(String[] args) {
int i = 1; // Initializing the variable
do {
System.out.println(i); // Print the value of i
i++; // Increment the value of i
} while (i <= 5); // Condition
}
}
Output:
1
2
3
4
5
Explanation:
- এখানে
iএর মান ১ থেকে শুরু হয়। - প্রথমে কোডটি একবার চলে (চাহিদা অনুযায়ী), এরপর শর্ত
i <= 5পরীক্ষা করা হয়। - যতক্ষণ শর্ত সত্য থাকবে, ততক্ষণ লুপ চলতে থাকবে।
Key Differences between while and do-while loops:
whileLoop:- শর্ত পরীক্ষা করা হয় লুপের শুরুতে। যদি শর্ত প্রথমেই মিথ্যা হয়, তাহলে লুপ একবারও চলবে না।
- উপযুক্ত যখন আপনি চান যে, শর্ত পূর্ণ না হওয়া পর্যন্ত কোডটি পুনরাবৃত্তি হোক।
do-whileLoop:- শর্ত পরীক্ষা করা হয় লুপের শেষে। ফলে কোডটি কমপক্ষে একবার চলবে, এমনকি শর্ত মিথ্যা হলেও।
- উপযুক্ত যখন আপনি চান কোডটি অন্তত একবার চলুক, তারপর শর্ত পরীক্ষা করা হবে।
Another Example: Comparing while and do-while loops
- Using
whileloop to print numbers from 1 to 3:
public class WhileLoopExample {
public static void main(String[] args) {
int i = 1;
while (i <= 3) {
System.out.println(i);
i++;
}
}
}
- Using
do-whileloop to print numbers from 1 to 3:
public class DoWhileLoopExample {
public static void main(String[] args) {
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 3);
}
}
Output for both:
1
2
3
whileloop উপযুক্ত যখন আপনি চান লুপটি শর্ত পূর্ণ না হওয়া পর্যন্ত চলুক এবং শর্ত প্রথমে পরীক্ষা করতে চান।do-whileloop উপযুক্ত যখন আপনি চান যে কোডটি অন্তত একবার চলুক এবং পরে শর্ত পরীক্ষা করা হবে।
এই দুটি লুপের ব্যবহারের মাধ্যমে, আপনি বিভিন্ন পরিস্থিতিতে পুনরাবৃত্তি (iteration) করতে পারবেন এবং আপনার প্রোগ্রামকে আরো দক্ষ ও কার্যকরী বানাতে পারবেন।
break এবং continue দুটি কিওয়ার্ড Java তে লুপের (loop) আচরণ নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এগুলি লুপের ভিতরের কার্যক্রমের গতিকে নির্ধারণ করতে সহায়তা করে এবং কখন লুপটি সম্পন্ন হবে বা লুপের একটি ধাপ অতিক্রম করা হবে, তা নিয়ন্ত্রণ করতে সাহায্য করে।
break: এটি লুপের execution পুরোপুরি বন্ধ করে দেয় এবং লুপ থেকে বের হয়ে যায়।continue: এটি বর্তমান iteration এর বাকি অংশ স্কিপ করে পরবর্তী iteration শুরু করতে দেয়।
এখানে break এবং continue কিভাবে কাজ করে তা দেখানোর জন্য কয়েকটি উদাহরণ দেয়া হলো।
1. break উদাহরণ: লুপ থেকে বের হয়ে আসা
ধরা যাক, আমরা একটি লুপ চালাচ্ছি এবং যখন একটি নির্দিষ্ট শর্ত পূর্ণ হবে তখন আমরা লুপটি থামাতে চাই। এখানে break কিওয়ার্ড ব্যবহার করা হয়েছে।
public class BreakExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
// যদি i এর মান 5 হয়, তবে লুপ থেকে বের হয়ে যাবে
break;
}
System.out.println(i);
}
System.out.println("Loop terminated.");
}
}
আউটপুট:
1
2
3
4
Loop terminated.
ব্যাখ্যা:
- লুপটি 1 থেকে 10 পর্যন্ত চলবে, কিন্তু যখন
i == 5হবে তখনbreakকিওয়ার্ডের মাধ্যমে লুপটি বন্ধ হয়ে যাবে এবং "Loop terminated." মেসেজটি দেখাবে।
2. continue উদাহরণ: এক iteration স্কিপ করা
ধরা যাক, আমরা একটি লুপ চালাচ্ছি এবং কিছু শর্তে আমরা শুধু ঐ iteration কে স্কিপ করতে চাই। এখানে continue কিওয়ার্ড ব্যবহার করা হয়েছে।
public class ContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
// যখন i এর মান 5 হয়, তখন লুপের বর্তমান iteration স্কিপ হবে
continue;
}
System.out.println(i);
}
System.out.println("Loop completed.");
}
}
আউটপুট:
1
2
3
4
6
7
8
9
10
Loop completed.
ব্যাখ্যা:
- লুপটি 1 থেকে 10 পর্যন্ত চলে, কিন্তু যখন
i == 5হয়, তখনcontinueকিওয়ার্ডের মাধ্যমে ওই iteration স্কিপ হয়ে যাবে এবং পরবর্তী iteration শুরু হবে। ফলে 5 টা প্রিন্ট হবে না।
3. break এবং continue একসাথে ব্যবহার করা
এখন, আমরা একটি উদাহরণ তৈরি করব যেখানে break এবং continue কিওয়ার্ড একসাথে ব্যবহার করা হবে।
public class BreakAndContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 3) {
// যদি i 3 হয়, তবে এই iteration স্কিপ করা হবে
continue;
}
if (i == 8) {
// যদি i 8 হয়, তবে লুপ থেকে বের হয়ে যাবে
break;
}
System.out.println(i);
}
System.out.println("Loop terminated.");
}
}
আউটপুট:
1
2
4
5
6
7
Loop terminated.
ব্যাখ্যা:
- প্রথমে
i == 3হলেcontinueকিওয়ার্ডের মাধ্যমে ওই iteration স্কিপ হবে, তাই 3 প্রিন্ট হবে না। - পরে, যখন
i == 8হবে, তখনbreakকিওয়ার্ডের মাধ্যমে লুপটি থেমে যাবে এবং "Loop terminated." মেসেজটি দেখাবে।
4. break এবং continue ব্যবহার করা নেস্টেড লুপে
নেস্টেড লুপের মধ্যে break এবং continue কিভাবে কাজ করে তা দেখানোর জন্য একটি উদাহরণ:
public class NestedLoopExample {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
// inner loop এর মধ্যে যখন j == 2 হবে, তখন continue
continue;
}
if (i == 3) {
// outer loop এর মধ্যে যখন i == 3 হবে, তখন break
break;
}
System.out.println("i = " + i + ", j = " + j);
}
}
}
}
আউটপুট:
i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
ব্যাখ্যা:
- প্রথম inner loop এর মধ্যে
continueকিওয়ার্ড ব্যবহার করা হয়েছে যাতেj == 2হলে ওই iteration স্কিপ হয়ে যাবে। i == 3হওয়ার পরbreakকিওয়ার্ড ব্যবহার করা হয়েছে, যা outer loop থেকে বেরিয়ে যাবে।
breakকিওয়ার্ড লুপ বা সুইচ স্টেটমেন্ট থেকে সম্পূর্ণভাবে বের হয়ে যায়।continueকিওয়ার্ড চলমান iteration বাদ দিয়ে পরবর্তী iteration এ চলে যায়।breakএবংcontinueলুপের মধ্যে প্রক্রিয়া নিয়ন্ত্রণ করতে এবং লজিক আরও কার্যকরভাবে বাস্তবায়ন করতে সহায়তা করে।
এই দুটি কিওয়ার্ড ব্যবহার করে আপনি আপনার লজিক এবং কোডের কার্যকারিতা আরও দক্ষভাবে তৈরি করতে পারেন।
Read more