Home / Java Programming / Language Fundamentals :: Discussion

Discussion :: Language Fundamentals

  1. 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';

  2. A.
    1, 2, 4
    B.
    1, 3, 6
    C.
    3, 5
    D.
    5 only

    View Answer

    Workspace

    Answer : Option B

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


Be The First To Comment