Java-তে অপারেটরস এবং এক্সপ্রেশন প্রোগ্রামিং লজিক তৈরি করতে সাহায্য করে। অপারেটর বিভিন্ন অপারেশন সম্পাদন করে, যেমন গণনা, তুলনা, লজিক্যাল অপারেশন ইত্যাদি। অপারেটর এবং এক্সপ্রেশনের মাধ্যমে বিভিন্ন শর্ত এবং ক্রিয়া সম্পন্ন করা যায়।
অপারেটরস (Operators)
Java-তে বিভিন্ন ধরনের অপারেটর রয়েছে, যা ভিন্ন ভিন্ন কাজ সম্পাদন করে। প্রধানত অপারেটরগুলো কয়েকটি ভাগে বিভক্ত:
- Arithmetic Operators
- Assignment Operators
- Comparison (Relational) Operators
- Logical Operators
- Bitwise Operators
- Unary Operators
- Ternary Operator
১. Arithmetic Operators
Arithmetic Operators গণিত সম্পর্কিত অপারেশন সম্পন্ন করতে ব্যবহৃত হয়।
| অপারেটর | কাজ | উদাহরণ |
|---|---|---|
+ | যোগ | a + b |
- | বিয়োগ | a - b |
* | গুণ | a * b |
/ | ভাগ | a / b |
% | ভাগশেষ | a % b |
উদাহরণ:
int a = 10, b = 5;
System.out.println("Sum: " + (a + b)); // 15
System.out.println("Difference: " + (a - b)); // 5
২. Assignment Operators
Assignment Operators ভেরিয়েবলে মান সংরক্ষণ করতে ব্যবহৃত হয়।
| অপারেটর | কাজ | উদাহরণ |
|---|---|---|
= | অ্যাসাইন | a = 10 |
+= | যোগ এবং অ্যাসাইন | a += 5 (a = a + 5) |
-= | বিয়োগ এবং অ্যাসাইন | a -= 5 (a = a - 5) |
*= | গুণ এবং অ্যাসাইন | a *= 5 (a = a * 5) |
/= | ভাগ এবং অ্যাসাইন | a /= 5 (a = a / 5) |
%= | ভাগশেষ এবং অ্যাসাইন | a %= 5 (a = a % 5) |
উদাহরণ:
int a = 10;
a += 5; // a = 15
System.out.println(a);
৩. Comparison (Relational) Operators
Comparison Operators ভেরিয়েবলগুলোর মধ্যে সম্পর্ক নির্ধারণ করে।
| অপারেটর | কাজ | উদাহরণ |
|---|---|---|
== | সমান কিনা | a == b |
!= | সমান নয় কিনা | a != b |
> | বড় কিনা | a > b |
< | ছোট কিনা | a < b |
>= | বড় বা সমান কিনা | a >= b |
<= | ছোট বা সমান কিনা | a <= b |
উদাহরণ:
int a = 10, b = 5;
System.out.println(a == b); // false
System.out.println(a > b); // true
৪. Logical Operators
Logical Operators শর্তের মধ্যে লজিক্যাল অপারেশন সম্পন্ন করে।
| অপারেটর | কাজ | উদাহরণ |
|---|---|---|
&& | AND | (a > b) && (a > c) |
|| | OR | a > b) || (a < 0 |
! | NOT | !(a > b) |
উদাহরণ:
int a = 10, b = 5;
System.out.println((a > b) && (a > 0)); // true
System.out.println((a > b) || (a < 0)); // true
৫. Bitwise Operators
Bitwise Operators বাইনারি স্তরে অপারেশন সম্পন্ন করে।
| অপারেটর | কাজ | উদাহরণ |
|---|---|---|
& | AND | a & b |
| ` | ` | OR |
^ | XOR | a ^ b |
~ | NOT | ~a |
<< | বাম দিকে শিফট | a << 2 |
>> | ডান দিকে শিফট | a >> 2 |
উদাহরণ:
java
Copy code
int a = 5; // 0101 in binary
int b = 3; // 0011 in binary
System.out.println(a & b); // 0001 = 1
System.out.println(a | b); // 0111 = 7
৬. Unary Operators
Unary Operators একক ভেরিয়েবলের উপর অপারেশন সম্পন্ন করে।
| অপারেটর | কাজ | উদাহরণ |
|---|---|---|
+ | ধনাত্মক | +a |
- | ঋণাত্মক | -a |
++ | ইনক্রিমেন্ট | a++ বা ++a |
-- | ডিক্রিমেন্ট | a-- বা --a |
! | লজিক্যাল NOT | !a |
উদাহরণ:
int a = 5;
System.out.println(++a); // 6
System.out.println(a--); // 6, but a becomes 5 after this
৭. Ternary Operator
Ternary Operator তিনটি অপারেশন সম্পন্ন করতে ব্যবহৃত হয় এবং একটি শর্তের ভিত্তিতে মান নির্ধারণ করে। এর গঠন হলো condition ? value_if_true : value_if_false
উদাহরণ:
int a = 10, b = 5;
int max = (a > b) ? a : b;
System.out.println("Max: " + max); // Max: 10
এক্সপ্রেশন (Expressions)
এক্সপ্রেশন হলো অপারেটর এবং অপারেন্ডের সংমিশ্রণ, যা একটি মান প্রদান করে। এক্সপ্রেশন প্রায়শই গাণিতিক, লজিক্যাল বা শর্তমূলক অপারেশন সম্পন্ন করে।
উদাহরণ:
int a = 5;
int b = 10;
int sum = a + b; // Arithmetic expression
boolean result = (a < b); // Comparison expression
int max = (a > b) ? a : b; // Ternary expression
সারসংক্ষেপ
Java-তে অপারেটর এবং এক্সপ্রেশন বিভিন্ন অপারেশন সম্পন্ন করে এবং প্রোগ্রামিং লজিক তৈরি করতে সাহায্য করে। অপারেটরগুলো বিভিন্ন ধরনের অপারেশন সম্পন্ন করে, যেমন গাণিতিক, লজিক্যাল, বিটওয়াইজ ইত্যাদি। এক্সপ্রেশন অপারেটর ও অপারেন্ডের সংমিশ্রণে একটি মান প্রদান করে।
অ্যারিথমেটিক অপারেটরস (Arithmetic Operators) হলো প্রোগ্রামিং ভাষায় ব্যবহার করা অপারেটরগুলোর মধ্যে এমন কিছু অপারেটর যা গাণিতিক ক্রিয়াকলাপ সম্পন্ন করতে ব্যবহৃত হয়। Java সহ বেশিরভাগ প্রোগ্রামিং ভাষায় অ্যারিথমেটিক অপারেটরস দিয়ে সাধারণ গাণিতিক ক্রিয়াগুলি করা যায়, যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি।
Java তে অ্যারিথমেটিক অপারেটরস
| অপারেটর | নাম | উদাহরণ | ফলাফল |
|---|---|---|---|
+ | যোগ (Addition) | a + b | a এবং b এর যোগফল |
- | বিয়োগ (Subtraction) | a - b | a থেকে b বিয়োগ |
* | গুণ (Multiplication) | a * b | a এবং b এর গুণফল |
/ | ভাগ (Division) | a / b | a কে b দিয়ে ভাগ |
% | ভাগশেষ (Modulus) | a % b | a কে b দিয়ে ভাগ করলে ভাগশেষ |
উদাহরণসহ প্রতিটি অপারেটরের ব্যবহার
Java তে প্রতিটি অ্যারিথমেটিক অপারেটরের ব্যবহার দেখানো হলো:
public class ArithmeticOperators {
public static void main(String[] args) {
int a = 15;
int b = 4;
// Addition (যোগ)
int sum = a + b;
System.out.println("Addition (a + b): " + sum); // আউটপুট: 19
// Subtraction (বিয়োগ)
int difference = a - b;
System.out.println("Subtraction (a - b): " + difference); // আউটপুট: 11
// Multiplication (গুণ)
int product = a * b;
System.out.println("Multiplication (a * b): " + product); // আউটপুট: 60
// Division (ভাগ)
int quotient = a / b;
System.out.println("Division (a / b): " + quotient); // আউটপুট: 3
// Modulus (ভাগশেষ)
int remainder = a % b;
System.out.println("Modulus (a % b): " + remainder); // আউটপুট: 3
}
}
ব্যাখ্যা:
- Addition (a + b):
aএবংbএর যোগফল হিসেবেsumপাওয়া যায়। - Subtraction (a - b):
aথেকেbবিয়োগ করেdifferenceপাওয়া যায়। - Multiplication (a * b):
aএবংbএর গুণফলproductএ সংরক্ষিত। - Division (a / b):
aকেbদিয়ে ভাগ করলেquotientপাওয়া যায় (পূর্ণসংখ্যা হিসেবে)। এখানে ভাগফল দশমিকের অংশটি উপেক্ষা করা হয়। - Modulus (a % b):
aকেbদিয়ে ভাগ করলে ভাগশেষremainderএ সংরক্ষিত হয়।
গুরুত্বপূর্ণ বিষয়
ভাগ অপারেটর /: যখন দুটি পূর্ণসংখ্যার মধ্যে ভাগ করা হয়, তখন দশমিকের অংশ বাদ যায়। যদি দশমিক ফলাফল প্রয়োজন হয়, তবে float বা double টাইপ ব্যবহার করতে হবে।
java
Copy code
double x = 15;
double y = 4;
double result = x / y;
System.out.println("Division with decimals (x / y): " + result); // আউটপুট: 3.75
Modulus অপারেটর %: এটি ভাগশেষ প্রদান করে, যা সংখ্যা জোড় বা বিজোড় কিনা, বা কোনো সংখ্যা নির্দিষ্ট সংখ্যায় বিভাজ্য কিনা তা নির্ধারণে কাজে লাগে। উদাহরণস্বরূপ, n % 2 == 0 হলে n জোড় সংখ্যা।
সারসংক্ষেপ
- +: যোগফল বের করতে।
- -: বিয়োগফল বের করতে।
- ***: গুণফল বের করতে।
- /: ভাগফল বের করতে (পূর্ণসংখ্যা বা দশমিক সহ)।
- %: ভাগশেষ বের করতে।
Java তে অ্যারিথমেটিক অপারেটরস গাণিতিক কাজ সম্পাদনে ব্যবহৃত হয় এবং এসব অপারেটর সহজে এবং দ্রুত গাণিতিক ফলাফল পেতে সাহায্য করে।
Java-তে রিলেশনাল অপারেটরস (Relational Operators) ভেরিয়েবলগুলোর মধ্যে সম্পর্ক নির্ধারণ করতে ব্যবহৃত হয়। এই অপারেটরগুলির মাধ্যমে দুটি ভেরিয়েবল বা এক্সপ্রেশনের তুলনা করা হয় এবং ফলাফল হিসেবে সত্য (true) বা মিথ্যা (false) মান প্রদান করে।
রিলেশনাল অপারেটরগুলো প্রায়শই শর্ত নির্ধারণের জন্য ব্যবহার করা হয়, যেমন if এবং while স্টেটমেন্টে।
Java তে রিলেশনাল অপারেটরস
| অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
|---|---|---|---|
== | সমান কিনা চেক করে | a == b | true বা false |
!= | সমান নয় কিনা চেক করে | a != b | true বা false |
> | বড় কিনা চেক করে | a > b | true বা false |
< | ছোট কিনা চেক করে | a < b | true বা false |
>= | বড় বা সমান কিনা চেক করে | a >= b | true বা false |
<= | ছোট বা সমান কিনা চেক করে | a <= b | true বা false |
উদাহরণ ও ব্যবহার
নিচে বিভিন্ন রিলেশনাল অপারেটর ব্যবহার করে উদাহরণ দেখানো হলো:
public class RelationalOperatorsExample {
public static void main(String[] args) {
int a = 10;
int b = 5;
// == অপারেটর (সমান কিনা)
System.out.println("a == b: " + (a == b)); // false
// != অপারেটর (সমান নয় কিনা)
System.out.println("a != b: " + (a != b)); // true
// > অপারেটর (বড় কিনা)
System.out.println("a > b: " + (a > b)); // true
// < অপারেটর (ছোট কিনা)
System.out.println("a < b: " + (a < b)); // false
// >= অপারেটর (বড় বা সমান কিনা)
System.out.println("a >= b: " + (a >= b)); // true
// <= অপারেটর (ছোট বা সমান কিনা)
System.out.println("a <= b: " + (a <= b)); // false
}
}
আউটপুট:
a == b: false
a != b: true
a > b: true
a < b: false
a >= b: true
a <= b: false
রিলেশনাল অপারেটরসের ব্যবহার
রিলেশনাল অপারেটরগুলো সাধারণত if, while, এবং for স্টেটমেন্টে শর্ত নির্ধারণ করতে ব্যবহৃত হয়।
উদাহরণ ১: if স্টেটমেন্টে ব্যবহার
int age = 18;
if (age >= 18) {
System.out.println("You are eligible to vote.");
} else {
System.out.println("You are not eligible to vote.");
}
উদাহরণ ২: while লুপে ব্যবহার
int count = 1;
while (count <= 5) {
System.out.println("Count is: " + count);
count++;
}
সারসংক্ষেপ
রিলেশনাল অপারেটরস ভেরিয়েবলগুলোর মধ্যে সম্পর্ক নির্ধারণ করতে ব্যবহৃত হয় এবং সত্য বা মিথ্যা মান প্রদান করে। এগুলি শর্ত নির্ধারণ এবং লজিক্যাল স্টেটমেন্টে ব্যবহার করা হয়, যা প্রোগ্রামিং লজিক তৈরিতে সহায়ক।
লজিক্যাল অপারেটরস (Logical Operators) Java প্রোগ্রামিং ভাষায় লজিক্যাল বা শর্তমূলক ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়। লজিক্যাল অপারেটরগুলোর মাধ্যমে দুটি বা ততোধিক শর্ত একত্রে যাচাই করা যায় এবং শর্তগুলির উপর ভিত্তি করে সিদ্ধান্ত নেওয়া যায়। Java-তে প্রধান তিনটি লজিক্যাল অপারেটর রয়েছে: && (AND), || (OR), এবং ! (NOT)।
Java তে লজিক্যাল অপারেটরস
| অপারেটর | নাম | ব্যবহারের উদ্দেশ্য |
|---|---|---|
&& | লজিক্যাল AND | দুটি শর্তই সত্য হলে true রিটার্ন করে, অন্যথায় false। |
| ` | অন্তত একটি শর্ত true হলে true রিটার্ন করে। | |
! | লজিক্যাল NOT | শর্তের মান বিপরীত করে, true কে false এবং false কে true করে। |
লজিক্যাল অপারেটরসের উদাহরণ
public class LogicalOperators {
public static void main(String[] args) {
int age = 25;
boolean hasLicense = true;
// AND অপারেটর (&&)
if (age >= 18 && hasLicense) {
System.out.println("You are eligible to drive.");
} else {
System.out.println("You are not eligible to drive.");
}
// OR অপারেটর (||)
boolean hasPassport = false;
if (age >= 18 || hasPassport) {
System.out.println("You can apply for the visa.");
} else {
System.out.println("You cannot apply for the visa.");
}
// NOT অপারেটর (!)
boolean isMember = false;
if (!isMember) {
System.out.println("You need to become a member.");
} else {
System.out.println("Welcome, member!");
}
}
}
ব্যাখ্যা:
AND (&&) অপারেটর:
- এখানে
age >= 18 && hasLicenseযাচাই করে যে, বয়স ১৮ বা তার বেশি এবং ড্রাইভিং লাইসেন্স রয়েছে কি না। - যদি উভয় শর্ত
trueহয় তবে এটিtrueরিটার্ন করে এবং আউটপুট হবে "You are eligible to drive."। অন্যথায় আউটপুট হবে "You are not eligible to drive."।
OR (||) অপারেটর:
- এখানে
age >= 18 || hasPassportযাচাই করে যে বয়স ১৮ বা তার বেশি অথবা পাসপোর্ট আছে কি না। - যদি অন্তত একটি শর্ত
trueহয়, তবে এটিtrueরিটার্ন করে এবং আউটপুট হবে "You can apply for the visa."। অন্যথায় আউটপুট হবে "You cannot apply for the visa."।
NOT (!) অপারেটর:
- এখানে
!isMemberযাচাই করেisMemberএর মান বিপরীত করে। - যদি
isMemberএর মানfalseহয়, তবে এটিtrueহয়ে আউটপুট হবে "You need to become a member."। অন্যথায় আউটপুট হবে "Welcome, member!"।
লজিক্যাল অপারেটরসের ব্যবহারের কিছু গুরুত্বপূর্ণ বিষয়
সংযুক্ত শর্ত যাচাই: AND এবং OR অপারেটর ব্যবহার করে একাধিক শর্তের ভিত্তিতে সিদ্ধান্ত নেওয়া যায়। যেমন, বয়স এবং লাইসেন্স থাকার ভিত্তিতে ড্রাইভিং অনুমতি দেওয়া।
NOT অপারেটর ব্যবহার: NOT অপারেটর ! ব্যবহার করে শর্তের মান উল্টানো হয়। যেমন, সদস্য না হলে সদস্য হতে উৎসাহ দেওয়া।
উচ্চতর শর্ত পরীক্ষা: লজিক্যাল অপারেটর ব্যবহার করে জটিল শর্ত তৈরি করা যায় যা প্রোগ্রামের লজিক আরও শক্তিশালী করে তোলে।
সারসংক্ষেপ
- && (AND): উভয় শর্ত
trueহলেtrueরিটার্ন করে। - || (OR): অন্তত একটি শর্ত
trueহলেtrueরিটার্ন করে। - ! (NOT): শর্তের মান বিপরীত করে,
trueহলেfalseএবংfalseহলেtrueরিটার্ন করে।
লজিক্যাল অপারেটরগুলো প্রোগ্রামের বিভিন্ন পরিস্থিতিতে সিদ্ধান্ত গ্রহণে এবং শর্ত যাচাইয়ে গুরুত্বপূর্ণ ভূমিকা পালন করে।
Java তে অ্যাসাইনমেন্ট অপারেটর এবং টার্নারি অপারেটর প্রোগ্রামের ডেটা ম্যানিপুলেশন এবং শর্ত নির্ধারণের ক্ষেত্রে ব্যবহৃত হয়। অ্যাসাইনমেন্ট অপারেটর ভেরিয়েবলে মান প্রদান করতে সাহায্য করে, আর টার্নারি অপারেটর শর্ত অনুযায়ী মান প্রদান করে।
অ্যাসাইনমেন্ট অপারেটরস (Assignment Operators)
অ্যাসাইনমেন্ট অপারেটরস ভেরিয়েবলে মান অ্যাসাইন বা প্রদান করতে ব্যবহৃত হয়। Java তে বিভিন্ন ধরনের অ্যাসাইনমেন্ট অপারেটর রয়েছে, যা সরাসরি মান নির্ধারণ বা গণনার মাধ্যমে মান প্রদান করতে পারে।
| অপারেটর | কাজ | উদাহরণ | ব্যাখ্যা |
|---|---|---|---|
= | সাধারণ মান প্রদান | a = 10; | a-তে ১০ মান রাখা হয় |
+= | যোগ এবং অ্যাসাইন | a += 5; | a = a + 5; |
-= | বিয়োগ এবং অ্যাসাইন | a -= 3; | a = a - 3; |
*= | গুণ এবং অ্যাসাইন | a *= 4; | a = a * 4; |
/= | ভাগ এবং অ্যাসাইন | a /= 2; | a = a / 2; |
%= | ভাগশেষ এবং অ্যাসাইন | a %= 3; | a = a % 3; |
উদাহরণ:
public class AssignmentOperatorsExample {
public static void main(String[] args) {
int a = 10;
a += 5; // a = a + 5
System.out.println("a += 5: " + a); // 15
a -= 3; // a = a - 3
System.out.println("a -= 3: " + a); // 12
a *= 2; // a = a * 2
System.out.println("a *= 2: " + a); // 24
a /= 4; // a = a / 4
System.out.println("a /= 4: " + a); // 6
a %= 3; // a = a % 3
System.out.println("a %= 3: " + a); // 0
}
}
টার্নারি অপারেটর (Ternary Operator)
টার্নারি অপারেটর হলো একটি সংক্ষিপ্ত শর্তমূলক অপারেটর, যা if-else স্টেটমেন্টের বিকল্প হিসেবে কাজ করে। এটি তিনটি অংশ নিয়ে গঠিত: শর্ত, সত্য মান এবং মিথ্যা মান।
সাধারণ গঠন:
variable = (condition) ? value_if_true : value_if_false;
ব্যাখ্যা:
condition: শর্তটি পর্যালোচনা করা হয়। যদি এটি সত্য হয়, তাহলেvalue_if_trueপ্রদান করা হয়, নতুবাvalue_if_falseপ্রদান করা হয়।
উদাহরণ:
public class TernaryOperatorExample {
public static void main(String[] args) {
int a = 10, b = 5;
// বড় সংখ্যাটি নির্ধারণ করতে
int max = (a > b) ? a : b;
System.out.println("Max: " + max); // Max: 10
// ভোট দেওয়ার যোগ্যতা নির্ধারণ করতে
int age = 18;
String eligibility = (age >= 18) ? "Eligible to vote" : "Not eligible to vote";
System.out.println("Eligibility: " + eligibility); // Eligible to vote
}
}
টার্নারি অপারেটরের ব্যবহার
টার্নারি অপারেটর বিশেষ করে তখন ব্যবহার করা হয় যখন শর্ত নির্ধারণের জন্য সংক্ষিপ্ত কোডের প্রয়োজন হয়। এটি if-else স্টেটমেন্টের বিকল্প হিসেবে ব্যবহার করা যায় এবং প্রোগ্রামকে আরও সংক্ষিপ্ত করে তোলে।
if-else স্টেটমেন্টে:
int a = 10, b = 5;
int max;
if (a > b) {
max = a;
} else {
max = b;
}
System.out.println("Max: " + max);
টার্নারি অপারেটরে:
int max = (a > b) ? a : b;
System.out.println("Max: " + max);
সারসংক্ষেপ
Java তে অ্যাসাইনমেন্ট অপারেটর বিভিন্ন গণনার মাধ্যমে মান প্রদান করতে সাহায্য করে, আর টার্নারি অপারেটর শর্ত অনুযায়ী মান প্রদান করে। অ্যাসাইনমেন্ট অপারেটরস ভেরিয়েবলের মান পরিবর্তন করতে ব্যবহৃত হয়, আর টার্নারি অপারেটর দ্রুত এবং সংক্ষিপ্তভাবে শর্ত চেক করে মান প্রদান করতে সহায়ক।
Read more