Variables aur Types
Java ke primitive types mein int, double, boolean, aur char shaamil hain — har variable ka ek declared type hota hai, aur ek baar declare hone ke baad woh type fixed ho jaata hai. Dhyan rahe ke yeh primitives hain, objects nahi: ek boolean true ya false word ke tor par print hota hai, 0 ya 1 nahi.
public class Main {
public static void main(String[] args) {
int age = 30;
double price = 19.99;
boolean isStudent = false;
char grade = 'A';
System.out.println(age + " " + price + " " + isStudent + " " + grade);
}
}30 19.99 false A
var type inference
var compiler ko ek variable ka type uske initializer se infer karne deta hai, jo Java 10 mein introduce hua tha — useful hai jab type obvious ya verbose ho. Yeh phir bhi compile time par ek fixed, fully static type produce karta hai; yeh dynamic type nahi hai jaisa shayad ek scripting language mein ho sakta hai.
public class Main {
public static void main(String[] args) {
var count = 42; // inferred as int
var pi = 3.14159; // inferred as double
System.out.println(count + " " + pi);
}
}42 3.14159
Ek real type-mismatch error kaisa dikhta hai
Java ka compiler check karta hai ke har assignment ke types actually line up hote hain — jahan int expect kiya gaya hai wahan String assign karna ek compile error hai, koi aisi cheez nahi jo baad mein runtime par pakri jaaye. Yeh waqai woh hai jo javac report karta hai — ek real run se capture kiya gaya hai, plausible dikhne ke liye likha nahi gaya:
public class Main {
public static void main(String[] args) {
int age = "thirty";
System.out.println(age);
}
}Main.java:3: error: incompatible types: String cannot be converted to int
int age = "thirty";
^
1 errorKuch bhi nahi chalta — koi output nahi, bas error. Ise runtime ke bajaye compile time par pakarna Java ki static typing ke main benefits mein se ek hai.
Aage: operators aur control flow — if/else, for, while, aur switch.
Practice exercise
Ek variable temperature, type double ka, 72.5 par set karein aur ek variable isSunny, type boolean ka, true par set karein. Dono ko ek space se separate kar ke sath mein print karein.