Lesson ৭ মিনিট পড়া

ভ্যারিয়েবল এবং ডেটা টাইপ (Variables & Data Types)

আপনার ডেটাকে একটি নাম এবং নির্দিষ্ট একটি জায়গা দিন

ভ্যারিয়েবল কী? (What Is a Variable?)

ভ্যারিয়েবলকে (Variable) অনেকটা তাকের ওপর রাখা নাম লেখা বয়াম বা পাত্রের মতো ভাবতে পারেন। বয়ামের গায়ে লাগানো লেবেলটি হলো ভ্যারিয়েবলের নাম, আর ভেতরে রাখা জিনিসটি হলো এর মান বা ভ্যালু (value)। জাভাস্ক্রিপ্ট বা পাইথনের মতো ভাষা থেকে জাভা কিছুটা আলাদা, এর ক্ষেত্রে বয়ামের ভেতর কী ধরনের জিনিস রাখা হবে সেটাও আপনাকে বলে দিতে হবে — সংখ্যা? অক্ষর? নাকি সত্য/মিথ্যা? এটিকে বলা হয় ডেটা টাইপ (data type)

জাভা হলো একটি স্ট্যাটিক্যালি টাইপড (statically typed) ভাষা, যার মানে হলো ভেতরে কিছু রাখার আগেই আপনাকে বয়ামের আকার বা ধরন বেছে নিতে হবে। আপনি যদি একবার বলে দেন যে "এই বয়ামে শুধু পূর্ণসংখ্যা (integer) রাখা যাবে," তবে আপনি হুট করে সেখানে কোনো বাক্য বা স্ট্রিং রাখতে পারবেন না।

ভ্যারিয়েবল তৈরি বা ডিক্লেয়ার করা এবং মান সেট করা (Declaring & Initializing Variables)

public class Main {
public static void main(String[] args) {
int age = 10;
double price = 4.99;
char grade = 'A';
boolean isHappy = true;
String name = "Asif";
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Price: $" + price);
System.out.println("Grade: " + grade);
System.out.println("Happy? " + isHappy);
}
}
Output
Name: Asif
Age: 10
Price: $4.99
Grade: A
Happy? true

প্রিমিটিভ টাইপ — জাভার বিল্ডিং ব্লক (The Primitive Types — Java's Building Blocks)

জাভাতে ৮ ধরনের প্রিমিটিভ টাইপ (primitive type) রয়েছে। এদেরকে বিভিন্ন আকারের বয়াম বা পাত্র হিসেবে বিবেচনা করতে পারেন:

  • byte — একদম ছোট বাক্স (-১২৮ থেকে ১২৭)। যখন আপনি নিশ্চিত যে মানটি খুব ছোট হবে, তখন মেমরি বাঁচানোর জন্য এটি দারুণ কাজ করে।
  • short — ছোট বাক্স (-৩২,৭৬৮ থেকে ৩২,৭৬৭)।
  • int — সবচেয়ে পরিচিত সাধারণ বাক্স (-২০০ কোটি থেকে ২০০ কোটি)। পূর্ণসংখ্যার (whole number) ক্ষেত্রে এটিই সবচেয়ে বেশি ব্যবহৃত হয়।
  • long — বিশাল বাক্স (প্রায় ৯ কুইন্টিলিয়ন পর্যন্ত)। এর শেষে একটি L যুক্ত করতে হয়: long big = 9999999999L;
  • float — দশমিক সংখ্যা, তবে খুব একটা নিখুঁত নয়। এর শেষে একটি f যুক্ত করতে হয়: float pi = 3.14f;
  • double — দশমিক সংখ্যা, অনেক বেশি নিখুঁত। দশমিকের ক্ষেত্রে এটিই সবচেয়ে বেশি ব্যবহৃত হয়।
  • char — সিঙ্গেল কোটেশনের ভেতরে থাকা যেকোনো একটি অক্ষর বা ক্যারেক্টার: 'A'
  • boolean — কেবল true (সত্য) অথবা false (মিথ্যা)। অনেকটা লাইট সুইচের মতো কাজ করে।

স্ট্রিং (String) কোনো প্রিমিটিভ টাইপ নয় — এটি একটি ক্লাস (খেয়াল করে দেখুন, এর প্রথম অক্ষরটি বড় হাতের S)। তবে আপনি এটি এত বেশি ব্যবহার করবেন যে, জাভাতে একে বিশেষ গুরুত্ব দেওয়া হয়।

টাইপ কাস্টিং — এক টাইপ থেকে অন্য টাইপে রূপান্তর (Type Casting — Converting Between Types)

public class Main {
public static void main(String[] args) {
// Widening (automatic) — small jar into big jar, no problem
int myInt = 42;
double myDouble = myInt; // int -> double, automatic
System.out.println("int to double: " + myDouble);
// Narrowing (manual) — big jar into small jar, you might lose stuff
double pi = 3.14159;
int rounded = (int) pi; // double -> int, you lose the decimals!
System.out.println("double to int: " + rounded);
// String to int
String numText = "123";
int parsed = Integer.parseInt(numText);
System.out.println("Parsed: " + parsed);
// int to String
String back = String.valueOf(parsed);
System.out.println("Back to String: " + back);
}
}
Output
int to double: 42.0
double to int: 3
Parsed: 123
Back to String: 123

ফাইনাল কিওয়ার্ড — ধ্রুবক বা কনস্ট্যান্ট (The final Keyword — Constants)

public class Main {
public static void main(String[] args) {
final double TAX_RATE = 0.08;
final String SCHOOL = "Riverside Elementary";
double price = 25.00;
double total = price + (price * TAX_RATE);
System.out.println("School: " + SCHOOL);
System.out.println("Total with tax: $" + total);
// TAX_RATE = 0.10; // ERROR! Can't change a final variable
}
}
Output
School: Riverside Elementary
Total with tax: $27.0
Note: final কে পেনসিলের বদলে পার্মানেন্ট মার্কার (permanent marker) দিয়ে লেখার মতো ভাবতে পারেন। একবার কোনো মান বা ভ্যালু লিখে ফেললে, সেটি আর মোছা বা পরিবর্তন করা যায় না। এমন সব ক্ষেত্রে এটি ব্যবহার করুন, যেগুলো কখনোই পরিবর্তন হওয়া উচিত নয় — যেমন আলোর গতি বা ধরুন আপনার ট্যাক্সের হার।
চ্যালেঞ্জ

ছোট কুইজ

$1042.57 এর মতো কারও ব্যাংক ব্যালেন্স ঠিকভাবে সংরক্ষণ করার জন্য আপনি কোন ডেটা টাইপটি ব্যবহার করবেন?
Why Learn Java?Operators & Expressions