What is Type Casting ?
It’s when you assign a value of one primitive data type to another
- Widening Casting (automatically): Converting a smaller type to larger type size
byte
->short
->char
->int
->long
->float
->double
public class test(){
public static void main(String[] args){
int myInt = 9;
int myDouble = myInt; // automatically changes from int to double
System.out.println(myInt); // outputs 9
System.out.println(myDouble); // outputs 9.0
}
}
- Narrowing Casting (manually): Converting a larger type to smaller type size
double
->float
->long
->int
->char
->short
->byte
public class test(){
public static void main(String[] args){
double myDouble = 9.87d;
int myInt = (int) myDouble; // manually converts int to double
System.out.println(myDouble); // outputs 9.78
System.out.println(myInt); // outputs 9
}
}