Java Type Casting


Java Type Casting

Type Casting is where you assign the amount of one type of data to another type.

In Java, there are two types of simulations:

  • Widening Casting (automatically) - converting a smaller type to a larger type size
    byte -> short -> char -> int -> long -> float -> double

  • Narrowing Casting (manually) - converting a larger type to a smaller size type
    double -> float -> long -> int -> char -> short -> byte

Widening Casting

Casting expansion is done automatically when transferring a smaller size to a larger size:


Example
public class Main {
            public static void main(String[] args) {
              int myInt = 9;
              double myDouble = myInt; // Automatic casting: int to double
          
              System.out.println(myInt);      // Outputs 9
              System.out.println(myDouble);   // Outputs 9.0
            }
          }
          


Narrowing Casting

Reducing the casting must be done manually by setting the type in brackets before the value:


Example
public class Main {
            public static void main(String[] args) {
              double myDouble = 9.78d;
              int myInt = (int) myDouble; // Manual casting: double to int
          
              System.out.println(myDouble);   // Outputs 9.78
              System.out.println(myInt);      // Outputs 9
            }
          }