Fri. Nov 16th, 2018

জাভা ভেরিয়েবল , ডাটা টাইপ ও টাইপ কনভার্সন

জাভা প্রোগ্রামিং টিউটোরিয়ালের  আজকের পর্বে  আমরা দেখবো জাভাতে ভেরিয়েবল এবং ডাটা টাইপ নিয়ে কিভাবে কাজ করতে হয় । এই টিউটোরিয়ালে আমরা যে টপিকগুলু শিখবোঃ

১) ভেরিয়েবল কি ? জাভাতে কত ধরনের ভেরিয়েবল আছে ?

         ২) ভেরিয়েবল ডিক্লেয়ার করার নিয়ম

৩) ডাটা টাইপ কি ? 

৪) জাভাতে কত ধরনের ডাটা টাইপ আছে ? 

৫) জাভাতে টাইপ কনভার্সন ও কাস্টিং 

ভেরিয়েবল কি ?

সাধারণত ভেরিয়েবল বলতে চলক বুঝায় । কিন্তু প্রোগ্রামিং এর ক্ষেত্রে  ভেরিয়েবল এর  কাজ হচ্ছে কম্পিউটারের মেমোরিতে  ডাটা স্টোর করা । সেই ডাটাগুলুর টাইপ বিভিন্ন রকমের হয় যেমন  স্ট্রিং , বলিয়ান কিংবা কোন সংখ্যা । জাভাতে ভেরিয়েবল ডিক্লেয়ার করার নিয়ম হচ্ছে  ডাটা টাইপ এবং ভেরিয়েবল নামের কম্বিনেশন অর্থাৎঃ

  ১)    DATATYPE  variableName;

 ২)    DATATYPE   variableName=Value;

প্রথম উদাহারনে DATATYPE হচ্ছে ডাটা টাইপ এবং variableName হচ্ছে ভেরিয়েবল এর নাম । যদি ভেরিয়েবল এর কোন ভেলু দেয়া লাগে  তাহলে দ্বিতীয় উদাহারনে Value হল সেই ভেরিয়েবল এর ভেলু । এভাবেই সাধারণত  জাভাতে ভেরিয়েবল ডিক্লেয়ার করা হয় ।  নিচের কোডে উদাহারন দিয়ে বুঝিয়ে দেয়া হয়েছে

// integer type variable declaration 
int number;

// float type variable declaration 
float number2=10.25F;

//boolean type variable declaration
boolean isTrue=true;

//string type variable declaration
String username;//empty
String name="Asif Khan" // with value

// character type variable declaration
char letter='A';

 

জাভাতে কত ধরনের ভেরিয়েবল আছে ?

জাভাতে সাধারণত ২ ধরনের ভেরিয়েবল দেখা যায় আর তা হলঃ

১) স্ট্যাটিক ভেরিয়েবল বা ক্লাস ভেরিয়েবলঃ স্ট্যাটিক ভেরিয়েবল বা ক্লাস ভেরিয়েবল বলা হয় কারণ এইসব ভেরিয়েবলকে এক্সেস করতে হলে ক্লাসের আন্ডারে করতে হয় এবং কোন অবজেক্ট বানাতে হয় না ।

২) ইনস্ট্যান্টস ( Instance ) ভেরিয়েবলঃ  ইনস্ট্যান্টস ভেরিয়েবল বলা হয় কারণ এইসব ভেরিয়েবলকে এক্সেস করতে হলে অবজেক্ট ( Instance of Class )  বানাতে হয় এবং ওই অবজেক্টের মাদ্ধমে ভেরিয়েবলকে এক্সেস করতে হয় । নিচের কোডে উদাহারন দিয়ে বুঝিয়ে দেয়া হয়েছে

//java class
public class MyClass{
   // instance varriable
   int number=10;
   
   // static/class variable
   static int MARK=100;

