Hi, if we try to run following lines of code System.out.print(Byte.MAX_VALUE+","); System.out.print(Character.MAX_VALUE); It will print 127,? Question:- Why It Doesn't Print 65535 as it is the MAX value of Charecter ? However we can print System.out.print(Character.MAX_VALUE - 1); output 65534 Please Explain me this
Joined: Sep 29, 2004
In this case System.out.print(Character.MAX_VALUE); method will be executed.
But in that case System.out.print(Character.MAX_VALUE - 1); will be executed method
because result of (Character.MAX_VALUE - 1) will be int type.
Joined: Aug 07, 2003
The reason it does this is that Character.MAX_VALUE is a char, so it gets turned into a single-character String rather than formatted as 65535. Since you don't have a font that supports the 0xFF00 code page (code point?), it uses the "I don't know what this character is" character: "?".
Another way to view this value as a number, rather than applying math to the number, is to cast it to an int directly. [ January 27, 2005: Message edited by: David Harkness ]