- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-১] :: java কি? আসুন জানি জাভার ইতিহাস
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-২] :: জাভাতে এমন কি আছে যে জন্য আপনি জাভা কে পছন্দ করবেন?
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৩] :: আসুন শিখি hello java প্রোগ্রাম আর মেইন মেথড ডিক্লেয়ারের কিছু নিয়ম
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৪] :: জেনে নিই জাভা প্রোগ্রাম কম্পাইল এবং রান করার সময় আসলে ভিতরে কি ঘটে আর সাথে প্যাথ সিলেকশনও
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৫] :: jre, jdk এবং jvm কি? এবং jvm এর বিস্তারিত বর্ণনা
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৬] :: চলুন জেনে নিই জাভার ভেরিয়েবল এবং ডাটা টাইপ যা না জানলেই নয়
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৭] :: দেখে নিন জাভার অপারেটরগুলি আর আসুন করি প্রোগ্রামিং
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৮] :: আসুন জেনে নিই if, if else, if-else-if ladder এবং switch সম্পর্কে বিস্তারিত
- আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৯] :: জাভাতে কিভাবে ব্যবহার করবেন while loop এবং Do while loop
আস সালামু আলাইকুম, আশা করি সবাই ভাল আছেন। আলহামদুলিল্লাহ, আমিও আপনাদের দোয়ায় ভালই আছি। আজকে আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৬] :: চলুন জেনে নিই জাভার ভেরিয়েবল এবং ডাটা টাইপ যা না জানলেই নয়। জাভার ৬নম্বর টিউনে নিয়ে এসেছি এমন এক বিষয় যেটা না জানলে আপনি শান্তি মত জাভা প্রোগ্রামিং ই করতে পারবেন না। মানে পুড়ে পুড়ে খাবে আপনাকে প্রতি মূহুর্তে বার বার আপনাকে বই ঘাটতে হবে ই ডাটা টাইপ এর জন্য। আর ভেরিয়েবল না বুঝলে তো আপনি প্রোগ্রামিং এর জন্য যোগ্যই হতে পারবেন না। তাই যেহেতু আমরা পরিপূর্ণ জাভা শিখতে চেয়েছি তাদের অবশ্যই জাভার ভেরিয়েবল এবং ডাটা টাইপ সম্পর্কেও ধারণা দিতে চাচ্ছি। কারণ ডাটা টাইপে এবং ভেরিয়েবলে কিছুটা পরিবর্তন আছে জাভায়। তাই যারা সি/সি++ পড়ে এসেছেন এতে তারাও উপকৃত হতে পারবেন। আমি জানি অনেকেই হয়ত সি/সি++ না পড়েই জাভা প্রোগ্রামিং এ এসেছেন। আপনি যে পারবেন না তা কিন্তু নয়। তবে আমি সাজেস্ট করবো আপনি সি/সি++ শিখে তারপর জাভা শিখতে আসুন। কারণ নাহলে আপনার অনেক কষ্ট হবে জাভা শিখতে। এরপর আর আমার কিছু বলার থাকে না তাই না??
ভেরিয়েবল আসলে কি? এটা কি আসলেই কোনো পাত্র?
ভেরিয়েবল তো ভেরিয়েবলই । ভেরিয়েবল শব্দের অর্থ পরিবর্তনশীল। ভেরিয়েবল এর ভেলু আসলে পরিবর্তনশীল। আমি মনে করি ভেরিয়েবল আসলে কোনো পাত্র না। তবে ভেরিয়েবল পাত্রের মতই আচরণ করে। যেমন, আপনি আজকে যেই পাত্র তেতুল রেখেছেন হয়ত আগামীকাল সেখানে মিষ্টিও রাখতে পারেন তাই না? সেটা আপনার ব্যাক্তি গত ব্যাপার তেমনি আপনি একটি ভেরিয়েবল A তে কখনও ৫ কখনও ১০ কখনো বা ১০০ এরকম আপনার যা ইচ্ছা তাই রাখতে পারবেন শুধু নির্দিষ্ট কিছু নিয়ম মেনে। তাহলে ভেরিয়েবল আসলে কি? ভেরিয়েবল হচ্ছে আপনার মাথা আর আমার মন্ডু । হা হা হা… ভাবছেন আমি রেগে গিয়েছি? আরে না। আমার রাগ এত সস্তা না।
ভেরিয়েবল আসলে প্রকৃত পক্ষে মেমরি লোকেশনের একটা নাম। ধরেন আপনার আপনি একটি ভেরিয়েবল এর নাম দিলেন data. সেটা অটোমেটিক্যালি একটা লোকেশন নিয়ে নিবে। ধরুন লোকেশন নাম্বার ১০
নিল। এখানে শুধু মাত্র লোকেশনের পরিবর্তে একটা নাম ব্যবহার করা হয়েছে আর কিছু নয়। এখন আপনি এই ভেরিয়েবলে যা খুশি রাখতে পারেন ডাটা টাইপ বলে দিয়ে। যেমন, একটা ফসলের ক্ষেতে কখনো বেগুন, কখনো আলু, কখনো পটল আবার কখনো বা ধান চাষ করা যায়। মানে একই লোকেশনে বিভিন্ন ফসল। ঠিক তেমনি ভাবে আপনি একই লোকশনে যখন যে ধরণের ইচ্ছা ডাটা নিয়ে কাজ করতে পারবেন।
int data=50;//এখানে data হচ্ছে variable
তো চলুন জেনে নিই জাভাতে ভেরিয়েবল কত প্রকার?
জাভাতে ভেরিয়েবল হচ্ছে তিন প্রকার। এগুলো হলঃ
- লোকাল ভেরিয়েবল
- ইনস্ট্যান্স ভেরিয়েবল
- স্ট্যাটিক ভেরিয়েবল
-
- লোকাল ভেরিয়েবলঃ মেথোডের ভিতরে যেই ভেরিয়েবল ডিক্লেয়ার করা হয় তাকে লোকাল ভেরিয়েবল বলা হয়।
- ইনস্ট্যান্স ভেরিয়েবলঃ যে ভেরিয়েবল ক্লাসের মধ্যে ডিক্লেয়ার করা হয়, কিন্তু মেথোডের বাইরে থাকে তাকে ইনস্ট্যান্স ভেরিয়েবল বলা হয়। আর এটা স্ট্যাটিক এর মত করে ডিক্লেয়ার করা হয় না।
- স্ট্যাটিক ভেরিয়েবলঃ যে ভেরিয়েবলকে স্ট্যাটিক হিসেবে ডিক্লেয়ার করা হয়। এটা উদাহারণ দিলেই বুঝতে পারবেন। সেটা একটু পরই হয়ত বুঝতে পারবেন।
class A{
int data=50;//instance variable
static int m=100;//static variable
void method(){
int n=90;//local variable
}
}//end of class
আশা করি বুঝতে পেরেছেন।
এবার চলুন জেনে নিই জাভাতে ডাটা টাইপ কত প্রকার?
আগে জানা দরকার ডাটা টাইপ আসলে কি? ডাটা টাইপ বলতে বুঝায় ডাটার ধরন। আসলে আমরা কি ধরণের ডাটা নিয়ে কাজ করবো তা ভেরিয়েবল ডিক্লেয়ার করার সময় কম্পিউটারকে বলে দিতে হবে। আসলে কম্পিউটারকে একটা বাচ্চার সাথে তুলনা করা যেতে পারে। কারণ একটা বাচ্চাকে ছোট থেকে ঠিক যা কিছু শেখানো হয় সে কিন্তু ঠিক তাই শিখে । তেমনি আপনি বা প্রোগ্রামার কম্পিউটার কে ঠিক যা শিখাবেন কম্পিউটার তাই শিখবে। আর পরে সেই অনুযায়ীই কাজ করবে। তো কম্পিউটারকে শেখানোর জন্য যেহেতু ডাটা টাইপও লাগবে তাহলে চলুন জেনে নি জাভায় ডাটা টাইপ কত প্রকার ও কি কি?
জাভায় ডাটা টাইপ মূলত দুই প্রকার ।যথা
- প্রিমিটিভ ডাটা টাইপ
- নন প্রিমিটিভ ডাটা টাইপ
এই ডাটা টাইপগুলোকে আবার বেশ কিছু ভাগে ভাগ করা হয়েছে। টাইপ করতে আর ভাল লাগতেছে না তাই নিচের ছবি থেকে দেখে নিন। আর মুখাস্ত, ঠুটস্থ আর পেটস্থ করে ফেলুন এখনই। সাথে ডাটা টাইপের সাইজগুলোও মুখাস্ত করে নিন।
জেনে নিন জাভার ডাটা টাইগুলোর ডিফল্ট ভেলু আর সাইজঃ
Data Type | Default Value | Default size |
---|---|---|
boolean | false | 1 bit |
char | ‘\u0000’ | 2 byte |
byte | 0 | 1 byte |
short | 0 | 2 byte |
int | 0 | 4 byte |
long | 0L | 8 byte |
float | 0.0f | 4 byte |
double | 0.0d | 8 byte |
char ডাটা হঠাত করে জাভায় ২বাইট হয়ে গেল কেন? এরকম প্রশ্ন অনেকের থাকতে পারে। সেটা সময় পেলে আগামী টিউনে আলোচনা করবো।
Java ভেরিয়েবল এর উদাহারণ : দুইটি নাম্বার যোগ করার প্রোগ্রাম
class Sum{
public static void main(String[] args){
int x=20;
int y=10;
int z=x+y;
System.out.println(z);
}}
আউটপুটঃ30
না বুঝলে কোড পরে বুঝাবো। আজ শুধু দেখে রাখুন। আর যারা সি/সি++ করেছেন আশা করি তারা বুঝতে পেরেছেন।
java ভেরিয়েবল এর উদাহারণঃ ডাটাকে সংকীর্ন বা ফ্লট টাইপ ডাটাকে ইন্টিজারে রুপান্তর(টাইপকাস্টিং)
class Typecasting{
public static void main(String[] args){
float f=20.5f;
//int x=f;//Compile time error
int x=(int)f;
System.out.println(f);
System.out.println(x);
}}
Output:
10.5
10
জাভা ভেরিয়েবল এর উদাহারণঃ ছোট সংখ্যা যোগ
class Addlow{
public static void main(String[] args){
byte x=10;
byte y=10;
//byte z=a+b;//Compile Time Error: because x+y=20 will be int
byte z=(byte)(x+y);
System.out.println(z);
}}
আজকে অনেক হয়েছে। বেশি কোডিং করলে আবার অনেকের মাথা নষ্ট হয়ে যেতে পারে। তাই এখনই এত বেশি একদিনে লোড দিতে চাচ্ছি না। যেটুকু আলোচনা হচ্ছে সেটুকু মনোযোগ দিয়ে অনুসরণ করুন। আমরা শীগ্রই প্রোগ্রামিং এ চলে যাবো।
তো আজকের মত বিদায়। ভাল থাকুন সুস্থ থাকুন, প্রযুক্তিকে ভালবাসুন আর প্রযুক্তির সাথেই থাকুন।
আল্লাহ হাফিজ।
lipitor generic atorvastatin price lipitor 20mg canada
brand lipitor buy atorvastatin 20mg order atorvastatin generic
ciprofloxacin without prescription – purchase myambutol buy clavulanate pill
order cipro 500mg pills – buy septra for sale order augmentin generic
zidovudine 300 mg ca – buy generic roxithromycin for sale order allopurinol 100mg
buy zidovudine 300 mg for sale – order rulide for sale order zyloprim 100mg pill
buy clozapine 100mg for sale – tritace buy online famotidine 20mg tablet
clozapine usa – order coversyl without prescription pepcid 20mg cheap
buy cheap seroquel – buy generic ziprasidone buy cheap generic eskalith
cheap clomipramine – order paxil 10mg generic buy sinequan without a prescription
oral seroquel 100mg – cost zoloft buy cheap eskalith
anafranil 50mg for sale – buy anafranil 25mg online cheap doxepin
cost hydroxyzine 25mg – hydroxyzine over the counter order endep pills
order hydroxyzine for sale – pamelor 25 mg generic order endep 25mg without prescription
order augmentin 625mg generic – sulfamethoxazole ca cipro 1000mg uk
clavulanate canada – augmentin 625mg ca cipro pill
buy amoxil pill – buy generic amoxicillin baycip tablet
amoxicillin drug – order cefuroxime sale ciprofloxacin generic
zithromax 250mg pills – buy floxin 400mg without prescription buy ciprofloxacin 500mg pills
buy zithromax 250mg generic – order tetracycline 250mg sale ciplox oral
clindamycin pill – terramycin 250 mg capsules chloromycetin for sale
cleocin 300mg canada – chloramphenicol us cheap chloromycetin generic
ivermectin 6mg over the counter – order generic cefaclor 250mg cost cefaclor 250mg
stromectol buy – cefaclor 250mg us cefaclor 250mg without prescription