Operators এবং Statements Apex-এর গুরুত্বপূর্ণ অংশ, যেগুলি প্রোগ্রামিং লজিক তৈরি ও কার্যকর করতে ব্যবহৃত হয়। অপারেটরস বিভিন্ন মানের মধ্যে অপারেশন চালানোর জন্য ব্যবহৃত হয়, আর স্টেটমেন্টস কার্যক্রম বা লজিক নিয়ন্ত্রণ করতে ব্যবহৃত হয়। নিচে Operators এবং Statements নিয়ে বিস্তারিত আলোচনা করা হলো:
Operators
Apex-এ বিভিন্ন ধরনের অপারেটরস রয়েছে, যা ভ্যারিয়েবলের উপর অপারেশন চালানোর জন্য ব্যবহৃত হয়। সাধারণত Apex-এ নিম্নোক্ত ধরনের অপারেটরস ব্যবহৃত হয়:
১. Arithmetic Operators
Arithmetic Operators সাধারণত গণনা বা হিসাব করার জন্য ব্যবহৃত হয়।
+(যোগ): দুই মান যোগ করতে ব্যবহৃত।-(বিয়োগ): একটি মান থেকে অন্য মান বিয়োগ করতে ব্যবহৃত।*(গুণ): দুই মান গুণ করতে ব্যবহৃত।/(ভাগ): একটি মানকে অন্য মান দিয়ে ভাগ করতে ব্যবহৃত।%(মডুলাস): একটি মানকে অন্য মান দিয়ে ভাগ করার পর অবশিষ্টাংশ খুঁজতে ব্যবহৃত।
উদাহরণ:
Integer a = 10;
Integer b = 5;
Integer result = a + b; // result = 15
২. Comparison Operators
Comparison Operators মানের তুলনা করতে ব্যবহৃত হয় এবং true বা false রিটার্ন করে।
==: দুই মান সমান কিনা তা চেক করে।!=: দুই মান অসামান্য কিনা তা চেক করে।>: প্রথম মান দ্বিতীয় মানের থেকে বড় কিনা তা চেক করে।<: প্রথম মান দ্বিতীয় মানের থেকে ছোট কিনা তা চেক করে।>=: প্রথম মান দ্বিতীয় মানের থেকে বড় বা সমান কিনা তা চেক করে।<=: প্রথম মান দ্বিতীয় মানের থেকে ছোট বা সমান কিনা তা চেক করে।
উদাহরণ:
Integer a = 10;
Integer b = 5;
Boolean isEqual = (a == b); // isEqual = false
৩. Logical Operators
Logical Operators সাধারণত লজিক্যাল স্টেটমেন্ট তৈরি করতে ব্যবহৃত হয়, যা true বা false মান রিটার্ন করে।
&&(AND): দুইটি শর্তtrueহলেtrueরিটার্ন করে।||(OR): যেকোনো একটি শর্তtrueহলেtrueরিটার্ন করে।!(NOT): শর্ত উল্টে দেয়, অর্থাৎtrueকেfalseএবংfalseকেtrueকরে।
উদাহরণ:
Boolean a = true;
Boolean b = false;
Boolean result = a && b; // result = false
৪. Assignment Operators
Assignment Operators ভ্যারিয়েবলে মান অ্যাসাইন করতে ব্যবহৃত হয়।
=: একটি মান অ্যাসাইন করতে ব্যবহৃত হয়।+=: বর্তমান মানের সাথে নতুন মান যোগ করে অ্যাসাইন করে।-=: বর্তমান মান থেকে নির্দিষ্ট মান বিয়োগ করে অ্যাসাইন করে।*=: বর্তমান মানের সাথে নির্দিষ্ট মান গুণ করে অ্যাসাইন করে।/=: বর্তমান মানকে নির্দিষ্ট মান দিয়ে ভাগ করে অ্যাসাইন করে।
উদাহরণ:
Integer a = 10;
a += 5; // a = 15
Statements
Statements মূলত কার্যক্রম বা লজিক নিয়ন্ত্রণ করতে ব্যবহৃত হয়। Apex-এ সাধারণভাবে ব্যবহৃত Statements গুলো হলো:
১. Conditional Statements
Conditional Statements ব্যবহার করে শর্ত সাপেক্ষে কার্যক্রম সম্পন্ন করা যায়। Apex-এ সবচেয়ে বেশি ব্যবহৃত Conditional Statements হলো if, else if, else, এবং switch।
- if: একটি শর্ত
trueহলে নির্দিষ্ট কার্যক্রম সম্পন্ন করে। - else if: আগের শর্ত
falseহলে অন্য শর্ত চেক করে। - else: পূর্বের সব শর্ত
falseহলে কার্যকর হয়। - switch: একটি ভ্যারিয়েবলের মান বিভিন্ন কেসের সাথে মেলানো হয়।
উদাহরণ:
Integer age = 18;
if (age >= 18) {
System.debug('Eligible for voting');
} else {
System.debug('Not eligible for voting');
}
২. Loop Statements
Loop Statements ব্যবহার করে একই কার্যক্রম বারবার সম্পন্ন করা যায়। Apex-এ ব্যবহৃত Loop Statements গুলো হলো for, while, এবং do-while।
- for: একটি নির্দিষ্ট সংখ্যা বা সংগ্রহের উপর ভিত্তি করে লুপ চালায়।
- while: শর্ত
trueথাকা পর্যন্ত লুপ চালায়। - do-while: প্রথমে লুপের কাজ করে, তারপর শর্ত চেক করে।
উদাহরণ:
for (Integer i = 0; i < 5; i++) {
System.debug('Iteration: ' + i);
}
৩. Exception Handling Statements
Exception Handling ব্যবহার করে কোডের ত্রুটি হ্যান্ডেল করা যায়। Apex-এ try, catch, এবং finally ব্যবহৃত হয়।
- try: কোডের সম্ভাব্য ত্রুটিপূর্ণ অংশ লিখতে ব্যবহৃত হয়।
- catch: ত্রুটি ধরা পড়লে নির্দিষ্ট কাজ সম্পন্ন করতে ব্যবহৃত হয়।
- finally: try এবং catch ব্লকের পরের কোড, যা সব সময় চালানো হয়।
উদাহরণ:
try {
Integer result = 10 / 0;
} catch (Exception e) {
System.debug('An error occurred: ' + e.getMessage());
} finally {
System.debug('This will always execute');
}
সংক্ষেপে Operators এবং Statements
- Operators: ভ্যারিয়েবলের উপর বিভিন্ন ধরনের অপারেশন চালানোর জন্য ব্যবহৃত হয়, যেমন Arithmetic, Comparison, Logical, এবং Assignment Operators।
- Statements: কার্যক্রম বা লজিক নিয়ন্ত্রণ করতে ব্যবহৃত হয়, যেমন Conditional Statements, Loop Statements, এবং Exception Handling Statements।
Operators এবং Statements ব্যবহার করে Apex-এ কার্যকরী ও পরিশীলিত লজিক তৈরি করা যায়।
Apex-এ Arithmetic এবং Logical Operators প্রোগ্রামে গণিত এবং লজিক্যাল অপারেশন সম্পাদনের জন্য ব্যবহৃত হয়। এসব অপারেটর ডেটার উপর বিভিন্ন ধরণের গণনা ও তুলনা সম্পন্ন করে। নিচে Apex-এ ব্যবহৃত Arithmetic এবং Logical Operators এর বিস্তারিত ব্যাখ্যা করা হলো।
Arithmetic Operators (গাণিতিক অপারেটরস)
Arithmetic Operators মূলত গণিত সম্পর্কিত অপারেশন করতে ব্যবহৃত হয়। এগুলোর মাধ্যমে যোগ, বিয়োগ, গুণ, ভাগ এবং মডুলাস অপারেশন করা যায়।
| অপারেটর | বর্ণনা | উদাহরণ |
|---|---|---|
+ | যোগ | a + b |
- | বিয়োগ | a - b |
* | গুণ | a * b |
/ | ভাগ | a / b |
% | মডুলাস (বাকি) | a % b |
উদাহরণ:
Integer a = 10;
Integer b = 3;
Integer sum = a + b; // যোগফল: 13
Integer difference = a - b; // বিয়োগফল: 7
Integer product = a * b; // গুণফল: 30
Integer quotient = a / b; // ভাগফল: 3
Integer remainder = a % b; // মডুলাস: 1
System.debug('Sum: ' + sum);
System.debug('Difference: ' + difference);
System.debug('Product: ' + product);
System.debug('Quotient: ' + quotient);
System.debug('Remainder: ' + remainder);
Logical Operators (লজিক্যাল অপারেটরস)
Logical Operators মূলত লজিক্যাল অপারেশন সম্পন্ন করতে ব্যবহৃত হয়, যেখানে এক বা একাধিক শর্ত মিলে একটি চূড়ান্ত ফলাফল দেয়। Apex-এ তিনটি প্রধান Logical Operators রয়েছে: AND, OR, এবং NOT।
| অপারেটর | নাম | বর্ণনা | উদাহরণ |
|---|---|---|---|
&& | Logical AND | দুইটি শর্ত সত্য হলে পুরো অপারেশন সত্য হবে। | (a > b) && (a > c) |
| ` | ` | Logical OR | |
! | Logical NOT | শর্তের বিপরীত মান প্রদান করে; সত্যকে মিথ্যা এবং মিথ্যাকে সত্যে পরিবর্তন করে। | !(a > b) |
উদাহরণ:
Boolean x = true;
Boolean y = false;
// Logical AND
Boolean resultAnd = x && y; // false, কারণ একটি শর্ত মিথ্যা
// Logical OR
Boolean resultOr = x || y; // true, কারণ একটি শর্ত সত্য
// Logical NOT
Boolean resultNot = !x; // false, কারণ x সত্য ছিল
System.debug('Logical AND: ' + resultAnd);
System.debug('Logical OR: ' + resultOr);
System.debug('Logical NOT: ' + resultNot);
উদাহরণ: Arithmetic এবং Logical Operators এর ব্যবহার
নিচের উদাহরণে, Arithmetic এবং Logical Operators ব্যবহার করে শর্তের ভিত্তিতে গণনা করা হয়েছে:
public class OperatorExample {
public void calculate(Integer a, Integer b) {
// Arithmetic Operations
Integer sum = a + b;
Integer difference = a - b;
Integer product = a * b;
Integer quotient = a / b;
Integer remainder = a % b;
System.debug('Sum: ' + sum);
System.debug('Difference: ' + difference);
System.debug('Product: ' + product);
System.debug('Quotient: ' + quotient);
System.debug('Remainder: ' + remainder);
// Logical Operations
Boolean isSumPositive = sum > 0;
Boolean isDifferenceNegative = difference < 0;
if (isSumPositive && !isDifferenceNegative) {
System.debug('Sum is positive and difference is not negative.');
} else if (isSumPositive || isDifferenceNegative) {
System.debug('Either sum is positive or difference is negative.');
} else {
System.debug('Neither sum is positive nor difference is negative.');
}
}
}
অপারেটরগুলোর ব্যবহার সংক্ষেপে:
- Arithmetic Operators দিয়ে সরাসরি গণিত সম্পর্কিত অপারেশন করা যায়।
- Logical Operators দিয়ে লজিক্যাল শর্ত তৈরি এবং যাচাই করা সম্ভব।
Apex প্রোগ্রামিং এ Arithmetic এবং Logical Operators ব্যবহার করে বিভিন্ন ধরণের গণিত ও লজিক্যাল অপারেশন সম্পন্ন করা সহজ হয়, যা ডেটা ম্যানিপুলেশন এবং শর্ত নির্ধারণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
Conditional Statements Apex-এ লজিক্যাল শর্তগুলো পরীক্ষা করে নির্দিষ্ট কার্যক্রম পরিচালনা করতে ব্যবহার করা হয়। if, else if, এবং else হলো সবচেয়ে সাধারণ Conditional Statements, যেগুলো নির্দিষ্ট শর্ত পূরণের উপর ভিত্তি করে কোডের বিভিন্ন অংশ কার্যকর করতে সহায়ক।
১. if Statement
if স্টেটমেন্ট ব্যবহার করে কোনো শর্ত true হলে নির্দিষ্ট কোড ব্লক কার্যকর করা হয়। যদি শর্তটি false হয়, তাহলে কোড ব্লকটি কার্যকর হয় না।
Syntax:
if (condition) {
// Condition true হলে এই কোড ব্লক কার্যকর হবে
}
উদাহরণ:
Integer age = 20;
if (age >= 18) {
System.debug('Eligible for voting');
}
উপরের উদাহরণে, age যদি ১৮ বা তার বেশি হয়, তাহলে 'Eligible for voting' বার্তাটি প্রদর্শিত হবে।
২. else if Statement
else if স্টেটমেন্ট ব্যবহার করে যদি প্রথম if শর্তটি false হয়, তাহলে একটি নতুন শর্ত চেক করা হয়। একাধিক শর্ত চেক করার জন্য else if ব্যবহার করা হয়।
Syntax:
if (condition1) {
// Condition1 true হলে এই কোড ব্লক কার্যকর হবে
} else if (condition2) {
// Condition2 true হলে এই কোড ব্লক কার্যকর হবে
}
উদাহরণ:
Integer score = 75;
if (score >= 90) {
System.debug('Grade A');
} else if (score >= 75) {
System.debug('Grade B');
} else if (score >= 60) {
System.debug('Grade C');
}
এখানে score যদি ৭৫ বা তার বেশি হয়, তবে 'Grade B' বার্তাটি প্রদর্শিত হবে। যদি score ৯০ বা তার বেশি হয়, তাহলে 'Grade A' প্রদর্শিত হবে।
৩. else Statement
else স্টেটমেন্ট ব্যবহার করে সবশেষে এমন কোড ব্লক কার্যকর করা হয়, যা আগের সব শর্তগুলো false হলে চালানো হয়। অর্থাৎ, কোনো শর্ত পূরণ না হলে else অংশটি কার্যকর হয়।
Syntax:
if (condition1) {
// Condition1 true হলে এই কোড ব্লক কার্যকর হবে
} else if (condition2) {
// Condition2 true হলে এই কোড ব্লক কার্যকর হবে
} else {
// আগের সব শর্ত false হলে এই কোড ব্লক কার্যকর হবে
}
উদাহরণ:
Integer score = 50;
if (score >= 90) {
System.debug('Grade A');
} else if (score >= 75) {
System.debug('Grade B');
} else if (score >= 60) {
System.debug('Grade C');
} else {
System.debug('Grade D');
}
এখানে, যদি score ৬০-এর কম হয়, তাহলে 'Grade D' বার্তাটি প্রদর্শিত হবে কারণ আগের সব শর্তগুলো false হয়েছে।
সংক্ষেপে if, else if, else
- if: শর্ত
trueহলে নির্দিষ্ট কোড ব্লক কার্যকর হয়। - else if: প্রথম শর্ত
falseহলে নতুন শর্ত চেক করে। - else: আগের সব শর্ত
falseহলে কার্যকর হয়।
এই Conditional Statements ব্যবহার করে Apex-এ কার্যকরী এবং লজিক্যাল ফ্লো তৈরি করা সম্ভব, যা বিভিন্ন শর্তের উপর ভিত্তি করে ভিন্ন ভিন্ন কার্যক্রম পরিচালনা করতে সহায়ক।
Switch Case স্টেটমেন্টটি Apex-এ একাধিক শর্তের ভিত্তিতে কোড চালাতে ব্যবহার করা হয়। এটি if-else স্টেটমেন্টের একটি উন্নত সংস্করণ, যেখানে একটি একক ভেরিয়েবলের বিভিন্ন মান যাচাই করা হয় এবং প্রতিটি মান অনুযায়ী নির্দিষ্ট কোড ব্লক চালানো হয়।
Apex-এ switch স্টেটমেন্ট case এবং when ব্যবহার করে বিভিন্ন মানের উপর ভিত্তি করে কার্যক্রম নির্ধারণ করে।
Switch Case এর সাধারণ সিনট্যাক্স
Apex-এ switch স্টেটমেন্টের মাধ্যমে ভেরিয়েবলের বিভিন্ন মান যাচাই করে প্রতিটি মানের জন্য নির্দিষ্ট কোড ব্লক চালানো হয়। else-এর পরিবর্তে when else ব্যবহার করা হয়, যা ডিফল্ট মানের জন্য কোড চালায়।
switch on <variable> {
when <value1> {
// Code block for value1
}
when <value2> {
// Code block for value2
}
when <value3> {
// Code block for value3
}
when else {
// Default code block if no case matches
}
}
উদাহরণ ১: Simple Switch Case
নিচের উদাহরণে, একটি String ভেরিয়েবলের মান day এর উপর ভিত্তি করে কোন দিনটি কাজের দিন এবং কোন দিনটি ছুটির দিন তা নির্ধারণ করা হয়েছে।
public class SwitchExample {
public static void checkDay(String day) {
switch on day {
when 'Monday' {
System.debug('It\'s a working day.');
}
when 'Friday' {
System.debug('It\'s the last working day of the week.');
}
when 'Saturday', 'Sunday' {
System.debug('It\'s a holiday!');
}
when else {
System.debug('Unknown day.');
}
}
}
}
- এখানে, যদি
dayএর মান'Monday'হয়, তাহলে'It’s a working day.'প্রিন্ট হবে। - যদি
dayএর মান'Saturday'বা'Sunday'হয়, তাহলে'It’s a holiday!'প্রিন্ট হবে। - যদি
dayএর মান কোনো মেলে না, তাহলেwhen elseঅংশটি চালিত হবে।
উদাহরণ ২: Multiple Values in a Single Case
switch স্টেটমেন্টে একাধিক মান একই case-এ ব্যবহার করা যেতে পারে, যা নির্দিষ্ট মানগুলির জন্য একই কোড চালাতে সাহায্য করে।
public class GradeExample {
public static void getGradeMessage(String grade) {
switch on grade {
when 'A', 'B' {
System.debug('Excellent!');
}
when 'C' {
System.debug('Good Job');
}
when 'D' {
System.debug('Needs Improvement');
}
when else {
System.debug('Invalid Grade');
}
}
}
}
gradeএর মান যদি'A'বা'B'হয়, তাহলে'Excellent!'প্রিন্ট হবে।- যদি
gradeএর মান'C'হয়, তাহলে'Good Job'প্রিন্ট হবে। - যদি
gradeএর মান'D'হয়, তাহলে'Needs Improvement'প্রিন্ট হবে। - অন্য যেকোনো মানের জন্য
'Invalid Grade'প্রিন্ট হবে।
উদাহরণ ৩: Switch Case with Integer Values
Switch Case শুধুমাত্র String নয়, Integer টাইপের জন্যও ব্যবহার করা যায়। নিচের উদাহরণে একটি Integer ভেরিয়েবলের মান যাচাই করে বিভিন্ন মেসেজ প্রিন্ট করা হয়েছে।
public class MonthExample {
public static void getMonthName(Integer month) {
switch on month {
when 1 {
System.debug('January');
}
when 2 {
System.debug('February');
}
when 3 {
System.debug('March');
}
when 4 {
System.debug('April');
}
when else {
System.debug('Invalid Month');
}
}
}
}
- এখানে, যদি
monthএর মান1হয়, তাহলে'January'প্রিন্ট হবে। - যদি
monthএর মান2,3, বা4হয়, তাহলে সংশ্লিষ্ট মাসের নাম প্রিন্ট হবে। - অন্য যেকোনো মানের জন্য
'Invalid Month'প্রিন্ট হবে।
Switch Case এর সুবিধা:
- Readable Code: কোড পড়তে এবং বুঝতে সহজ।
- Multiple Values Support: একই
case-এ একাধিক মান ব্যবহার করা যায়। - Efficient Execution: একাধিক
if-elseস্টেটমেন্টের পরিবর্তেswitchব্যবহার করে কোড কম্প্যাক্ট এবং দ্রুত করা যায়।
Switch Case এর এই ব্যবহার Apex প্রোগ্রামিং-এ লজিক্যাল অপারেশন সহজ এবং কার্যকরী করে। এর মাধ্যমে একাধিক শর্ত একই ভেরিয়েবলের মান অনুযায়ী সহজেই পরিচালনা করা যায়।
লুপ স্ট্রাকচার Apex-এ নির্দিষ্ট একটি কোড ব্লক বারবার চালানোর জন্য ব্যবহৃত হয়। লুপ ব্যবহার করে পুনরাবৃত্তিমূলক কাজ সহজে সম্পন্ন করা যায়। Apex-এ তিনটি সাধারণ লুপ রয়েছে: for, while, এবং do-while।
১. for লুপ
for লুপ ব্যবহার করে নির্দিষ্ট সংখ্যক বার কোড ব্লক চালানো হয়। এটি সাধারণত সংখ্যা নির্ধারণ করে দেওয়া হয় বা সংগ্রহের উপর ভিত্তি করে চালানো হয়। Apex-এ for লুপ দুটি ধরণের হতে পারে:
i) Traditional for লুপ
এই লুপ ব্যবহার করে একটি নির্দিষ্ট সংখ্যা পর্যন্ত লুপ চালানো হয়।
Syntax:
for (initialization; condition; increment) {
// কোড ব্লক যা বারবার চালানো হবে
}
উদাহরণ:
for (Integer i = 0; i < 5; i++) {
System.debug('Iteration: ' + i);
}
এই উদাহরণে, i ০ থেকে শুরু করে ৫ এর কম পর্যন্ত চলবে এবং প্রতিবার ১ করে বৃদ্ধি পাবে। লুপটি ৫ বার চলবে এবং Iteration: 0, Iteration: 1 এভাবে আউটপুট দেখাবে।
ii) Enhanced for লুপ (for-each লুপ)
Enhanced for লুপ সাধারণত সংগ্রহের (যেমন List, Set) উপর চালানো হয় এবং প্রতিটি উপাদানের জন্য লুপ চালায়।
Syntax:
for (DataType element : collection) {
// কোড ব্লক যা প্রতিটি উপাদানের জন্য চালানো হবে
}
উদাহরণ:
List<String> names = new List<String>{'John', 'Jane', 'Alice'};
for (String name : names) {
System.debug('Name: ' + name);
}
এই উদাহরণে, লুপটি names লিস্টের প্রতিটি উপাদানের জন্য চলবে এবং Name: John, Name: Jane, Name: Alice আউটপুট দেখাবে।
২. while লুপ
while লুপ একটি শর্ত সত্য (true) থাকা পর্যন্ত কোড ব্লক চালায়। শর্ত মিথ্যা (false) হলে লুপ বন্ধ হয়ে যায়।
Syntax:
while (condition) {
// কোড ব্লক যা শর্ত true থাকা পর্যন্ত চালানো হবে
}
উদাহরণ:
Integer count = 0;
while (count < 3) {
System.debug('Count: ' + count);
count++;
}
এই উদাহরণে, count ৩ এর কম থাকা পর্যন্ত লুপ চলবে এবং প্রতি বার count এর মান ১ করে বৃদ্ধি পাবে। আউটপুট হবে Count: 0, Count: 1, Count: 2।
৩. do-while লুপ
do-while লুপ কমপক্ষে একবার কোড ব্লক চালায়, তারপর শর্ত পরীক্ষা করে। অর্থাৎ, শর্ত মিথ্যা হলেও লুপ একবার চালানো হয়।
Syntax:
do {
// কোড ব্লক যা একবার চালানো হবে এবং তারপর শর্ত চেক করা হবে
} while (condition);
উদাহরণ:
Integer count = 0;
do {
System.debug('Count: ' + count);
count++;
} while (count < 3);
এই উদাহরণে, প্রথমে count এর মান 0 অবস্থায় কোড ব্লক চালাবে এবং তারপর শর্ত চেক করবে। count ৩ এর কম থাকা পর্যন্ত লুপ চলবে, এবং আউটপুট হবে Count: 0, Count: 1, Count: 2।
সংক্ষেপে লুপ স্ট্রাকচার
- for লুপ: নির্দিষ্ট সংখ্যা বা সংগ্রহের উপর ভিত্তি করে লুপ চালানো হয়।
- while লুপ: শর্ত
trueথাকা পর্যন্ত লুপ চালানো হয়। - do-while লুপ: একবার কোড চালায়, তারপর শর্ত চেক করে এবং
trueথাকলে পুনরায় চালায়।
এই লুপগুলো ব্যবহার করে Apex-এ পুনরাবৃত্তিমূলক কাজ সহজে সম্পন্ন করা যায়।
Read more