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.
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
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