This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Java in General and the fly likes why  it doesn't print  max value of char Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "why  it doesn Watch "why  it doesn New topic
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.
 
Consider Paul's rocket mass heater.
 
subject: why it doesn't print max value of char
 
Similar Threads
Question on Loops
About primitive promotion.
Wrapper-Q
Character.MAX_VALUE, ..., not printed
Int = Char