Chapter Table of Contents
Ch. 3 DataSubsection Table of Contents
Chapter Table of ContentsSubsection Table of ContentsWhat is Type Casting?Widening CastingNarrowing Casting
What is Type Casting?
Type casting is where you can convert a variable’s numeric data type into another one. This is really handy if you want a variable to be more precise/less precise. There are two types of type casting in Java: widening casting and narrowing casting.
Widening Casting
Widening casting is where you want to convert from a smaller numeric data type to a larger data type. Fortunately, this is automatically done by Java, so you don’t have to do anything here. But, it is still important to understand the logic.
byte → short → char → int → long → float → double
Here’s an example:
public class MyClass { 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.printlin(myDouble); //Outputs 9.0 } }
Source: w3schools.com
Narrowing Casting
Narrowing Casting is pretty much the opposite of widening casting in that you use it when you want to convert a larger data type into a smaller one. This is not automatically done by Java, so you have to manually do it.
double → float → long → int → char → short → byte
To narrow cast, you put the data type that you want to cast the variable into in a pair of parentheses. For example, if I have a variable of type double and I want to convert it into an
int
, then I would put int
in front of the variable. Here’s an example:public class MyClass { public static void main(String[] args) { double myDouble = 9.78; int myInt = (int) myDouble; //Manual casting: int to double System.out.println(myDouble); //Outputs 9.78 System.out.printlin(myInt); //Outputs 9 } }
Previous Section
3.1 Primitive TypesNext Section
3.4 PracticeCopyright © 2021 Code 4 Tomorrow. All rights reserved.
The code in this course is licensed under the MIT License.
If you would like to use content from any of our courses, you must obtain our explicit written permission and provide credit. Please contact classes@code4tomorrow.org for inquiries.