Which lines will not cause compilation errors?
Values of the integral types byte, short, int, and long can be created from int literals. Values of type long that exceed the range of int can be created from long literals. Integer literals can be expressed by these number systems:
  • Decimal: Base 10, whose digits consists of the numbers 0 through 9; this is the number system you use every day
  • Hexadecimal: Base 16, whose digits consist of the numbers 0 through 9 and the letters A through F
  • Binary: Base 2, whose digits consists of the numbers 0 and 1 (you can create binary literals in Java SE 7 and later) For general-purpose programming, the decimal system is likely to be the only number system you'll ever use.
However, if you need to use another number system, the following example shows the correct syntax. The prefix 0x indicates hexadecimal and 0b indicates binary:
// The number 26, in decimal
int decVal = 26;
//  The number 26, in hexadecimal
int hexVal = 0x1a;
// The number 26, in binary
int binVal = 0b11010;
Read more: Primitive Data Types

The explanation doesn't look right

2018 Oct 29, 5:51:45 AM

But why char c = -1; is wrong?

2018 Jul 22, 9:47:49 AM

@atomshik64 thanks for feedback! added explanation

2018 Feb 2, 5:20:27 PM

There is no explanation in this question at least when you choose wrong answer

2018 Jan 2, 12:18:02 PM

@vimalpanchal char d=0*10000; is correct but char dd=0x10000; is not correct

2017 Jul 19, 7:21:27 AM

but this - char d = 0x1000; works fine ;)

2017 May 18, 12:05:12 AM

@vimalpanchal error: incompatible types: possible lossy conversion from int to char char d = 0x10000; ^ 1 error

2017 May 18, 12:03:28 AM

char d= 0x10000; should be correct right.

2017 Feb 24, 10:08:26 AM

Java Quiz
Start Quiz

or Read more about Java Quiz

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback