কটলিন অপারেটর – Kotlin Operator (Bangla tutorial)

গাণিতিক, তুলনামূলক, যৌক্তিক ইত্যাদি কাজের জন্য কটলিনে কিছু অপারেটর রয়েছে।অপারেটর গুলো হলো বিশেষ কিছু চিহ্ন যা এসব কাজ করার জন্য ব্যবহার করা হয়। অপারেটর গুলো হলো:

  • Mathematical Operator – ম্যাথমিটিকাল অপারেটর
  • Relational Operator – রিলেশনাল অপারেটর
  • Assignment Operator – এ্যাসাইনমেন্ট অপারেটর
  • Unary Operator – ইউনারি অপারেটর
  • Logical Operator – লজিকাল অপারেটর
  • Bitwise Operator – বিটওয়াইজ অপারেটর

ম্যাথমিটিকাল অপারেটর:

যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি গাণিতিক কাজ করার জন্য ম্যাথমিটিকাল অপারেটর ব্যবহার করা হয়।

অপারেটরব্যবহারকাজ
+ a + ba এবং b দুটির ভ্যালু যোগ করে যোগফল বের করতে
a – ba এর ভ্যালু থেকে b এর ভ্যালু বাদ দিয়ে বিয়োগফল বের করতে
*a * ba এবং b এর ভ্যালু গুন করে গুনফল বের করতে
/a / bb এর ভ্যালু দিয়ে a এর ভ্যালুকে ভাগ করে ভাগফল বের করতে
%a % bb এর ভ্যালু দিয়ে a এর ভ্যালুকে ভাগ করে ভাগশেষ বের করতে

উদাহরণ:

var a = 10
var b = 5

println(a + b)
println(a - b)
println(a * b)
println(a / b)
println(a % b)

আউটপুট হবে:

15

5

50

2

0

উদাহরণে, প্রথমে a এবং b তে ভ্যালু এ্যাসাইন করা হয়েছে 10 এবং 5. তারপর, a এবং b যোগ করে প্রিন্ট হয়েছে 15, তারপর, a থেকে b বাদ দিয়ে প্রিন্ট হয়েছে 5, তারপর a এবং b গুন করে প্রিন্ট হয়েছে 50, তারপর a কে b দিয়ে ভাগ করে ফলাফল প্রিন্ট হয়েছে 2, তারপর a কে b দিয়ে ভাগ করে ভাগশেষ প্রিন্ট হয়েছে 0.

রিলেশনাল অপারেটর:

রিলেশনাল অপারেটর দুটি ভেরিয়েবলের মধ্যে সম্পর্ক এবং তুলনা করতে ব্যবহার করা হয়। রিলেশনাল অপারেটর গুলো নিচে দেখানো হলো:

অপারেটরব্যবহারকাজ
> a > ba এর ভ্যালু কি b এর ভ্যালুর চেয়ে বড় কিনা তা যাচাই করবে
<a < ba এর ভ্যালু কি b এর ভ্যালুর চেয়ে ছোট কিনা তা যাচাই করবে
>=a >= ba এর ভ্যালু কি b এর ভ্যালুর চেয়ে বড় অথবা সমান কিনা তা যাচাই করবে
<=a <= ba এর ভ্যালু কি b এর ভ্যালুর চেয়ে ছোট অথবা সমান কিনা তা যাচাই করবে
==a == ba এর ভ্যালু কি b এর ভ্যালুর সমান কিনা তা যাচাই করবে
!=a != ba এর ভ্যালু কি b এর ভ্যালুর অসমান কিনা তা যাচাই করবে

উদাহরণ:

val a = 10
val b = 5

println(a > b)
println(a < b)
println(a >= b)
println(a <= b)
println(a == b)
println(a != b)

আউটপুট:

True

False

True

False

False

true

উদাহরণে, a এবং b এর ভ্যালু এ্যাসাইনের পর যাচাই করা হয়েছে a কি b এর চেয়ে বড়? বড় থাকায় প্রিন্ট হয়েছে true, একইভাবে পরের গুলো যাচাই করা হয়েছে এভাবে, ছোট কিনা, বড় এবং সমান কিনা, ছোট এবং সমান কিনা, দুইটি একটি আরেকটির সমান কি না, দুইটি একটি আরেকটির অসমান কিনা। শর্ত সত্য হলে true এবং মিথ্যা হলে false প্রিন্ট হয়েছে।

