ওহে! আজ আমরা একটি অত্যন্ত গুরুত্বপূর্ণ বিষয় বিবেচনা করব, যথা, জাভাতে সংখ্যাসূচক অপারেটর ।
প্রোগ্রামিং, সংখ্যা সর্বত্র আছে. আপনি যদি গভীরভাবে খনন করেন এবং উচ্চ বিদ্যালয়ের কথা মনে রাখেন, আপনি মনে করতে পারেন যে একটি কম্পিউটার একটি সংখ্যাসূচক বিন্যাসে সমস্ত তথ্য উপস্থাপন করে: শূন্য এবং একের সমন্বয়, যা বাইনারি কোড নামেও পরিচিত।
প্রোগ্রামিং-এ প্রচুর সংখ্যাসূচক অপারেটর রয়েছে, তাই আমরা তাদের মধ্যে সবচেয়ে গুরুত্বপূর্ণ অন্বেষণ করার জন্য উদাহরণ ব্যবহার করব :) আসুন সবচেয়ে সহজ দিয়ে শুরু করা যাক: গাণিতিক অপারেটর । এগুলি হল সুপরিচিত যোগ (
+
), বিয়োগ ( -
), গুণ ( *
), এবং ভাগ ( /
) অপারেটর।
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y);
System.out.println(x/y);
}
}
কনসোল আউটপুট: 1032 966 32967 30 আপনি ইতিমধ্যে এই সমস্ত ব্যবহার করেছেন। এই গ্রুপে, আপনি অবশিষ্ট বা মডিউল ( %
) অপারেটরে যোগ করতে পারেন।
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 33%2;
System.out.println(y);
}
}
কনসোল আউটপুট: 1 এই উদাহরণে, আমরা 33 কে 2 দ্বারা ভাগ করি। এটি একটি অতিরিক্ত "টেইল" (এক) সহ 16 দেয় যা 2 দ্বারা বিভাজ্য নয়। এই "টেইল" হল "বিভাগ থেকে অবশিষ্ট" অপারেশনের ফলাফল। জাভা তুলনা/রিলেশনাল অপারেটরও প্রয়োগ করে (ঠিক গণিতের মতো)। তারা সম্ভবত স্কুল থেকেই আপনার পরিচিত:
- সমান (
==
) - (
>
) এর চেয়ে বড় - কম (
<
) >=
( ) এর চেয়ে বড় বা সমান<=
( ) এর চেয়ে কম বা সমান- সমান নয় (
!=
)
==
, নয় =
। জাভাতে, একটি একক =
হল অ্যাসাইনমেন্ট অপারেটর, যেটি ব্যবহার করা হয় যখন একটি ভেরিয়েবলকে একটি সংখ্যা, স্ট্রিং বা অন্য ভেরিয়েবলের মান নির্ধারণ করা হয়।
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x=y);// We expect false to be displayed
}
}
কনসোল আউটপুট: 999 ওহো! এটি স্পষ্টতই আমরা প্রত্যাশিত ফলাফল নয়। এটি একটি সম্পূর্ণ ভিন্ন ডেটা টাইপ: আমরা একটি বুলিয়ান দেখতে আশা করেছিলাম , কিন্তু আমরা একটি নম্বর পেয়েছি। সব কারণ আমরা একটি তুলনার পরিবর্তে বন্ধনীতে একটি অ্যাসাইনমেন্ট অপারেটর ব্যবহার করেছি । (999) এর মান ভেরিয়েবলের জন্য বরাদ্দ করা হয়েছিল এবং তারপরে আমরা এর মান প্রদর্শন করেছি । এটি করার সঠিক উপায় এখানে: x=y
y
x
x
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x==y);
}
}
কনসোল আউটপুট: মিথ্যা এখন আমরা দুটি সংখ্যা সঠিকভাবে তুলনা করেছি! :) এখানে অ্যাসাইনমেন্ট অপারেটরের আরেকটি বৈশিষ্ট্য ( =
): এটি একসাথে "শৃঙ্খল" হতে পারে:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
int z = 256;
x = y = z;
System.out.println(x);
}
}
কনসোল আউটপুট: 256 মনে রাখবেন অ্যাসাইনমেন্ট ডান থেকে বামে হয় । এই অভিব্যক্তি ( x = y = z
) ধাপে কার্যকর করা হবে:
y = z
, এটাই,y = 256
x = y
, এটাই,x = 256
ইউনারি অপারেটর।
তাদের "ইউনো" শব্দ থেকে "ইউনারী" বলা হয় , যার অর্থ " এক "। তারা এই নামটি পেয়েছে কারণ, পূর্ববর্তী অপারেটরগুলির থেকে ভিন্ন, তারা একটি একক সংখ্যায় কাজ করে, একাধিক নয়। এর মধ্যে রয়েছে:-
ইউনারি মাইনাস। এটি নম্বরের চিহ্নটি ফ্লিপ করে।
public class Main {
public static void main(String[] args) {
int x = 999;
// Change the sign for the first time
x = -x;
System.out.println(x);
// Change the sign for the second time
x= -x;
System.out.println(x);
}
}
কনসোল আউটপুট: -999 999 আমরা ইউনারি মাইনাস অপারেটর দুইবার ব্যবহার করেছি। ফলে আমাদের সংখ্যা প্রথমে নেগেটিভ ছিল, তারপর আবার পজিটিভ হয়ে গেল!
- বৃদ্ধি (++) এবং হ্রাস (--)
++
একটি সংখ্যা এক দ্বারা বৃদ্ধি করে, এবং --
অপারেটর একই পরিমাণ দ্বারা একটি সংখ্যা হ্রাস করে।
public class Main {
public static void main(String[] args) {
int x = 999;
x++;
System.out.println(x);
x--;
System.out.println(x);
}
}
কনসোল আউটপুট: 1000 999 আপনি যদি C++ ভাষা শুনে থাকেন তবে এই স্বরলিপিটি আপনার কাছে পরিচিত হতে পারে। এর নির্মাতারা এই আকর্ষণীয় নামটি এই ধারণাটি বোঝাতে ব্যবহার করেছেন যে "C++ হল C ভাষার একটি এক্সটেনশন" নোটপ্যাডের একটি জনপ্রিয় উন্নত সংস্করণকে বলা হয় Notepad++ এখানে একটি গুরুত্বপূর্ণ বিষয়। দুই ধরনের ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর রয়েছে: পোস্টফিক্স এবং প্রিফিক্স । x++
- পোস্টফিক্স ++x
- উপসর্গ নম্বরের আগে বা পরে প্লাস/বিয়োগ দেওয়ার মধ্যে মৌলিক পার্থক্য কী? আমরা নিম্নলিখিত উদাহরণে দেখতে পাব:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
}
}
কনসোল আউটপুট: 999 কিছু ঠিক নেই! আমরা 1 দ্বারা বৃদ্ধি করতে চেয়েছিলাম x
এবং y ভেরিয়েবলে নতুন মান নির্ধারণ করতে চেয়েছিলাম। অন্য কথায়, y 1000 হওয়া উচিত। কিন্তু এর পরিবর্তে আমরা অন্য কিছু পাই: 999। মনে হচ্ছে x বাড়ানো হয়নি এবং ইনক্রিমেন্ট অপারেটর কাজ করেনি? কিন্তু এটা কাজ করেছে. নিজেকে সন্তুষ্ট করতে, x
শেষে প্রদর্শন করার চেষ্টা করুন :)
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
System.out.println(x);
}
}
কনসোল আউটপুট: 999 1000 আসলে, ঠিক এই কারণেই এই অপারেশনটিকে পোস্টফিক্স বলা হয়: এটি প্রধান অভিব্যক্তির পরে সঞ্চালিত হয়। এর মানে হল, আমাদের ক্ষেত্রে: int y = x++;
y = x
প্রথমে সঞ্চালিত হয় (এবং ভেরিয়েবলটি y
মানের সূচনা করা হবে x
), এবং শুধুমাত্র তখনই x++
কার্যকর করা হবে যদি এটি আমরা চাই এমন আচরণ না হয়? তারপর আমাদের উপসর্গ স্বরলিপি ব্যবহার করতে হবে :
public class Main {
public static void main(String[] args) {
int x = 999;
int y = ++x;
System.out.println(y);
}
}
এই ক্ষেত্রে, ++x
প্রথমে প্রক্রিয়া করা হয় এবং শুধুমাত্র পরে হয় y = x
; নিষ্পন্ন. একটি বাস্তব প্রোগ্রামে ভুল করা এড়াতে আপনার এখনই মেমরিতে এই পার্থক্যটি করা উচিত যেখানে পোস্টফিক্সের পরিবর্তে উপসর্গ ব্যবহার করলে সবকিছু উল্টে যেতে পারে :)
যৌগ অপারেটর
উপরন্তু, জাভা তথাকথিত যৌগ অপারেটর আছে. তারা দুটি অপারেটরকে একত্রিত করে:- অ্যাসাইনমেন্ট
- পাটিগণিত অপারেটর
+=
-=
*=
/=
%=
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
x += y;
System.out.println(x);
}
}
কনসোল আউটপুট: 1032 x += y
মানে x = x + y
। সংক্ষিপ্ততার জন্য দুটি প্রতীক পরপর ব্যবহার করা হয়। সংমিশ্রণ -=
, *=
, /=
এবং %=
একইভাবে কাজ করে।
লজিক্যাল অপারেটর
সাংখ্যিক অপারেটর ছাড়াও, জাভাতে বুলিয়ান মান ( সত্য এবং মিথ্যা ) জড়িত অপারেশন রয়েছে। এই অপারেশনগুলি লজিক্যাল অপারেটর ব্যবহার করে সঞ্চালিত হয়!
- যৌক্তিক নয় । এটি একটি বুলিয়ানের মানকে ফ্লিপ করে
public class Main {
public static void main(String[] args) {
boolean x = true;
System.out.println(!x);
}
}
কনসোল আউটপুট: মিথ্যা
&&
- যৌক্তিক এবং । উভয় অপারেন্ড সত্য হলেই এটি সত্য হয় ।
public class Main {
public static void main(String[] args) {
System.out.println(100 > 10 && 100 > 200);
System.out.println(100 > 50 && 100 >= 100);
}
}
কনসোল আউটপুট: মিথ্যা সত্য প্রথম অপারেশনের ফলাফল মিথ্যা, কারণ অপারেন্ডগুলির একটি মিথ্যা, যথা 100 > 200
। সত্যে ফিরে আসার জন্য, &&
অপারেটরের উভয় অপারেন্ড সত্য হওয়া প্রয়োজন (যেমনটি দ্বিতীয় লাইনের ক্ষেত্রে)।
||
- যৌক্তিক বা এটি সত্য ফেরত দেয় যখন অন্তত একটি অপারেন্ড সত্য হয়।
public class Main {
public static void main(String[] args) {
System.out.println(100 > 10 || 100 > 200);
}
}
কনসোল আউটপুট: true অভিব্যক্তিটি 100 > 200
এখনও মিথ্যা, কিন্তু OR অপারেটরের জন্য এটি সম্পূর্ণরূপে যথেষ্ট যে প্রথম অংশ ( 100 > 10
) সত্য।
GO TO FULL VERSION