1) The following statement will produce a result of 1. System.out.println( -1 >>>2);
2) Performing an unsigned left shift (<<< ; ) on a negative number will always produce a negative number result
3) The following statement will produce a result of zero, System.out.println(1 >>1);
4) All the Java integral types are signed numbers
============ Here Marcus Green's answer was just 3. I also feel that 4 is correct. If I am wrong, then can someone tell me, what does "Java Integral Type" means ??? [ November 08, 2004: Message edited by: Barry Gaunt ]
Manikandan, I feel char primitive data type which is 16 bit is internally treated as integer. char is unsigned data type, hence the option 4 is not correct. byte, short, int, long, char are all integral types meaning they are internally treated as integers. Experts correct me if I've stated a wrong statement.
Hope this helps you
Cheers,<br />Jay<br /> <br />(SCJP 1.4)<br />Heights of great men were not achieved in one day, they were toiling day and night while their companions slept.
Joined: Aug 03, 2002
Why wait for an expert when you can be one yourself? From the Java Language Specification:
4.2.1 Integral Types and Values The values of the integral types are integers in the following ranges:
* For byte, from -128 to 127, inclusive * For short, from -32768 to 32767, inclusive * For int, from -2147483648 to 2147483647, inclusive * For long, from -9223372036854775808 to 9223372036854775807, inclusive * For char, from '\u0000' to '\uffff' inclusive, that is, from 0 to 65535
Thanks Barry. I remember reading the stuff in K&B book but I guess once in a while I should peek in JLS too.
Joined: Sep 14, 1999
Good question Manikandan, thanks for the follow ups everyone. It is a good reason for me to put in heaps of hyperlinks on terms, after all that is what the web was designed for. So the answer should have been something like