Multiple Choice Questions
How many bytes a char data type occupies in the memory?
Reason — A char data type occupies 2 bytes in the memory.
Which of the following is a non-primitive data type?
Reason — String is a non-primitive data type.
Which of the following is non-numeric data type?
Reason — boolean data type can store only two values - true or false.
Which of the following ASCII code range is applicable for lowercase letters?
- 65 - 90
- 90 - 115
- 97 - 122
- 95 - 110
97 - 122
Reason — 97 - 122 is the ASCII code range for lowercase letters.
What is not an escape sequence?
Reason — || is the symbol for logical OR operator.
State True or False
There are 128 set of different characters used in a Java program.
Explanation — Java uses Unicode which can represent much more than 128 characters
The ASCII codes of upper case letters range from 97 to 122.
Explanation — ASCII codes of upper case letters range from 65 to 90.
A variable gives the exact representation of data.
Explanation — A literal gives exact representation of data. As value of variable can change, so it cannot give exact representation of data.
The data types int, float, char are called non-primitive types.
Explanation — The data types int, float, char are called Primitive types.
A String literal is assigned to a String variable.
Explanation — The data type of the variable that can hold a String literal should also be String.
A character literal is always enclosed in double quotes.
Explanation — A character literal is enclosed in single quotes.
String constant can be written by using a set of alphanumeric characters.
Explanation — A String literal or String constant is defined by enclosing a set of alphanumeric characters within double quotes.
An object is said to be a non-primitive data.
Explanation — Class is a non-primitive data type so Objects are non-primitive data.
The data type int stores fractional values.
Explanation — float or double data type stores fractional values.
Boolean type data is used to test a condition and results in either true or false.
Explanation — Boolean data type can be either true or false.
Write short answers
What is meant by data type? Name two types of data type.
Data types are used to identify the type of data a memory location can hold and the associated operations of handling it. Data Types are of two types:
- Primitive Data Types
- Reference or Composite Data Types
Why is it necessary to define data type in Java programming?
Data types tells Java how much memory it should reserve for storing the data value. Data types also help in preventing errors as the compiler can check and flag illegal operations at compile time itself.
Define the following with an example:
(c) boolean data type
(e) primitive data type
(f) non-primitive data type
(a) Variable — Variables are identifiers that are used to name a data that holds a value in the memory. The value can change depending upon our requirements in the program. For Example,
int mathScore = 95;
(b) Constant — The keyword final before a variable declaration makes it a constant. Its value can't be changed in the program.
final int DAYS_IN_A_WEEK = 7;
(c) Boolean Data Type — A boolean data type is used to store one of the two boolean values — true or false. The size of boolean data type is 8 bits or 1 byte.
boolean bTest = false;
(d) Coercion — In a mixed mode expression, when the data type of the result gets converted into the higher most data type available in the expression without any intervention of the user, is known as Implicit Type conversion or Coercion.
int a = 42; long b = 50000; long c = a + b;
Here, a is int, b is long so the result of a + b automatically gets converted into long and assigned to variable c which is of long type.
(e) Primitive Data Type — Primitive data types are the basic or fundamental data types used to declare a variable. Examples of primitive data types in Java are byte, short, int, long, float, double, char and boolean.
(f) Non-Primitive Data Type — A non-primitive data type is one that is derived from primitive data types. A number of primitive data types are used together to represent a non-primitive data type. Examples of non-primitive data types in Java are Class and Array.
What is a token? Name different types of tokens.
A token is defined as each individual component of Java program that carries some meaning and takes active part in program execution. The different types of tokens in Java are:
Explain the term type casting.
Type casting is a data conversion in which the data type of the result in a mixed mode expression, gets converted into a specific type as per user's choice. The choice of data type must be written within braces ( ) before the expression.
int a; float b; char c; char d = (char) (a + b * c);
Assign the following to a variable with suitable data type.
(a) m = 22 / 7
(b) p = 1.4142135 (value of square root of 2)
(c) k = 0.00004545
(d) n = 24.50
(a) double m = (22.0 / 7.0);
(b) double p = 1.4142135;
(c) double k = 0.00004545;
(d) float n = 24.50f;
(a) Token and Identifier
(b) Character and Boolean literal
(a) Difference between Token and Identifier:
|A token is the smallest element of a program that is meaningful to the compiler.||Identifiers are used to name things like classes, objects, variables, arrays, functions an so on.|
(b) Difference between Character and Boolean literal:
|Character literal||Boolean literal|
|Character literals are written by enclosing a character within a pair of single quotes.||A boolean literal can take only one of the two boolean values represented by the words true or false.|
|Character literals can be assigned to variables of any numeric data type — byte, short, int, long, float, double, char||Boolean literals can only be assigned to variables declared as boolean|
|Escape Sequences can be used to write character literals||Only true and false values are allowed for boolean literals|
Explain the term type conversion. How is implicit conversion different from explicit conversion?
The process of converting one predefined type into another is called type conversion.
In an implicit conversion, the result of a mixed mode expression is obtained in the higher most data type of the variables without any intervention by the user. For example:
int a = 10; float b = 25.5f, c; c = a + b;
In case of explicit type conversion, the data gets converted to a type as specified by the programmer. For example:
int a = 10; double b = 25.5; float c = (float)(a + b);
Classify the following as primitive or non-primitive data types.
(a) char — Primitive Data Type
(b) arrays — Non-Primitive Data Type
(c) int — Primitive Data Type
(d) classes — Non-Primitive Data Type
In what way is static initialization of data type different from dynamic initialization?
In static initialization, the initial value of the variable is provided as a literal at the time of declaration. For example:
int mathScore = 100; double p = 1.4142135; char ch = 'A';
In dynamic initialization, the initial value of the variable is the result of an expression or the return value of a method call. Dynamic initialization happens at runtime. For example:
int a = 4; int b = Math.sqrt(a); double x = 3.14159, y = 1.4142135; double z = x + y;
Predict the return data type of 'r' and 'n' from the snippet:
int p; float m; r = p+m; n = m/3*(Math.pow(4,3)); System.out.println(r); System.out.println(n);
Return type of r is float and n is double.
Give reason whether the following assignments are correct or not.
(a) int m =155;
(b) float f = 0.002654132;
(c) String str = 'Computer';
(d) boolean p = false;
(e) String b = "true";
(f) char ch = "apps";
(g) String st= "Application";
(h) double n = 455.29044125;
(a) This assignment is correct as 155 is an integer literal and it is assigned to an int variable m.
(b) This assignment is incorrect as data type of 0.002654132 is double but it is assigned to a float variable. The correct assignment will be double f = 0.002654132d;
(c) This assignment is incorrect as the String literal Computer is enclosed in single quotes. It should be in double quotes. The correct assignment will be:
String str = "Computer";
(d) This assignment is correct as false is a valid boolean literal and it is assigned to a boolean variable.
(e) This assignment is correct as "true" is a string literal not a boolean literal as it is enclosed in double quotes. It is correctly assigned to a String variable.
(f) This assignment is incorrect as "apps" is a string literal not a character literal and it is assigned to a variable ch of char data type.
(g) This assignment is correct as "Application" is a string literal and it is correctly assigned to a String variable.
(h) This assignment is correct as 455.29044125 is a literal of double data type and it is correctly assigned to a double variable.