   public static void main(String[] args){
      //calling instance variable.create object first then call the variable
      MyClass mc=new MyClass(); // object created
      System.out.print("Number : " + number);//output 10
      
      //calling static/class variable.don't need to create any object
      System.out.print("Mark : " + MyClass.MARK);//calling without creating object.output 100
   }
}

জাভাতে ভেরিয়েবল ডিক্লেয়ার করার নিয়মঃ

১) ভেরিয়েবল এর নাম শুধুমাত্র অ্যালফাবেটিকেল ক্যারেক্টার (A-Z a-z) , ডিজিট (0-9) এবং আন্ডারস্কোর (_) ও ডলার চিহ্ন ($)  ব্যাবহার করা যায় । তবে কোন স্পেশাল ক্যারেক্টার যেমন (!, @ , #, %, *, +, -)  ইত্যাদি ব্যাবহার করা যাবে না । যেমন my_name, my_country ইত্যাদি বৈধ কিন্তু my@name , your$age ইত্যাদি বৈধ না ।

 ২) ভেরিয়েবল এর নামের মাঝে কোন ফাকা জায়গা থাকতে পারবেনা । অর্থাৎ MyName, MyMark  ইত্যাদি  বৈধ কিন্তু My Name , My Mark ইত্যাদি   বৈধ না ।

৩)  ভেরিয়েবল এর  নাম ডিজিট কিংবা সংখ্যা দিয়ে শুরু করা যাবে না । অর্থাৎ Student_1, hobby1 ইত্যাদি বৈধ কিন্তু 1_student, 1_teacher ইত্যাদি বৈধ না ।

৪) কোন ধরনের কি ওয়ার্ড যেমন main, public, int , float, enum ইত্যাদি কে  ভেরিয়েবল হিসেবে ব্যাবহার করা যাবে না ।

৫) ভেরিয়েবল এর নাম সর্বচ্চ ২৫৫ ক্যারেক্টার পর্যন্ত হতে পারবে । তবে ২ টা ভেরিয়েবল এর নামের মদ্ধে প্রথম ৩১ ক্যারেক্টারের পার্থক্য থাকতে হবে । তাই ভেরিয়েবল এর নাম ৩১ ক্যারেক্টারের বেশী না হওয়াই ভাল ।

ডাটা টাইপ কি

ডাটা টাইপ বলতে বুঝায় কি ধরনের ডাটা নিয়ে আমরা কাজ করতে চাই । প্রোগ্রামিং করার সময় আমাদের অনেক ধরনের ডাটা নিয়ে কাজ করতে হয়  যেমন স্ট্রিং কিংবা কোন সংখ্যা । জাভাতে সাধারণত ২ ধরনের ডাটা টাইপ আছে তা হল –

১) নন – প্রিমিটিভ (Non-Primitive type) টাইপঃ  এই  ডাটা টাইপ প্রোগ্রামিং লেঙ্গুয়েজে ডিফাইন করা থাকে না বরং প্রোগ্রামারদেরকেই তৈরি করে নিতে হয় । এদেরকে অনেক সময় রেফাররেনস ভেরিয়েবল (Reference Variable ) কিংবা অবজেক্ট রেফাররেনস ও বলা হয় । যেমন MyClass mc=new MyClass() এখানে mc হল নন – প্রিমিটিভ (Non-Primitive type) ডাটা টাইপ ।

২) প্রিমিটিভ (Primitive type) টাইপঃ  এই  ডাটা টাইপ প্রোগ্রামিং লেঙ্গুয়েজে ডিফাইন করা থাকে । যেমন int, float, String, boolean এগুলু হল প্রিমিটিভ (Primitive type) ডাটা টাইপ । তবে প্রিমিটিভ টাইপের আবার প্রকারভেদ আছে আর সেগুলা হলঃ

