Core Java Interview Question Page 26
Language Fundamentals
Question: How many number of non-public class definitions can a source file have A source file can contain unlimited number of non-public class definitions List primitive data types, there size and there range (min, max)
Answer:
Data Type |
Bytes |
bits |
min |
max |
boolean |
- |
1 |
- |
- |
char |
2 |
16 |
0 |
2^16-1 |
byte |
1 |
8 |
-2^7 |
2^7-1 |
short |
2 |
16 |
-2^15 |
2^15-1 |
int |
4 0 |
32 |
-2^31 |
2^31-1 1 |
long |
8 |
64 2 |
-2^63 |
2^63-1 |
float 3 |
4 |
32 |
- 4 |
- |
double |
8 5 |
64 |
- |
- 6 |
Question: What types of values does boolean variables take It only takes values true and false. Which primitive datatypes are signed.
Answer: All except char and Boolean
Question: Is char type signed or unsigned
Answer: char type is integral but unsigned. It range is 0 to 2^7-1
Question: What forms an integral literal can be 7
Answer:
decimal, octal and hexadecimal, hence example it can be 28, 034 and 0x1c respectively
Question: What is the default value of Boolean
Answer:
False
Question: Why is the main method static
Answer:
So that it can be invoked without creating an instance of that class
Question: What is the difference between class variable, member variable and automatic(local) variable
8
Answer:
class variable is a static variable and does not belong to instance of class but rather shared across all the instances
member variable belongs to a particular instance of class and can be called from any method of the class
automatic or local variable is created on entry to a method and has only method scope
Question: When are static and non static variables of the class initialized
Answer:
The static variables are initialized when the class is loadedNon static variables are initialized just before the constructor is called
Question: When are automatic variable initialized
Answer:
Automatic variable have to be initialized explicitly
Question: How is an argument passed in java, by copy or by reference
9
Answer:
If the variable is primitive datatype then it is passed by copy.
If the variable is an object then it is passed by reference
Question: What is garbage collection
Answer:
The runtime system keeps track of the memory that is allocated and is able to determine whether that memory is still useable. This work is usually done in background by a low-priority thread that is referred to as garbage collector. When the gc finds memory that is no longer accessible from any live thread it takes steps to release it back to the heap for reuse
Question: Does System.gc and Runtime.gc() guarantee garbage collection
Answer: No 0
Operators and assignment
Question: What are different types of operators in javaAnswer:
Uniary ++, --, +, -, |, ~, ()
Arithmetic *, /, %,+, -
Shift <<, >>, >>>
Comparison =, instanceof, = =,!=Bitwise &, ^, |Short Circuit &&, ||Ternary ?:Assignment =
Question: How does bitwise (~) operator work
Answer:
It converts all the 1 bits in a binary value to 0s and all the 0 bits to 1s, e.g 11110000 coverts to 00001111
Question: What is a modulo operator %
Answer:
This operator gives the value which is related to the remainder of a divisione.g x=7%4 gives remainder 3 as an answer
Question: Can shift operators be applied to float types.
1
Answer:
No, shift operators can be applied only to integer or long types
Question: What happens to the bits that fall off after shifting
Answer:
They are discarded
Question: What values of the bits are shifted in after the shift
Answer:
In case of signed left shift >> the new bits are set to zero But in case of signed right shift it takes the value of most significant bit before the shift, that is if the most significant bit before shift is 0 it will introduce 0, else if it is 1, it will introduce 1
2