Is the Sum of Java Chars an Int or a Char?
When combining 'a' and 'b' in Java, the outcome is 195. What is the resulting datatype: char or int?
Answer:
When adding Java chars, the result is an int, according to the Java Language Specification on Binary Numeric Promotion. This is because any addition involving chars, shorts, or bytes is promoted to int.
However, for compound assignment operators like =, the result is converted to the type of the left-hand variable. To explicitly convert back to char, one can use a cast. Alternatively, using = is acceptable.
Determining the datatype of a result can be done by casting it to Object and checking its class. For instance, checking the result of 'a' 'b' reveals that it is of type Integer.
Note that Java bytecode lacks dedicated instructions for arithmetic operations on smaller data types. Instead, it uses int instructions and then zeroes upper bytes. For character concatenation, adding an empty String is convenient as the result is a String. Alternative methods include using StringBuilder or String.format.
The above is the detailed content of Is the Sum of Two Java `char` Variables an `int` or a `char`?. For more information, please follow other related articles on the PHP Chinese website!