• Post Reply Bookmark Topic Watch Topic
  • New Topic

Dan's question:Topic. Literals  RSS feed

 
Lakshmi Saradha
Ranch Hand
Posts: 170
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The question is
class MCZ24 {
public static void main (String[] args) {
char a = 061; // 1
char b = '\61'; // 2
char c = '\061'; // 3
char d = 0x0031; // 4
char e = '\u0031'; // 5
System.out.print(""+a+b+c+d+e);
}}
A compile-time error is generated at which line?
a. 1
b. 2
c. 3
d. 4
e. 5
f. None of the above
The answer is f). I do agree that the answer is f). The explaination for the answer is..
"All of the declarations are legal. The first three ( 061, '\61', '\061' ) are declared in octal format. The fourth (0x0031) is declared as a hexadecimal literal. The fifth ('\u0031') is a Unicode escape sequence."
My question is "Is '\61' an octal format? Is it not a decimal format?".
 
Dan Chisholm
Ranch Hand
Posts: 1865
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Lakshmi,
Java has Unicode escapes and octal escapes. An octal escape can begin with an optional leading zero. An octal escape does not require a leading zero.
There are no decimal escapes.
An octal integer literal does require a leading zero.
The following program prints the decimal value 8.
 
Lakshmi Saradha
Ranch Hand
Posts: 170
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you Dan..
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!