Which of the following will compile without error?
1)
char c='1';
System.out.println(c>>1);
2)
Integer i=Integer("1");
System.out.println(i>>1);
3)
int i=1;
System.out.println(i<<<1);
4)
int i=1;
System.out.println(i<<1);
Answer :
1)
char c='1';
System.out.println(c>>1);
4)
int i=1;
System.out.println(i<<1);
Be aware that Integer (not the upper case I) is a wrapper class and thus cannot be treated like a primitive. The fact that option 1 will compile may be a surprise, but although the char type is normally used to store character types, it is actually an unsigned integer type. The reason option 3 does not compile is that Java has a >>> operator but not a <<< operator.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment