Java Programming - Language Fundamentals - Discussion

Discussion Forum : Language Fundamentals - General Questions (Q.No. 9)
9.
Which three are valid declarations of a char?
  1. char c1 = 064770;
  2. char c2 = 'face';
  3. char c3 = 0xbeef;
  4. char c4 = \u0022;
  5. char c5 = '\iface';
  6. char c6 = '\uface';
1, 2, 4
1, 3, 6
3, 5
5 only
Answer: Option
Explanation:

(1), (3), and (6) are correct. char c1 = 064770; is an octal representation of the integer value 27128, which is legal because it fits into an unsigned 16-bit integer. char c3 = 0xbeef; is a hexadecimal representation of the integer value 48879, which fits into an unsigned 16-bit integer. char c6 = '\uface'; is a Unicode representation of a character.

char c2 = 'face'; is wrong because you can't put more than one character in a char literal. The only other acceptable char literal that can go between single quotes is a Unicode value, and Unicode literals must always start with a '\u'.

char c4 = \u0022; is wrong because the single quotes are missing.

char c5 = '\iface'; is wrong because it appears to be a Unicode representation (notice the backslash), but starts with '\i' rather than '\u'.

Discussion:
24 comments Page 2 of 3.

Prabhu said:   1 decade ago
What is Unicode?

ASCII which stands for American Standard Code for Information Interchange became the first widespread encoding scheme. However, it is limited to only 128 character definitions. Which is fine for the most common English characters, numbers and punctuation but is a bit limiting for the rest of the world. They naturally wanted to be able to encode their characters too. And, for a little while depending on where you were, there might be a different character being displayed for the same ASCII code. In the end, the other parts of the world began creating their own encoding schemes and things started to get a little bit confusing. Not only were the coding schemes of different lengths, programs needed to figure out which encoding scheme they were meant to be using.

It became apparent that a new character encoding scheme was needed and the Unicode standard was created. The objective of Unicode is to unify all the different encoding schemes so that the confusion between computers can be limited as much as possible. These days the Unicode standard defines values for over 100,000 characters and can be seen at the Unicode Consortium. It has several character encoding forms, UTF standing for Unicode Transformation Unit.

Piyush said:   1 decade ago
How to know the range?

Rahul said:   1 decade ago
char c2 = 'face'.
char can hold only a character.
But here face is complete word.

So to store face we required a String variable.

char c2='z'.
We can store like this .

MAHI TEJA.YENUMULA said:   1 decade ago
"UNICODE" is a covertion type in java for ex : in c launguage we have "ASCII" covertion. Remember in java "UNICODE" convertion only takes place.

Harshit kumar said:   1 decade ago
What is actually unicode? please explain it.

Cybog said:   1 decade ago
Why c='\uface' is legal and c='face' is legal? please explain. Thanks is advance.

Chandu said:   1 decade ago
Watz actually unicode means?can anyone help me out of this ?

Basha said:   1 decade ago
@Sandip

c2='a' it is represntaion of character.

But, in the given question c2='face' trying to assign the string value to character variable.

Sandip said:   1 decade ago
What is character literal? and.

Why char c2='face'; is wrong answer?

Please justified it.

Kedar said:   1 decade ago
In Java, lower priority data types are converted to its nearest higher priority data types implicitely so that the some of the values of char are also of the int.
(1)


Post your comments here:

Your comments will be displayed after verification.