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

Work is about 25% done but I am stuck, Modify the client server application...

Modify the client server application developed for phase 1 IP2 to be a Multithreaded Server (i.e. the server can handle concurrent requests from more than one client). Submit your

Posting on a wall, Viewing a User's Wall Where your project allows you t...

Viewing a User's Wall Where your project allows you to view a user's profile, your ZHTML must provide the following capabilities: 1. Provide a Wall for that user profile, dis

Program, Decode the Code Smugglers are becoming very smart day by day. Now ...

Decode the Code Smugglers are becoming very smart day by day. Now they have developed a new technique of sending their messages from one smuggler to another. In their new techn

Tasks with the classes Currency, In this assignment you work on a set of ta...

In this assignment you work on a set of tasks with the classes Currency, Money and Bank. Money and Currency You have been given a template for the Currency and Money classes (Lab1.

Ps1 emulator for android, PS1 emulator for android There is an open sour...

PS1 emulator for android There is an open source app known as psx4droid i want a developer to solve problems and bugs and doing performance improvement to source code to running

Elliptic curve, In this project you need to write a program called "ECC.jav...

In this project you need to write a program called "ECC.java"to implement Elliptic Curve encryption/decryption. Specifically, your program will read parameters, plaintext and ciph

Implement decision tree algorithm using netbeans, Implement Decision Tree A...

Implement Decision Tree Algorithm using Netbeans (Java) & Microsoft Access 2007. "One Level is enough, output should contains gain of each attribute, the selected attribute and

Arraya, what is arrays and how do they operate

what is arrays and how do they operate

War file for your application that can be deployed on tomcat, Deliverable: ...

Deliverable:  1) WAR file for your application that can be deployed and run on TomcaT (War file must contains the Java source code) Requirement for application: 1. Application m

Program implement class which have main string method, Implement the Money ...

Implement the Money class discussed in class. This class should represent a dollar and cents amount with 0-99 cents and the cents being the same sign as the dollars. The class shou

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