Java তে Operator হল program -এ বিভিন্ন mathametical, logical এবং comparison কাজ করার উপায়। উদাহরণস্বরূপ, +, -, *, / এগুলি mathametical operator. String হলো text বা অক্ষরগুলির একটি sequence. String কে সংযোজন (concatenate) করার জন্য “+” operator ব্যবহার করা হয়।
Table of Contents
Operators in Java
Java তে Operator হলো একটি বিশেষ symbol বা চিহ্ন যা একটি বা একাধিক মানের উপর ক্রিয়াকলাপ (operation) পরিচালনা করে এবং একটি ফলাফল দেয় । উদাহরণস্বরূপ, mathametical operator (+, -, *, /) সংখ্যা যোগ, বিয়োগ, গুণ, ভাগ করার জন্য ব্যবহৃত হয়। জাভায় বিভিন্ন ধরনের operator রয়েছে, যেমন:
- Arithmetic Operators
- Assignment Operators
- Comparison Operators
- Logical Operators
- Bitwise Operators
Arithmetic Operator
Java তে Arithmetic Operators ব্যবহার করা হয় mathametical কাজ করার জন্য। এগুলি সাধারণত number এর উপর কাজ করে। Java তে প্রধান mathametical operator গুলি হল:
+ (যোগ): দুই সংখ্যা যোগ করতে ব্যবহার করা হয়।
উদাহরণ: a + b
public class main{
public static void main (String [] args){
int a = 10, b = 2;
System.out.println(a + b);
}
}
JavaOutput:
12
– (বিয়োগ): একটি সংখ্যা থেকে আরেকটি সংখ্যা বিয়োগ করতে।
উদাহরণ: a - b
public class main{
public static void main (String [] args){
int a = 10, b = 2;
System.out.println(a - b);
}
}
JavaOutput:
8
* (গুণ): দুটি সংখ্যার গুণফল বের করতে।
উদাহরণ: a * b
public class main{
public static void main (String [] args){
int a = 5, b = 2;
System.out.println(a * b);
}
}
JavaOutput:
10
/ (ভাগ): একটি সংখ্যা আরেকটি সংখ্যা দিয়ে ভাগ করতে।
উদাহরণ: a / b
(এতে পূর্ণ সংখ্যা ভাগফল পাওয়া যায়)
public class main{
public static void main (String [] args){
int a = 20, b = 5;
System.out.println(a / b);
}
}
JavaOutput:
4
% (মডুলাস): ভাগশেষ বের করার জন্য ব্যবহার করা হয়।
উদাহরণ: a
% b (ভাগ করার পর অবশিষ্টাংশটি দেয়)
public class main{
public static void main (String [] args){
int a = 10, b = 4;
System.out.println(a % b);
}
}
JavaOutput:
2
++ (Increment): এর কাজ হলো ১ করে value বাড়ানো।
উদাহরণ: a
++
public class main{
public static void main (String [] args){
int a = 10;
System.out.println(a++);
}
}
JavaOutput:
11
— (Decrement): এর কাজ হলো ১ করে value কমানো।
উদাহরণ: a
—
public class main{
public static void main (String [] args){
int a = 5;
System.out.println(a--);
}
}
JavaOutput:
4
Assignment Operator
প্রাথমিক assignment operator হল =
। এটি বামপাশের variable এ ডানপাশের expression বা মান assign করে।
int num;
num = 10; // এখানে, 10 মানটি num ভেরিয়েবলে অ্যাসাইন করা হয়েছে
JavaCompound Assignment Operators:
এছাড়াও java তে বেশ কিছু compound assignment operators রয়েছে, যেগুলো mathametical কাজের সাথে assignment কে একত্রিত করে। যেমন:
+=
(যোগ ও Assign )
num += 5; // num = num + 5;
Java-=
(বিয়োগ ও Assign )
num -= 3; // num = num - 3;
Java*=
(গুণ ও Assign )
num *= 2; // num = num * 2;
Java/=
(ভাগ ও Assign )
num /= 4; // num = num / 4;
Java%=
(মডুলাস ও Assign )
num %= 6; // num = num % 6;
JavaComparison Operator
Java-এ Comparison Operator হলো কিছু symbol বা প্রতীক যা দুটি ভিন্ন value র মধ্যে তুলনা করে এবং একটি Boolean result প্রদান করে। এই Operator গুলো সাধারণত Condition পরীক্ষা করার জন্য ব্যবহৃত হয়, যেখানে result হয় true বা false.
নিচে সাধারণ কিছু Comparison Operator এবং তাদের meaning দেওয়া হলো:
Operator | Meaning | Example |
== | Equal | a == b |
!= | Not Equal | a != b |
> | Greater | a > b |
< | Lesser | a < b |
>= | Greater Equal | a >= b |
<= | Lesser Equal | a <= b |
উদাহরণ:
public class ComparisonExample {
public static void main(String[] args) {
int a = 10;
int b = 20;
// সমান কিনা
System.out.println(a == b); // false
// সমান নয় কিনা
System.out.println(a != b); // true
// বড় কিনা
System.out.println(a > b); // false
// ছোট কিনা
System.out.println(a < b); // true
// বড় বা সমান কিনা
System.out.println(a >= b); // false
// ছোট বা সমান কিনা
System.out.println(a <= b); // true
}
}
JavaLogical Operator
Java-এ Logical Operator ব্যবহার করা হয় এক বা একাধিক condition বা boolean expression কে যুক্ত করে তাদের উপর operation চালানোর জন্য। Logical Operator গুলো সাধারণত conditional statement (যেমন: if
, while
) এ ব্যবহৃত হয় এবং result হিসেবে true বা false প্রদান করে।
AND (&&
) Operator :
যদি উভয় condition true হয়, তবে result true হবে, নতুবা false।
- উদাহরণ:
a && b
। এখানে যদিa = true
এবংb = true
হয়, তবে result হবে true, অন্যথায় false।
OR (||
) Operator :
যদি কোনো একটি condition true হয়, তবে result true হবে।
- উদাহরণ:
a || b
। যদিa = true
বাb = true
হয়, তবে result হবে true।
NOT (!
) Operator :
Condition র বিপরীত value প্রদান করে। যদি condition true হয়, তবে এটি false প্রদান করবে এবং যদি false হয়, তবে এটি true প্রদান করবে।
- উদাহরণ:
!a
। যদিa = true
হয়, তবে এটি false প্রদান করবে।
সংক্ষেপে:
&&
: “এবং”, উভয় condition true হতে হবে।||
: “অথবা”, কোনো একটি condition true হলে যথেষ্ট।!
: “নয়”, condition র বিপরীত মান প্রদান করে।
public class LogicalExample {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
// AND অপারেটর (&&): উভয় শর্ত true হতে হবে
System.out.println(a && b); // false
// OR অপারেটর (||): একটি শর্ত true হলেই true
System.out.println(a || b); // true
// NOT অপারেটর (!): মানের বিপরীত মান প্রদান করে
System.out.println(!a); // false
System.out.println(!b); // true
}
}
JavaBitwise Operator
Java-এ Bitwise Operator ব্যবহার করা হয় bit-level অপারেশন করার জন্য। অর্থাৎ, সংখ্যার binary রূপ নিয়ে কাজ করা হয়। এই operator গুলো সাধারণত পূর্ণসংখ্যার (integer) উপর প্রয়োগ করা হয় এবং binary bit গুলোর উপর নির্দিষ্ট কাজ করে।
আরো জানুন : Java Documentation
নিচে Java-র কিছু গুরুত্বপূর্ণ Bitwise Operator এবং তাদের কাজের বিবরণ দেওয়া হলো:
Bitwise AND (&
):
উভয় bit 1 হলে result 1 হয়, নতুবা 0।
int a = 5; // 0101
int b = 3; // 0011
int result = a & b; // 0001 = 1
JavaBitwise OR (|
):
যদি কোনো একটি bit 1 হয়, তবে result 1 হবে।
int a = 5; // 0101
int b = 3; // 0011
int result = a | b; // 0111 = 7
JavaBitwise XOR (^
):
যদি bit গুলো ভিন্ন হয় (একটি 1 এবং অন্যটি 0), তবে result 1 হবে।
int a = 5; // 0101
int b = 3; // 0011
int result = a ^ b; // 0110 = 6
JavaBitwise NOT (~
):
এটি প্রতিটি bit র opposite value প্রদান করে, অর্থাৎ 1 থেকে 0 এবং 0 থেকে 1।
int a = 5; // 0101
int result = ~a; // 1010 = -6 (দুইয়ের পরিপূরক ফর্মে)
JavaLeft Shift (<<
):
এই operator bit গুলিকে নির্দিষ্ট সংখ্যা অনুযায়ী বামে সরিয়ে দেয় এবং ডান পাশে শূন্য দিয়ে পূরণ করে।
int a = 5; // 0101
int result = a << 2; // 010100 = 20
JavaRight Shift (>>
):
bit গুলোকে ডান দিকে সরিয়ে দেয় এবং বাম পাশে sign bit দিয়ে পূরণ করে।
int a = 5; // 0101
int result = a >> 1; // 0010 = 2
JavaStrings in Java
Java তে, নিম্নলিখিত syntax ব্যবহার করে একটি string ঘোষণা করা যেতে পারে। নীচে একটি উদাহরণ দেওয়া হলো :
String myString = "This is a string";
Javaএখানে, String
হল data type এবং myString
হল variable, যেটি একটি string value রাখে। =
চিহ্ন দিয়ে string value টি set করা হয়েছে, যা এখানে “This is a string”।
Some String methods
Java তে, আমরা স্ট্রিংগুলি পরিচালনা করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করতে পারি, যেমন একটি স্ট্রিংয়ের length খুঁজে বের করা, এটিকে Capital-এ রূপান্তর করা এবং ছোট হাতের অক্ষরে রূপান্তর করা।
১. স্ট্রিং-এর দৈর্ঘ্য বের করা (length()
method)
String myString = "Hello";
int length = myString.length();
System.out.println("String Length: " + length);
JavaOutput:
String Length: 5
২. স্ট্রিং-কে বড় হাতের অক্ষরে রূপান্তর করা (toUpperCase()
method)
String myString = "Hello";
String upperCaseString = myString.toUpperCase();
System.out.println("Uppercase: " + upperCaseString);
JavaOutput:
Uppercase: HELLO
৩. স্ট্রিং-কে ছোট হাতের অক্ষরে রূপান্তর করা (toLowerCase()
method)
String myString = "Hello";
String lowerCaseString = myString.toLowerCase();
System.out.println("Lowercase: " + lowerCaseString);
JavaOutput:
Lowercase: hello
Finding Charecter in String
String-এ নির্দিষ্ট index -র অবস্থান খুঁজে পাওয়া (indexOf()
method)
String myString = "Please like and subscribe";
int position = myString.indexOf("and");
System.out.println("'and' position: " + position);
JavaOutput:
'and' position: 12
Concatination in String
১. +
operator ব্যবহার করে string concatination
String firstString = "Hello";
String secondString = "World";
String result = firstString + " " + secondString;
System.out.println(result);
JavaOutput:
Hello World
২. concat()
method ব্যবহার করে
String firstString = "Hello ";
String secondString = "World";
String result = firstString.concat(secondString);
System.out.println(result);
JavaOutput:
Hello World
৩. Variable -র সাথে String concatination করা
int year = 2024;
String message = "Year " + year;
System.out.println(message);
JavaOutput:
Year 2024
Special Charecter in String
১. New Line (\n
)
String newLineString = "First Line\nSecond Line";
System.out.println(newLineString);
JavaOutput:
First Line
Second Line
২.Tab Space (\t
)
String tabString = "First\tSecond";
System.out.println(tabString);
JavaOutput:
First Second
৩. Double Quotation চিহ্ন (\"
)
String quoteString = "He said, \"I love programming\"";
System.out.println(quoteString);
JavaOutput:
He said, "I love programming"
৪ . Carriage Return(\r
)
String carriageReturnString = "First Line\rSecond Line";
System.out.println(carriageReturnString);
Java\r
একটি Carriage Return তৈরি করে, যা cursor কে line -র শুরুতে নিয়ে আসে। এটি সাধারণত windows এ নতুন line(\r\n) হিসাবে ব্যবহৃত হয়।
Output:
First Line
Second Line
৪ . Backspace(\
b)
String backspaceString = "Hel\blo";
System.out.println(backspaceString );
JavaOutput:
Helo
F.A.Q
Java -য় ‘==’ এবং ‘=’ এর মধ্যে পার্থক্য কী?
=
অপারেটর একটি ভেরিয়েবলকে একটি মান বরাদ্দ করে (Assignment operator)।
উদাহরণ: int a = 5;
==
অপারেটর দুটি ভেরিয়েবলের মানের মধ্যে তুলনা করে (Relational operator)।
উদাহরণ: if (a == 5) { ... }
Ternary operator কী?
ternary operator হলো একটি সংক্ষিপ্ত শর্তযুক্ত (conditional) operator যা তিনটি অংশে গঠিত: condition, true হলে একটি মান, এবং false হলে অন্য একটি মান প্রদান করে।
String কেন অপরিবর্তনীয় (immutable)?
String immutable হওয়ার কারণ হলো এটি security , synchronization এবং performance বাড়াতে সাহায্য করে। একবার একটি String তৈরি হলে, এটি change করা যায় না, যা program -র অনেক সুবিধা প্রদান করে।
String পুল (String pool) কী?
Java-তে String pool একটি বিশেষ স্থান যেখানে String object গুলি সংরক্ষণ করা হয়। যখন একটি String literal তৈরি করা হয়, তখন JVM String pool এ তা সংরক্ষণ করে। যদি একই value -র অন্য একটি String তৈরি করা হয়, তা pool থেকে নেওয়া হয়, নতুন object তৈরি করা হয় না।
String এবং StringBuilder এর মধ্যে পার্থক্য কী?
- String: Immutable। একবার String তৈরি হলে, এর মান পরিবর্তন করা যায় না।
- StringBuilder: পরিবর্তনযোগ্য (mutable)। StringBuilder object গুলি পরিবর্তন করা যায় এবং এটি faster কারণ নতুন object তৈরি করতে হয় না।