Java Reference
In-Depth Information
is a type cast. The expression takes an int (in this example, the value of m ) and
evaluates to an “equivalent” value of type double . So, if the value of m is 2 , the
expression (double)m evaluates to the double value 2.0 .
Note that (double)m does not change the value of the variable m . If m has the value 2
before this expression is evaluated, then m still has the value 2 after the expression is
evaluated.
You may use other type names in place of double to obtain a type cast to another
type. We said this produces an “equivalent” value of the target type. The word
“equivalent” is in quotes because there is no clear notion of equivalent that applies
between any two types. In the case of a type cast from an integer type to a floating-point
type, the effect is to add a decimal point and a zero. A type cast in the other direction,
from a floating-point type to an integer type, simply deletes the decimal point and all
digits after the decimal point. Note that when type casting from a floating-point type
to an integer type, the number is truncated, not rounded: (int)2.9 is 2 ; it is not 3 .
As we noted earlier, you can always assign a value of an integer type to a variable of
a floating-point type, as in the following:
double d = 5;
In such cases Java performs an automatic type cast, converting the 5 to 5.0 and placing
5.0 in the variable d . You cannot store the 5 as the value of d without a type cast, but
sometimes Java does the type cast for you. Such an automatic type cast is sometimes
called a type coercion .
By contrast, you cannot place a double value in an int variable without an explicit
type cast. The following is illegal:
type coercion
int i = 5.5; //Illegal
Instead, you must add an explicit type cast, like so:
int i = ( int )5.5;
Increment and Decrement Operators
The increment operator ++ adds one to the value of a variable. The decrement
operator −− subtracts one from the value of a variable. They are usually used with
variables of type int , but they can be used with any numeric type. If n is a variable of
a numeric type, then n++ increases the value of n by one and n−− decreases the value of
n by one. So, n++ and n−− (when followed by a semicolon) are executable statements.
For example, the statements
int n = 1, m = 7;
n++;
System.out.println("The value of n is changed to " + n);
m−−;
System.out.println("The value of m is changed to " + m);
 
Search WWH ::




Custom Search