bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Java/Java Tutorial
Java•Java Tutorial

Java Type Casting

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind Java Type Casting?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ myInt = 9;
3Order

Put the learning moves in the order that makes the concept easiest to apply.

- Widening Casting (automatic) - converting a smaller type to a larger type size byte -> short -> char -> int -> long -> float -> double Narrowing Casting (manual) - converting a larger type to a smaller type size double -> float -> long -> int -> char -> short -> byte
In Java, there are two main types of casting:
Type casting means converting one data type into another.

Type casting means converting one data type into another. For example, turning an int into a double .

In Java, there are two main types of casting:

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

Widening Casting

Widening casting is done automatically when passing a smaller size type into a larger size type.

This works because there is no risk of losing information. For example, an int value can safely fit inside a double :

Example

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

Narrowing casting must be done manually by placing the type in parentheses () in front of the value.

This is required because narrowing may result in data loss (for example, dropping decimals when converting a double to an int ):

Example

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

Real-Life Example

Here is a real-life example of type casting. We calculate the percentage of a user's score in relation to the maximum score in a game.

We use type casting to make sure that the result is a floating-point value, rather than an integer:

Example

// Set the maximum possible score in the game to 500 int maxScore = 500; // The actual score of the user int userScore = 423; /* Calculate the percentage of the user's score in relation to the maximum available score. Convert userScore to double to make sure that the division is accurate */
double percentage = (double) userScore / maxScore * 100.0d;
System.out.println("User's percentage is " + percentage);

Previous

Java var Keyword

Next

Java Operators