এ্যাসাইনমেন্ট অপারেটর:

এ্যাসাইনমেন্ট অপারেটর “=” ব্যবহার করা হয় কোন ভেরিয়েবলের মধ্যে ভ্যালু এ্যাসাইন করার জন্য। এ্যাসাইন হয় ডান দিকের ভ্যালু বাম দিকের ভ্যারিয়েবলে।

var a = 3 এখানে, 3  a তে এ্যাসাইন হবে অর্থাৎ  a এর ভিতর 3 ভ্যালু আছে।

যোগ করে এ্যাসাইন করার জন্য += ব্যবহার করা হয়। a += 2 হলে a এর ভ্যালুর সাথে 2 যোগ হয়ে a তেই এ্যাসাইন হবে তখন a এর ভ্যালু হবে 5 । এটাকে অন্যভাবে লেখা যায় a = a + 2, দুই ক্ষেত্রেই a এর ভ্যালুর সাথে 2  যোগ হয়ে a তে এ্যাসাইন হবে।

অপারেটরব্যবহারকাজ
+= a += b b এর ভ্যালু a এর সাথে যোগ করে a তে এ্যাসাইন
-+a -= bb এর ভ্যালু a এর সাথে বিয়োগ করে a তে এ্যাসাইন
*=a *= bb এর ভ্যালু a এর সাথে গুন করে a তে এ্যাসাইন
/=a /= bb এর ভ্যালু a এর সাথে ভাগ করে a তে এ্যাসাইন
%=a %= bb এর ভ্যালু a এর সাথে ভাগফল বের করে a তে এ্যাসাইন

উদাহরণ:

var a = 10
var b = 5

a += b
println(a)
a -= b
println(a)
a *= b
println(a)
a /= b
println(a)
a %= b
println(a)

আউটপুট:

15

10

50

10

0

আউটপুট খেয়াল করলে দেখা যাবে প্রথমে a এবং b এর ভ্যালু যোগ (১০ + ৫) করে ফলাফল এসেছে ১৫ তারপর যেহেতু a এর ভ্যালু বদলে নতুন ভ্যালু ১৫ হয়েছে এরপর a এর ভ্যালু ১৫ থেকে b এর ভ্যালু ৫ বাদ দিয়ে ১০ হয়েছে। এরকম ভাবে প্রতি ক্ষেত্রেই a এর নতুন ভ্যালুর উপর পরের অপারেশনগুলো সম্পন্ন হয়েছে।

ইউনারি অপারেটর:

ইউনারি অপারেটর একটি ভেরিয়েবল নিয়ে কাজ করে। কিছু ইউনারি অপারেটর দেখানো হলো:

অপারেটরব্যবহারকাজ
++aa এর ভ্যালুকে ধনাত্মক মানে নেয়া
-aa এর ভ্যালুকে ঋণাত্মক মানে নেয়া
++++a এবং a++a এর ভ্যালুর সাথে ১ যোগ করা
–a এবং a–a এর ভ্যালু থেকে ১ বিয়োগ করা
! (Not)!aa এর ভ্যালু সত্য হলে সেটাকে মিথ্যা ও মিথ্যা হলে সত্য করা

উদাহরণ:

var a = 10
var b = 5
var abc = false

println(+a)
println(-a)
println(++a)
println(a++)
println(a)
println(--b)
println(b--)
println(b)
println(!abc)

আউটপুট:

10

-10

11

11

12

4

4

3

True

উদাহরণে প্রথমে নেয়া হয়েছে তিনটি ভেরিয়েবল a, b এবং abc যেগুলির মান যথাক্রমে 10, 5 এবং false।

এখন +a প্রিন্ট করলে মান আসবে 10 কারণ শুরুতেই এর মান ধনাত্মক ছিল। পরে -a প্রিন্ট করলে a এর মানটি ঋণাত্মক আসবে। এই দুই ক্ষেত্রেই কিন্তু a এর নিজস্ব মানের কোন পরিবর্তন হয় না, শুধু প্রিন্ট করার সময় আউটপুট পরিবর্তিত হয়ে দেখায়। 

