java interview Questions
4.23K subscribers
61 photos
23 files
159 links
java interview questions for beginners
Any promotion for
rajp6133@gmail.com
Download Telegram
Exception handling Interview Questions

Q) What is an exception?

Exceptions are abnormal conditions that arise during execution of the program. It may occur due to wrong user input or wrong logic written by programmer.

Q) Exceptions are defined in which java package? OR which package has definitions for all the exception classes?

Java.lang.Exception
This package contains definitions for Exceptions.
https://cjavapoint.blogspot.com/
Q) What is throw keyword in exception handling?

The throw keyword is used for throwing user defined or pre-defined exception.

Q) What is throws keyword?

If a method does not handle a checked exception, the method must declare it using the throwskeyword. The throws keyword appears at the end of a method’s signature.

https://cjavapoint.blogspot.com/
Q1) What is the difference between an Inner Class and a Sub-Class?

Ans: An Inner class is a class which is nested within another class. An Inner class has access rights for the class which is nesting it and it can access all variables and methods defined in the outer class.

A sub-class is a class which inherits from another class called super class. Sub-class can access all public and protected methods and fields of its super class
https://cjavapoint.blogspot.com/
Q2) What are the various access specifiers for Java classes?

Ans: In Java, access specifiers are the keywords used before a class name which defines the access scope. The types of access specifiers for classes are:

1) Public: Class,Method,Field is accessible from anywhere.

2) Protected: Method,Field can be accessed from the same class to which they belong or from the sub-classes, and from the class of same package, but not from outside.

3) Default: Method,Field,class can be accessed only from the same package and not from outside of it’s native package.

4) Private: Method,Field can be accessed from the same class to which they belong.
https://cjavapoint.blogspot.com/
Q3) What’s the purpose of Static methods and static variables?

Ans: When there is a requirement to share a method or a variable between multiple objects of a class instead of creating separate copies for each object, we use static keyword to make a method or variable shared for all objects
https://cjavapoint.blogspot.com/
Q4) What is data encapsulation and what’s its significance?

Ans: Encapsulation is a concept in Object Oriented Programming for combining properties and methods in a single unit.

Encapsulation helps programmers to follow a modular approach for software development as each object has its own set of methods and variables and serves its functions independent of other objects. Encapsulation also serves data hiding purpose.
https://cjavapoint.blogspot.com/
Q5) What is a singleton class? Give a practical example of its usage.

A singleton class in java can have only one instance and hence all its methods and variables belong to just one instance. Singleton class concept is useful for the situations when there is a need to limit the number of objects for a class.

The best example of singleton usage scenario is when there is a limit of having only one connection to a database due to some driver limitations or because of any licensing issues.

https://cjavapoint.blogspot.com/
Q7: What is an infinite Loop? How infinite loop is declared?

Ans: An infinite loop runs without any condition and runs infinitely. An infinite loop can be broken by defining any breaking logic in the body of the statement blocks.

Infinite loop is declared as follows:

for (;;) {
// Statements to execute //
Add any loop breaking logic
}
https://cjavapoint.blogspot.com/
What is the difference between double and float variables in Java?

Ans: In java, float takes 4 bytes in memory while Double takes 8 bytes in memory. Float is single precision floating point decimal number while Double is double precision decimal number.
https://cjavapoint.blogspot.com/
 Is Empty .java file name a valid source file name?

Yes, Java allows to save our java file by .java only, we need to compile it by javac .java and run by java classname Let's take a simple example:

//save by .java only  

class A{  

public static void main(String args[]){  

System.out.println("Hello java");  

}  

}  

//compile by javac .java  

//run by     java A  

compile it by javac .java

run it by java A

https://cjavapoint.blogspot.com/2019/12/method-signature.html?m=1
class FibonacciExample2
{
static int n1=0,n2=1,n3=0;
static void printFibonacci(int count)
{
if(count>0)
{
n3 = n1 + n2;
n1 = n2;
n2 = n3;
System.out.print(" "+n3);
printFibonacci(count-1);
}
}
public static void main(String args[])
{
int count=10;
System.out.print(n1+" "+n2);
//printing 0 and 1
printFibonacci(count-2);
//n-2 because 2 numbers are already printed
}
}
https://cjavapoint.blogspot.com/?m=1
👍1
import java.util.Scanner;

public class FibonaciiSeries
{

public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
System.out.println("Enter Number");
int x=s.nextInt();
int fib[]=new int [x];
fib[0]=0;
fib[1]=1;
for(int i=2;i<x;i++)
{
fib[i]=fib[i-1]+fib[i-2];
}
for(int se:fib)
{
System.out.print(se+" ");
}
}

}
https://cjavapoint.blogspot.com/?m=1
👍1
import java.util.Arrays;
import java.util.LinkedHashSet;