১) বলিয়ান (Boolean): বলিয়ান সাধারণত লজিকেল ডাটা অর্থাৎ সত্য / মিথ্যা নিয়ে কাজ করে । বলিয়ান টাইপের জন্য boolean  কিওয়ার্ড ব্যাবহার করা হয় । সত্য হলে true আর মিথ্যা হলে false । বিট সংখ্যা ১ অর্থাৎ মেমোরিতে ১ বিট জায়গা নেয় ।

২) ইনটিজার (Integer) : ইনটিজার সাধারণত  ০ থেকে ৯  পর্যন্ত  পূর্ণ  সংখ্যা নিয়ে কাজ করে ।  বিট সংখ্যা ৩২  অর্থাৎ মেমোরিতে  ৩২  বিট জায়গা নেয় । তবে ইনটিজার টাইপের মদ্ধে আরও আছে যেমন short ( ১৬ বিট ) , byte ( ৮ বিট ) , long ( ৬৪ বিট ) ।

৩) ফ্লট (Float) :  ফ্লট সাধারণত ভগ্নাংশ নিয়ে কাজ করে যেমন ২.৫ , ১০.২৫ ইত্যাদি । তবে জাভাতে ডিফল্ট ভাবে Double টাইপ হিসাব করে থাকে তাই float টাইপ ডিক্লেয়ার করার সময় ভেলুর শেষে F/f জোক করা লাগে যেমন 2.5F , 3.26F । মেমোরিতে ৩২ বিট জায়গা নেয় ।

৪) ডাবল (Double): ডাবল ও সাধারণত ভগ্নাংশ নিয়ে কাজ করে যেমন ২.৫ , ১০.২৫ ইত্যাদি । তবে মেমোরিতে  ৬৪  বিট জায়গা নেয়।

৫) ক্যারেক্টার (Character):   ক্যারেক্টার টাইপ সাধারণত অক্ষর  নিয়ে কাজ করে যেমন A, B, C ,x, y, z ইত্যাদি । তবে জাভাতে ক্যারেক্টার টাইপ ১৬ বিট জায়গা দখল করে । নিচের কোডে উদাহারন দিয়ে বুঝিয়ে দেয়া হয়েছে

public class MyClass{
   public static void main(String[] args){
       //boolean primitive data type
       boolean isTrue=true;
       
       // integer primitive data type
       int numberInt=1000000;
       short numberShort=100;
       byte numberByte=100;
       long numberLong=100000000;

       //float primitive data type
       float numberFloat=10.62F;
       double numberDBL=1023.32649326493;
       
       //character primitive data type
       char letter='A';

       //string primitive data type
       String username="My name";
       
       // non-primitive type
       MyClass mc=new MyClass();//here mc is a reference type/object
   }
}

টাইপ কনভার্সন ও কাস্টিং

টাইপ কনভার্সন বলতে বুঝায় এক টাইপ থেকে অন্য টাইপে কনভার্ট করা । টাইপ কনভার্সনের কাজ সাধারণত জাভা ইন্টারনালি করে থাকে । তবে টাইপ কাস্টিং এর কাজটা ইন্টারনালি হয় না অর্থাৎ এই কাজটা প্রোগ্রামারকেই করে নিতে হয় । টাইপ কাস্টিং এর সিনট্যাক্স হচ্ছে (DataType)variableName ।নিচের কোডে উদাহারন দিয়ে বুঝিয়ে দেয়া হয়েছে

public class TypeConversion{
    public static void main(String[] args){
        int number=10;
        float number2=number;
        System.out.println("Number 2: " + number2);// output 10.0. internally type converted to float

        char letter='A';
        int toNum=(int)letter;//type casting explicitly from character to integer type
        System.out.println("Number : " + toNum);// output 65.explicit casting occured here
    }
}

আজকে এই পর্যন্তই । ভাল লাগলে শেয়ার করবেন ।

 

Comments

comments

1 thought on “জাভা ভেরিয়েবল , ডাটা টাইপ ও টাইপ কনভার্সন

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: