Java Data Literals or Constants Tutorial and MCQ
Table of Contents
Study and learn Java Data Literals MCQ questions and answers on Literals or Constants. Literals are of type Integer (Decimal, Octal, Hexadecimal and Binary), Real Number (float, double), Character and String. Attend job interviews easily with these MCQs.
Java Data Literals or Constants Tutorial
Like any other programming language, Java too supports Data constants or Literals. A literal is simply a constant of data we assign to a variable of a particular data type.
Java Data Literals or Constants
There are 5 types of Literals or constants in Java language.
- Integer Literals
- Floating Point Literals
- Boolean Literals
- Character Literals
- String Literals
JDK 7 introduced two new features namely Binary Literals and Underscores in number literals.
Underscore in number constants or literals for Readability
You can embed underscore symbols ( _ ) as part of a number constant to increase readability. You should not add Underscore at the beginning or end. Also, you can not put Underscore before or after a DOT or Decimal Point in floating point or double numbers. You can add more than one underscore symbols consecutively. Underscore symbols are removed before processing.
Examples are as below.
int a = 123_456_7; int b = 23_456_56789_1; long c = 24___56__789_12L; int d = 0xef_a_b; //Hexadecimal constant int e = 0b1011_0111; //binary constant int f = 01234_5678; //Octal constant float pp = 34__456.12___23_4; //floating point constant double qq = 455_456.126_234; //double constant
1. Integer Literals
When initializing byte, short, int and long data type variables, we use integer literals. For long data, you can use lower case ‘l’ or upper case ‘L’ at the end if you want.
Integer literals or constants of 4 types.
- Decimal Literal
- Octal Literal
- Hexadecimal Literal
- Binary Literals
A. Decimal Literal
Decimal literals can have digits from 0 to 9. There is no need to prefix the number to specify explicitly.
Example:
int a = 01245621; long b = 987_654_321_0L; short c = 3456; byte bt = 123;
B. Octal Literal
Octal literals can have digits from 0 to 7. You should Prefix the number with a ZERO ‘0’.
Example:
int a = 0345; int b = 0456_789; short c = 0802; //Error. 8 is out of range of Octal. byte bt = 110;
C. Hexadecimal Literal
Hexadecimal literals can have digits from 0 to 9, a, b, c, d, e, f, A, B, C, D, E, F. You should Prefix the number with a ‘0x‘ or ‘0X‘.
Example:
int a = 0x345; int b = 0X456_7__89; long ab = 0xffeeL;
D. Binary Literal
Binary literals can have digits from 0 or 1. You should Prefix the number with a ‘0b‘ or ‘0B‘. JDK 7 supports this literal.
Example:
int a = 0b1011_1010; int b = 0B10__10__11_01; long ab = 0b1101_1100_0101_1111L;
2. Floating Point Literals
Floating point data types namely float and double variables can hold floating point literals. For floats ‘f’ or ‘F’ may be postfixed at the end. For double, you may append ‘d’ or ‘D’ at the end of a number. By default, all real numbers are of ‘double’ data type.
To specify exponents ‘e’ or ‘E’ is used. Exponent represents 10 power some number say 10 power 2 ( = 100). So E is called Power of Ten Exponent
To specify Two power of some number, JDK 7 introduced an exponent which represents 2 instead of 10. The symbol used is ‘p’ or ‘P’. So, P is called Power of Two Exponent. This P format can be used only with Hexadecimal floating point numbers.
Example:
float a = 123_456.789_0987F; float b = 123456.78678f; float c = 12e23; double d = 345E567d; // E notation double e = 345E-567; double f = 345E+567; float g = 0x23.4567P4; //Hexadecimal float double h = 0X5678p-10; //P notation
3. Boolean Literals
Boolean literal can have only two possible values true or false. TRUE or FALSE are illegal to use. Capitalization is not allowed. Also, 1 is not equal to true and 0 is not equal to false.
Example:
boolean a = false; boolean b = true; boolean c = 0; //error boolean d = -123; //error if( a ) { } // Works if( 1 ) { } // Error. if( TRUE ) { } // Error. if( false ) { } //Works.
4. Character Literals
As Java language supports 16 bit type characters, the number of characters that can be represented has been increased to 65536. You can specify a single character as a character literal to a character variable. To specify a character literal, you need to surround the character with Single Quotes (‘ ‘).
Example:
char a='a'; char b = 'A'; char c = 'ab'; //Error
You can also specify Octal character literal in \ddd notation. ‘d’ is the digit from 0 to 7.
Example:
char a = '\123'; char b = '\567'; char c = '345'; //Error
You can also specify Hexadecimal character literal in \udddd notation. ‘d’ value can be from 0 to 9 and a to f or A to F. These are also called Unicode literals in Java.
Example:
char a = '\uaef0'; char b = '\ua123'; char c = "\u1234"; //Error. Double Quote
5. String Literals
String literal is a group of characters, numbers and symbols surrounded by double quotes. In C language, a string is a character array. In Java language, String is an Object. It has methods to calculate length, reverse string, replace characters and more.
Example:
String a = "Hello Java"; String b = "Hello\nJava"; //you can use new line String c = "Hello" + " Java"; //Concatenation
Having an understanding of literals improves your coding. You can write better java programs after practising these basics.
[WpProQuiz 53]
Java Data Literals MCQ
1) What is Literal in Java?
A) Literal is the value that is given or assigned to a variable.
B) Literal is a data type
C) Literal is similar to String
D) None of the above
Answer [=] A
Explanation:
Examples: 123, 45.67f, ‘C’, “abc”, false
2) What are the types of Literals available in Java language?
A) Integer and Float
B) Character and String
C) Boolean
D) All the above
Answer [=] D
Explanation:
Literals are Data assigned to Pri-mitive data type variables.
3) What are the types of Integer Literals in Java?
A) Decimal Literals
B) Octal and Hexadecimal Literals
C) Binary Literals
D) All the above
Answer [=] D
Explanation:
JDK 7 introduced binary literals to easily set individual bits of a number.
4) Choose correct examples of decimal literals in Java.
A) int a = 12345;
B) int a = 12_3__5;
C) long a = 987____654_3__21L;
D) All the above
Answer [=] D
Explanation:
To represent big numbers, simply append letter ‘l’ or ‘L’ to the number to make it a long integer. This avoids compiler errors saying “out of range”
5) An Octal number is Java is represented with a leading ____?
A) O (Alphabet)
B) 0 (ZERO)
C) 0x
D) 0X
Answer [=] B
Explanation:
Eg. int a=0765;
6) Choose correct ranges for Decimal, Octal and Hexadecimal numbers in Java?
A) Decimal: 0 to 9
B) Octal: 0 to 7
C) Hexadecimal: 0 to 9 and A to F / a to f
D) All the above
Answer [=] D
7) Choose the correct example of Octal Literal in Java?
A) short = 0564;
B) int = 076__45_2;
C) int = 0______11;
D) All the above
Answer [=] D
Explanation:
int = 0______11; // 8^1 * 1 + 8^0 * 1 = 9
8) What is the prefix used to represent Hexadecimal numbers in Java?
A) 0x
B) 0X
C) A and B
D) None of the above
Answer [=] D
Explanation:
int a=0xFEB5; int b=0X9876__45;
9) Choose correct examples of Hexadecimal literals in Java?
A) long a = 0X987654321L;
B) int a = 0x76FE____23;
C) byte b = 0X0__________F;
D) All the above
Answer [=] D
10) Binary literals in Java are introduced with which version of Java?
A) JDK 5
B) JDK 6
C) JDK 6
D) JDK 8
Answer [=] C
11) Underscore symbols in literal numbers are introduced with which version of Java?
A) JDK 5
B) JDK 6
C) JDK 7
D) JDK 8
Answer [=] C
12) What is the prefix used to represent Binary literals in Java?
A) b or B
B) 0b or 0B
C) xB or xb
D) ob or oB
Answer [=] B
Explanation:
ZERO B or ZERO b byte a = 0b00001111; //15 in decimal
13) What is the correct representation of using Binary literals in Java?
A) int a = 0b1010;
B) int a = 0B1011_1010;
C) int a = 0B0______________1;
D) All the above
Answer [=] D
Explanation:
int a = 0B0______________1; //decimal=1 int b = 0b1010; //decimal=10
14) What is the compiler error for improperly using Underscores ( _ ) in literals in Java?
A) Underscores are out of range
B) IllegalUnderscoresException
C) Underscores have to be located within digits
D) Too many Underscores
Answer [=] C
Explanation:
Underscore symbols cannot be used at the beginning and the end of digits of a number.
15) Choose a correct rule for using Underscores in literals of Java language.
A) Underscores cannot come at the end of a number or next to the last digit of a number.
B) Underscores cannot come at the beginning of a number or before the first digit of a number.
C) Underscores cannot come before or after a decimal point in real numbers like float and double.
D) All the above
Answer [=] D
Explanation:
Also, there is no limit on the number of underscores between digits.
16) What is the maximum number of Underscore characters that can be used in between the digits of a numeric literal in Java?
A) 8
B) 16
C) 32
D) No Limit
Answer [=] D
Explanation:
Theoretically, there is no limit on the number of underscores.
17) Java uses UTF-16 Unicode format to represent characters. What is UTF?
A) Universal Transcript Format
B) Universal Transformation Format
C) Universal Technology Format
D) None of the above
Answer [=] B
Explanation:
Unicode contains 65535 characters.
18) What is the name given to character literals in Java that start with a Back Slash character?
A) Back Slash Sequence
B) Slash Sequence
C) Escape Sequence
D) Extended Sequence
Answer [=] C
Explanation:
\b = backspace \n = new line \\ = backslash
19) What is the literal in Java that can be used to test whether an Object of any type is alive or not?
A) alive
B) liveof
C) null
D) 0
Answer [=] C
Explanation:
String a; if(a==null) System.out.println("Object destroyed");
20) What is the common UTF standard used on the Websites for information exchange?
A) UTF 16
B) UTF 8
C) UTF 32
D) None of the above
Answer [=] B
Explanation:
UTF 16 character encoding standard used by Java language is used only by the Windows internal system and JavaScript Library. Unix, Linux and MacOS use UTF-8 encoding standard.