Default Variable Values

String = null; (programmed to nothing)
float = 0.0;
booleans = false;
int/char = 0;

1)Instance Variables:

    ->Declared in class but not in method
    ->Have default value
 
class book{ 
private String name; (null)
private int size; (defalut value size = 0)
}

2)Local Variables

   ->Declared within method
   ->Not have default value (not initialized & should be initialized before used)
class add{
void result(){
 int a; 
 int b;
 //a and b should have value otherwise it won't compile gives error.
 int result = a + b;
  }
} 

👉 Comparing variable

*Primitive Type:-

->two variable is same if bit pattern same 
->size not matter

int a = 3;
 byte b = 3;
 if(a == b){//true}
*Reference type 

  ->if two reference variable refer to same object
 Dog a = new Dog();
 Dog b = new Dog();
 Dog c == a;

 if(a == b){//false};
 if(c == a){//true};
 if(b == c){//false};

Note:
->use == for comparing two primative or reference variable if refers to same object 
 ->Use .equals() for two different object if equal (ex. if two String object have value "Fred").