| Author |
why it doesn't print max value of char
|
Waez Ali
Greenhorn
Joined: Jan 10, 2005
Posts: 22
|
|
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 Thank You
|
 |
Vladimir Bezugliy
Ranch Hand
Joined: Sep 29, 2004
Posts: 33
|
|
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.
|
 |
David Harkness
Ranch Hand
Joined: Aug 07, 2003
Posts: 1646
|
|
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 ]
|
 |
Waez Ali
Greenhorn
Joined: Jan 10, 2005
Posts: 22
|
|
Thanks Valadimir & david. I got it.
|
 |
 |
|
|
subject: why it doesn't print max value of char
|
|
|