Home Java Java Type Casting

Java Type Casting

Beginner ⏱ 8 min read Updated: Jul 2026
  • Java Type Casting is the process of converting one data type into another data type.
  • Type casting allows a value of one type to be assigned to a variable of another type.
  • Java supports two types of casting: widening casting and narrowing casting.
  • Widening casting converts smaller data types into larger data types automatically.
  • Narrowing casting converts larger data types into smaller data types manually.

What is Type Casting in Java?

Type casting in Java is the process of converting a value from one data type into another data type. It is mainly used when we want to store a value of one type into a variable of another type.

Java is a strongly typed programming language, so every variable has a specific data type. Type casting helps developers work with different data types together.

💡
Important: Type casting is mostly used with primitive data types such as int, double, float, char, and byte.

Why is Type Casting Used in Java?

Type casting is useful when a program needs to convert values between different data types. It helps perform calculations and operations where different types of values are involved.

Data Conversion

Converts one data type value into another required data type.

Calculations

Allows mathematical operations between different data types.

Compatibility

Makes different data types work together in a program.

Memory Control

Helps convert values according to memory requirements.

Types of Type Casting in Java

Java provides two main types of type casting:

  • Widening Type Casting: Converting a smaller data type into a larger data type automatically.
  • Narrowing Type Casting: Converting a larger data type into a smaller data type manually.

Widening Type Casting in Java

Widening casting converts a smaller data type into a larger data type. Java performs this conversion automatically because there is no risk of losing data.

It is also known as implicit casting or automatic type conversion.

Widening Casting Order

byte short int long
Smaller Type Larger Type

Widening Type Casting Example in Java

In widening casting, Java automatically converts a smaller data type into a larger data type. This conversion does not require any special syntax.

Example

class Main{
    public static void main(String[] args) {
        int number = 100;
        double value = number; 
        System.out.println(number);
        System.out.println(value);
    }
    }
        
Result
100
100.0

Explanation of Widening Casting Example

int number

Stores an integer value 100.

double value

Stores the converted double value.

Automatic Conversion

Java automatically converts int into double.

No Data Loss

The original value remains unchanged after conversion.

Narrowing Type Casting in Java

Narrowing casting converts a larger data type into a smaller data type. Unlike widening casting, narrowing casting must be performed manually.

It is also called explicit casting because the programmer specifies the target data type.

Syntax of Narrowing Casting

Syntax

dataType variableName =  
(dataType) value; 
        

Narrowing Casting Example in Java

Example

class Main{
    public static void main (String[] args) {
        double price =  99.99;
        int value = (int) price;
        System.out.println(price);
        System.out.println(value);
    }
    }
        
Result
99.99
99

Explanation of Narrowing Casting Example

double price

Stores a decimal value with double data type.

(int)

Casting operator converts double value into integer.

Decimal Removed

The decimal part is removed after conversion.

Manual Conversion

Programmer must define the target data type.

Difference Between Widening and Narrowing Casting

Widening Casting Narrowing Casting
Converts smaller data type into larger data type. Converts larger data type into smaller data type.
Conversion is performed automatically. Conversion is performed manually.
Also called implicit casting. Also called explicit casting.
Data loss does not occur. Data loss may occur.
Example: int to double Example: double to int

Type Casting Between char and int in Java

Java allows conversion between character and integer values because every character has a unique Unicode value. A character can be converted into its corresponding numeric value using type casting.

Example of char to int Conversion

Example

class Main{ 
    public static void main(String[] args) {
        char letter = 'A';
        int value = letter; 
        System.out.println(value);
    }
}
        
Result
65

Common Type Casting Errors in Java

Incorrect type casting can produce unexpected results or compilation errors. Developers should understand the limitations before converting data types.

  • Converting a large value into a smaller data type may cause data loss.
  • Narrowing casting should be performed carefully.
  • Incompatible data types cannot be converted directly.
  • Always check the range of values before casting.

Example of Data Loss During Narrowing Casting

Example

class Main{ 
    public static void main(String[] args) {
        double number = 123.45;
        int value =(int) number;
        System.out.println(value);
    }
    }
        
Result
123

Best Practices for Java Type Casting

Following proper type casting practices helps avoid errors and improves program reliability.

  • Prefer widening casting whenever possible.
  • Use narrowing casting only when necessary.
  • Always check possible data loss before conversion.
  • Use meaningful variable names while performing conversions.
  • Avoid unnecessary type casting in your programs.
💡 Note: Widening casting is safe because the destination data type can store all values of the source data type. Narrowing casting may lose information.

Java Type Casting Summary

Java Type Casting is used to convert values from one data type into another. It allows developers to perform operations between different data types.

Java provides two types of type casting: widening casting and narrowing casting. Widening casting is automatic, while narrowing casting requires manual conversion.

Key Points to Remember

  • Type casting converts one data type into another data type.
  • Widening casting is performed automatically by Java.
  • Narrowing casting requires the casting operator.
  • Narrowing casting can cause data loss.
  • Type casting is commonly used with primitive data types.
  • The casting operator is written using parentheses.

Frequently Asked Questions

What is Java Type Casting?

Java Type Casting is the process of converting a value from one data type into another data type.

How many types of casting are available in Java?

Java supports two types of casting: widening casting and narrowing casting.

What is widening casting in Java?

Widening casting converts a smaller data type into a larger data type automatically.

What is narrowing casting in Java?

Narrowing casting converts a larger data type into a smaller data type manually using the casting operator.

Can type casting lose data in Java?

Yes, narrowing casting may lose data because a larger value is converted into a smaller data type.