++a এর ক্ষেত্রে a এর মানের সাথে ১ যুক্ত হয়ে তারপর প্রিন্ট হয়, এক্ষেত্রে যে লাইনে কোড লেখা হয়েছে সেই লাইনেই ১ বৃদ্ধি পায়। আর a++ এর ক্ষেত্রে যে লাইনে কোড এক্সিকিউট হয় সে লাইনটি এক্সিকিউট হবার পর ১ বৃদ্ধি পায়, সেজন্য a++ এর পরে শুধু a কে আবার প্রিন্ট করা হয়েছে যাতে বৃদ্ধি পাওয়া মান প্রিন্ট হয়।

— এর ক্ষেত্রে 1 বিয়োগ করবে। –b প্রিন্টের ক্ষেত্রে b এর মান 5 থেকে কমে 4 হয়, পরের লাইনে b– করায় তার মান আরো এক কমে 3 হয় কিন্তু তা দেখার জন্য পরের লাইনে শুধু b প্রিন্ট করা হয়েছে কারন যে লাইনে b– করা হয়েছে সেই লাইনে পরিবর্তন দেখা যাবে না।

++ এবং — এর ক্ষেত্রে a এবং b এর নিজস্ব মানের পরিবর্তন হয়।

শেষে !abc প্রিন্ট দেয়া হয়েছে যেখানে abc এর মানের বিপরীত মান প্রিন্ট হবে। যেহেতু abc এর মান ছিল false তাই প্রিন্ট হবে true. এক্ষেত্রে abc এর নিজস্ব মানের কোন পরিবর্তন হয় না।

লজিকাল অপারেটর:

লজিকাল অপারেটর দুটি ভ্যারিয়েবলের মধ্যে এবং/অথবা/না এসব শর্ত যাচাইয়ের জন্য ব্যবহার করা হয়। লজিকাল অপারেটরের তালিকা দেয়া হলো:

অপারেটরব্যবহারকাজ
&&(a > b) && (b > c)&& “এবং” বুঝায়, যখন a এর মান b এর চেয়ে বড় এবং b এর মান c এর চেয়ে বড় 
||(a > b) || (b > c)|| “অথবা” বুঝায়, যখন a এর মান b এর চেয়ে বড় অথবা b এর মান c এর চেয়ে বড় 
!!aa সত্য হলে মিথ্যা এবং a মিথ্যা হলে সত্য প্রকাশ করে

উদাহরণ:

var a = 10
var b = 5
var c = 3
var abc = false

println((a > b) && (b < c))
println((a > b) || (b < c))
println(!abc)

আউটপুট:

false

true

true

উদাহরণে, প্রথমে a এর মান b এর চেয়ে বড় এবং b এর মান c এর চেয়ে ছোট, এই দুটি শর্ত সত্য হলে true প্রিন্ট হবে, একটি শর্ত অথবা দুটি শর্তই মিথ্যা হলে false প্রিন্ট হবে।

তারপরে, a এর মান b এর চেয়ে বড় অথবা b এর মান c এর চেয়ে ছোট, যে কোন একটি শর্ত সত্য হলে true প্রিন্ট হবে, দুটি শর্তই মিথ্যা হলে false প্রিন্ট হবে।

শেষে, ! চিহ্নটি not বুঝায়, abc এর মান মিথ্যা(false) থাকলে তা মিথ্যা নয় অর্থাৎ সত্য (true) প্রিন্ট করবে আবার abc এর মান সত্য (true) থাকলে তা সত্য নয় অর্থাৎ মিথ্যা (false) প্রিন্ট করবে।

বিটওয়াইজ অপারেটর:

কটলিনে বিটওয়াইজ অপারেটর নেই, বিটওয়াইজ অপারেশনের কাজগুলো করা হয় কিছু ফাংশন ব্যবহার করে।

ফাংশনব্যবহার
shl (bits)a.shl(b)
shr (bits)a.shr(b)
ushr (bits)a.ushr(b)
and (bits)a.and(b)
or (bits)a.or(b)
xor (bits)a.xor(b)
inv()a.inv()

উদাহরণ:

var a = 10
var b = 2

println(a.shl(b))
println(a.shr(b))
println(a.ushr(b))
println(a.and(b))
println(a.or(b))
println(a.xor(b))
println(a.inv())

আউটপুট:

40

2

2

2

10

8

-11

(1) Comment

  • Bellal Hossain 18/06/2021 @ 12:26 PM

    অনেক উপকারী।

Comments are closed.

X