public class ArrayExample
{
public static void main(String[] args) throws CloneNotSupportedException
{
//Array with duplicate elements
Integer[] numbers = new Integer[] {1,2,3,4,5,1,3,5};

//This array has duplicate elements
System.out.println( Arrays.toString(numbers) );

//Create set from array elements
LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>( Arrays.asList(numbers) );

//Get back the array without duplicates
Integer[] numbersWithoutDuplicates = linkedHashSet.toArray(new Integer[] {});

//Verify the array content
System.out.println( Arrays.toString(numbersWithoutDuplicates) );
}
}
https://cjavapoint.blogspot.com/?m=1
What is a Lambda expression in Java ?



A Lambda expression represents an Anonymous method.



Anonymous method concept is similar to that of an Anonymous class… the difference being it implements a functional interface.



Functional interface is a new interface concept in Java 8. A functional interface can only declare one abstract method.



Lambda expressions allow the programmer to pass code in a concise manner making the code more clearer and flexible.


Lambda syntax



A lambda expression contains:

A parameter list
An arrow symbol(->)
Body of the lambda containing statements



The syntax for Lambda expressions is:

(parameters) -> {statements;}


How to write simple methods as lambda expression



Here is a simple method that displays a message “Hello World”.


1
2
3
4
5


public void hello(){
System.out.println("Hello World");
}


To convert this method to a lambda expression, remove the access specifier “public”, return type “void” and method name “hello” and write it as :
1
2
3


() -> {System.out.println("Hello World");}




Here is another method example that adds two numbers and returns their sum :


1
2
3
4
5


int add(int x, int y){
return x+y;
}




This method can be converted to lambda expression as :


1
2
3


(int x, int y) -> {return x+y;}



Important points about lambda expressions



Here are some notable points regarding lambda expressions :


1 ) A lambda expression can have zero or more parameters.



Here is an example of lambda expression with zero parameters:


1
2
3


() -> {System.out.println("Hello World");}




Here is an example of lambda expression with two parameters:


1
2
3


(int x, int y) -> {return x+y;}




This lambda expression accepts two integer parameters and returns their sum.


2) If the type of the parameters can be decided by the compiler, then we can ignore adding them in the lambda expression.


1
2
3
4
5


(int x, int y) -> {return x+y;} // type mentioned

(x,y) -> {return x+y;}; // type ingored



3) If there is only one parameter, the parenthesis of parameter can be omitted.



Here are some examples :
1
2
3
4
5
6
7


x -> {return x+10;}

String s -> s.toUpperCase()

String s -> System.out.println(s)



4) If the body has just one expression, the return keyword and curly braces can be omitted as show below:


1
2
3


(int x, int y) -> x + y




If the return type of parameters is omitted, the compiler determines default parameter types.


1
2
3
4
5


(x,y) -> x+y

(str, i) -> str.substring(i)



5) A lambda can also have empty parameters


1
2
3
4
5


() -> {return “Hello”;}

() -> System.out.println(“Hello”)



6) A lambda can also have empty parameter as well as empty body


1
2
3


() -> {}




This represents a valid lambda expression that takes no parameters and returns void.


How to call a lambda expression ?



Once a lambda expression is written, it can be called and executed like a method.



For calling a lambda expression, we should create a functional interface.



Here is an example that uses functional interface to execute lambda expression :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16



public class FuntionalInterfaceDemo {

interface MyInter{
void hello();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MyInter infVar = () -> {System.out.println("Hello World");};

infVar.hello();
}

}




Refer more details on functional interface and executing lambda expressions in the following article:



Running lambda expression with Functional Interface
1👍1
import java.util.Arrays;
import java.util.LinkedHashSet;

public class ArrayExample
{
public static void main(String[] args) throws CloneNotSupportedException
{
//Array with duplicate elements
Integer[] numbers = new Integer[] {1,2,3,4,5,1,3,5};

//This array has duplicate elements
System.out.println( Arrays.toString(numbers) );

//Create set from array elements
LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>( Arrays.asList(numbers) );

//Get back the array without duplicates
Integer[] numbersWithoutDuplicates = linkedHashSet.toArray(new Integer[] {});

//Verify the array content
System.out.println( Arrays.toString(numbersWithoutDuplicates) );
}
}
https://cjavapoint.blogspot.com/?m=1
Armstrong Number in Java

In this section, we will discuss what is Armstrong number and also create Java programs to check if the given number is an Armstrong number or not. The Armstrong number program frequently asked in Java coding interviews and academics.

Armstrong Number

An Armstrong number is a positive m-digit number that is equal to the sum of the mth powers of their digits. It is also known as pluperfect, or Plus Perfect, or Narcissistic number. It is an OEIS sequence A005188. Let’s understand it through an example.

https://cjavapoint.blogspot.com/?m=1