Interchanging Numeric Values In Java

April 30, 2017
Categorised in: Java Core
Try out the code
public class ConvertNumericVal { public static void main( String[] args ){ int intVal = 30; int intVal1 = intVal; //We got two copies of the value System.out.println("intVal1 is: " +intVal1); long longVal = intVal1; System.out.println("longVal is: " +longVal); //short shortVal = intVal1; //ERROR! short shortVal = (short) intVal1; //typecasting -> narrowing the type System.out.println("shortVal is: " +shortVal); int intVal2 = 700; //byte byteVal = intVal2; //ERROR! byte byteVal = (byte) intVal2; //risk of losing data System.out.println("byteVal is: " +byteVal); double doubleVal = 1.91111d; int intVal3 = (int) doubleVal; //narrowing. Truncation results in loss of data. System.out.println("intVal3 is: " +intVal3); } }
Notes:
- While working with primitives, you’re always making copy of value. You are not creating reference to original value.
- Converting from a type which uses smaller amount of memory to a type which uses larger amount of memory is called widening the type.
- From amount of memory type to smaller amount of memory type -> narrowing the type.
- Widening type is automatic. No risk of losing data.
- Narrowing type requires typecasting. Risk of losing data.
Output
- intVal1 is: 30
- longVal is: 30
- shortVal is: 30
- byteVal is: -68
- intVal3 is: 1
Pratik Kataria is currently learning Springboot and Hibernate.
Technologies known and worked on: C/C++, Java, Python, JavaScript, HTML, CSS, WordPress, Angular, Ionic, MongoDB, SQL and Android.
Softwares known and worked on: Adobe Photoshop, Adobe Illustrator and Adobe After Effects.