What is arithmetic promotion assignment and casting, JAVA Programming

Assignment Help:

What is Arithmetic promotion assignment and casting?

In an assignment statement, i.e. if there's an equals sign, Java compares the type of the left hand side to the at last type of the right hand side. It won't change the type of the left hand side, but it will check to make sure in which the value it has (double, float, int or long) on the right hand side can fit in the type on the left hand side. Anything can fit in a double. Anything except a double could fit in a float. Any integral type can fit in a long, but a float or a double can't, and ints, shorts, and bytes can fit inside ints. If the right hand side can fit inside the left hand side, the assignment takes place along with no additional ado.

Assigning long values to int variables or double values to float variables can be equally troublesome. In fact it's so troublesome the compiler won't let you do it unless you tell it you actually mean it with a cast. When it's essential to force a value within a particular type, use a cast. To cast a variable or a literal or an expression to a different data type just precede it with the kinds in parentheses. For example:

int i = (int) (9.0/4.0);

A cast lets the compiler know in which you're serious about the conversion you plan to make.

While a value is cast down before assignment, series of operations takes place to chop the right hand side down to size. For a conversion among a floating point number and an int or a long, the fractional part of the floating point number is truncated (rounded toward zero). This generates an integer. If the integer is small sufficient to fit in the left hand side, the assignment is completed. Instead if the number is too large, then the integer is set to the largest probable value of its type. If the floating point number is too little the integer is set to the smallest probable value of its type.

This can be a nasty bug in your code. It can also be hard to search since everything might work perfectly 99 times out of a hundred and only on rare occasions will the rounding become a problem. Therefore while it does there will be no warning or error message. You required being extremely careful when assigning floating point values to integer types.


Related Discussions:- What is arithmetic promotion assignment and casting

Time date millis method, I neeed to create a basic code to do the following...

I neeed to create a basic code to do the following. the class is entry level and I would appreciate a brief explanation as to why you do each bit. Write a program that displays t

Explain the term - garbage collection, Explain the term - Garbage Collectio...

Explain the term - Garbage Collection Java  performs  garbage  collection  and  eliminates  the  need  to  free  objects  explicitly.  When an object  has  no references   to

SWING, Application using Swing API

Application using Swing API

Javascript Issue, I am having trouble with the code below because I am tryi...

I am having trouble with the code below because I am trying to call the text field input type so that whenever someone enters a number above 10 it responds with the alert shown bel

How to use dispatchaction, To use the DispatchAction, follow these steps: ...

To use the DispatchAction, follow these steps: ? Make a class that extends DispatchAction (instead of Action) ? In a new class, add a method for each function you need to per

Difference between a scrollbar and a scrollpanel in jsp, A Scrollbar is a C...

A Scrollbar is a Component while Scroll Panel is a Container. A Scroll Panel handles its own events and performs its own scrolling.

Use case diagram, Depicts the typical communication between external users ...

Depicts the typical communication between external users and the system. The emphasis is on what a machine does rather than how it works it. A use case is a summary of scenarios fo

Want inventory selection function in opentaps erp, Required: Inventory Sele...

Required: Inventory Selection Function in Opentaps ERP We work on Opentaps ERP and Application development framework. Our requirement is to modify the Inventory selection functi

Difference b/w a static variable and an instance variable?, Class variables...

Class variables are named as static variables. There is only single occurrence of a class variable per JVM per class loader. When a class is operated the class variables are in

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd