AnyCompiler

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);
    }
}
Output
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);
    }
}
Output
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);
    }
}
Output
Main.java:3: error: incompatible types: String cannot be converted to int
        int age = "thirty";
                  ^
1 error

Kuch 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.