100 Java Programs With Output Useful Collection of Java Programs - Aniket Pataskar
100 Java Programs With Output Useful Collection of Java Programs - Aniket Pataskar
: Aniket Pataskar
INDEX
1. Hello World example 3
2. Add two matrices 4
3. Armstrong number 7
4. Binary Search 11
5. Bubble sort 14
6. Command line arguments 17
7. Find Odd or Even 18
8. Convert Fahrenheit to Celsius 21
9. Display Date and Time 23
10.Largest of three integers 26
11. Java Programs part 1 28
12. Java Programs part 2 49
13. Java Programs part 3 74
14. Java Programs part 4 102
15. Java Programs part 5 120
16. Java Programs part 6 134
17. Java Interview Questions part 1 161 18. Java Interview Questions part 2 178
Hello World is passed as an argument to println method, you can print whatever you
want. There is also a print method which doesnt takes the cursor to beginning of next line
as println does. System is a class, out is object of PrintStream class and println is the
method.
Output of program:
Output of program:
This code adds two matrix, you can modify it to add any number of matrices. You can
create a Matrix class and create its objects and then create an add method which sum the
objects, then you can add any number of matrices by repeatedly calling the method using a
loop.
Output of program:
Other methods of searching are Linear search and Hashing. There is a binarySearch
method in Arrays class which can also be used.
binarySearch method returns the location if a match occurs otherwise - (x+1) where x is
the no. of elements in the array, For example in the second case above when p is not
present in characters array the returned value will be -6.
This java program checks if a number is Armstrong or not. Armstrong number is a number
which is equal to sum of digits raise to the power total number of digits in the number.
Some Armstrong numbers are: 0, 1, 4, 5, 9, 153, 371, 407, 8208 etc.
Java programming code
Output of program:
Using one more loop in the above code you can generate Armstrong numbers from 1 to
n(say) or between two integers (a to b).
Java program to bubble sort: This code sorts numbers inputted by user using Bubble sort
algorithm.
Java programming code
Complexity of bubble sort is O(n2) which makes it a less frequent option for arranging in
sorted order when quantity of numbers is high.
Output of program:
Output :
This java program finds if a number is odd or even. If the number is divisible by 2 then it
will be even, otherwise it is odd. We use modulus operator to find remainder in our
program.
Java programming source code
Output of program:
Another method to check odd or even, for explanation see:
There are other methods for checking odd/even one such method is using bitwise operator.
Java program to convert Fahrenheit to Celsius: This code does temperature conversion
from Fahrenheit scale to Celsius scale.
Java programming code
Output of program:
Java program to display date and time, print date and time using java program
Java date and time program :- Java code to print or display current system date and time.
This program prints current date and time. We are using
GregorianCalendar class in our program. Java code to print date and
time is given below :-
Output of program:
Dont use Date and Time class of java.util package as their methods are deprecated means
they may not be supported in future versions of JDK. As an alternative of
GregorianCalendar class you can use Calendar class.
This java program finds largest of three numbers and then prints it. If the entered numbers
are unequal then numbers are not distinct is printed.
Java programming source code
Output of program:
Program 1
Find Maximum of 2 nos.
class Maxof2{
public static void main(String args[]){ //taking value as command line
argument.
//Converting String format to
Integer value
int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); if(i > j)
System.out.println(i+ is greater than +j);
else
System.out.println(j+ is greater
than +i); }
}
Program 2
Find Minimum of 2 nos. using conditional operator
class Minof2{
public static void main(String args[]){
//taking value as command line argument.
//Converting String format to Integer value
int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); int result = (i<j)?i:j; System.out.println(result+ is a
minimum value); }
}
Program 3
Write a program that will read a float type value from the keyboard and print the following output.
->Small Integer not less than the number.
->Given Number.
->Largest Integer not greater than the number.
class ValueFormat
{
public static void main(String args[]){ double i = 34.32; //given number System.out.println(Small Integer
not greater than the number : +Math.ceil(i));
System.out.println(Given Number : +i);
System.out.println(Largest Integer not greater than the number : +Math.floor(i));
Good);
break;
case 6:
System.out.println(Good); break;
case 5: System.out.println(Work
Hard);
break;
case 4:
System.out.println(Poor); break;
case 3: case 2:
case 1: case 0:
System.out.println(Very
Poor);
break;
default:
System.out.println(Invalid value Entered); } }
/*Write a program to find SUM AND PRODUCT of a given Digit. */
class Sum_Product_ofDigit{
public static void main(String args[]){
int num = Integer.parseInt(args[0]); //taking value as command line argument.
int temp = num,result=0; //Logic for sum of digit while(temp>0){ result = result + temp;
temp; }
System.out.println(Sum of Digit for +num+ is : +result);
//Logic for product of digit temp = num;
result = 1;
while(temp > 0){
result = result * temp;
temp; }
System.out.println(Product of
}
System.out.println(Reverse number is : +result);
} }
Program 9
/*Write a program to find Fibonacci series of a given no.
Example : Input - 8
Output - 1 1 2 3 5 8 13 21 */
class Fibonacci{
public static void main(String
args[]){
int num =
Integer.parseInt(args[0]); //taking no. as command line argument. System.out.println(*****Fibonac
ci Series*****);
int f1, f2=0, f3=1;
for(int i=1;i<=num;i++){ System.out.print( +f3+ ); f1 = f2; f2 = f3;
f3 = f1 + f2;
} }
}
Program 10
/* Write a program to find sum of all integers greater than 100 and
less than 200 that are divisible by 7 */
class SumOfDigit{
} }
Program 14
/* Write a program to convert given no. of days into months and days.
(Assume that each month is of 30 days)
Example : Input - 69
Output - 69 days = 2 Month and 9 days */
class DayMonthDemo{
public static void main(String
args[]){
int num = Integer.parseInt(args[0]); int days = num%30; int month = num/30; System.out.println(num+ days =
+month+ Month and +days+ days);
} }
Program 15
/*Write a program to generate a Triangle.
eg:
1
22
333
4 4 4 4 and so on as per user given
number */ class Triangle{
public static void main(String args[]){
int num = Integer.parseInt(args[0]);
if(num%i==0) {
System.out.println(num+ is not a Prime Number);
flag = 1;
break; }
} if(flag==0)
System.out.println(num+ is a Prime Number);
} }
Program 19
/* Write a program to find whether no. is palindrome or not. Example :
Input - 12521 is a palindrome
no.
Input - 12345 is not a
palindrome no. */
class Palindrome{
public static void main(String
args[]){
int num =
Integer.parseInt(args[0]);
int n = num; //used at last time
check
int reverse=0,remainder;
while(num > 0){
remainder = num % 10; reverse = reverse * 10 +
remainder;
num = num / 10;
}
if(reverse == n)
System.out.println(n+ is a
1
23
456
7 8 9 10 N */
class Output1{
public static void main(String
args[]){
int c=0;
int n = Integer.parseInt(args[0]); loop1: for(int i=1;i<=n;i++){ loop2: for(int j=1;j<=i;j++){
if(c!=n){ c++;
System.out.print(c+
);
}
else
break loop1;
}
System.out.print(\n); }
Program 24
/* Display Triangle as follow
0
10
101
0 1 0 1 */
class Output2{
public static void main(String
args[]){
for(int i=1;i<=4;i++){
for(int j=1;j<=i;j++){ System.out.print(((i +j)%2)+ );
}
System.out.print(\n);
} }
}
Program 25
/* Display Triangle as follow
1
24
369
4 8 12 16 N (indicates no. of
Rows) */
class Output3{
public static void main(String
args[]){
int n = Integer.parseInt(args[0]);
for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){
);
}
} }
System.out.print((i*j)+ System.out.print(\n); }
1. Java if else program
Java if else program uses if else to execute statement(s) when a condition is fulfilled.
Below is a simple program which explains the usage of if else in java programming
language.
Java programming if else
statement
Output of program:
Above program ask the user to enter marks obtained in exam and the input marks are
compared against minimum passing marks. Appropriate message is printed on screen
based on whether user passed the exam or not. In the above code both if and else block
contain only one statement but we can execute as many statements as
required.
2. Nested If Else statements
You can use nested if else which means that you can use if else statements in any if or else
block.
Output of program:
3. Java for loop
Simple for loop example in Java
Example program below uses for loop to print first 10 natural numbers i.e. from 1 to 10.
Output of program:
4. Java for loop example to print stars in console
Following star pattern is printed
*
**
***
****
*****
Above program uses nested for loops (for loop inside a for loop) to print stars. You can
also use spaces to create another pattern, It is left for
you as an exercise.
Output of program:
5. Java while loop
Java while loop is used to execute statement(s) until a condition holds true. In this tutorial
we will learn looping using Java while loop examples. First of all lets discuss while loop
syntax:
while (condition(s)) {
// Body of loop
}
1. If the condition holds true then the body of loop is executed, after execution of loop
body condition is tested again and if the condition is
true then body of loop is executed again and the process repeats until condition becomes
false. Condition is always evaluated to true or false and if it is a constant, For example
while (c) { } where c is a constant then any non zero value of c is considered true and
zero is considered false.
2. You can test multiple conditions such as
Loop body is executed till value of a is greater than value of b and c is not equal to zero.
3. Body of loop can contain more than one statement. For multiple statements you need to
place them in a block using {} and if body of loop contain only single statement you can
optionally use {}. It is recommended to use braces always to make your program easily
readable and understandable.
Java while loop example
Following program asks the user to
input an integer and prints it until user enter 0 (zero).
Output of program:
6. Java program to print alphabets
This program print alphabets on screen i.e a, b, c, , z. Here we print
alphabets in lower case.
You can easily modify the above java program to print alphabets in upper
case.
Output of program:
while
or
do
Output of program:
How to get input from user in java
This program tells you how to get input from user in a java program. We are using
Scanner class to get input from user. This program firstly asks the user to enter a string
and then the string is printed, then an integer and entered integer is also printed and finally
a float and it is also printed on the screen. Scanner class is present in java.util package so
we import this package in our program. We first create an object of Scanner class and then
we use the methods of Scanner class. Consider the statement
Scanner a = new Scanner(System.in); Here Scanner is the class name, a is the name of
object, new keyword is used to allocate the memory and System.in is the input stream.
Following methods of Scanner class
are used in the program below :-
1) nextInt to input an integer
2) nextFloat to input a float
3) nextLine to input a string
Java programming source code
Output of program:
There are other classes which can be used for getting input from user and you can also
take input from other devices.
Java program to add two numbers
Java program to add two numbers :-
Given below is the code of java program that adds two numbers which are entered by the
user.
Java programming source code
Output of program:
Above code can add only numbers in range of integers(4 bytes), if you wish to add very
large numbers then you can use BigInteger class. Code to add very large numbers:
In our code we create two objects of BigInteger class in java.math package. Input should
be digit strings otherwise an exception will be raised, also you cannot simply use +
operator to add objects of BigInteger class, you have to use add method for addition of
two objects.
Output of program:
Java Method example program
Output of program:
Java String methods
String class contains methods which are useful for performing operations on String(s).
Below program illustrate how to use inbuilt methods of String class.
Java string class program
Output of program:
Java static block program
Java programming language offers a block known as static which is executed before main
method executes. Below is the simplest example to understand functioning of static block
later we see a practical use of static block.
Java static block program
Output of program:
Static block can be used to check conditions before execution of main begin, Suppose we
have developed an application which runs only on Windows operating system then we
need to check what operating system is installed on user machine. In our java code we
check what operating system user is using if user is using operating system other than
Windows then the program terminates.
We are using getenv method of System class which returns value of environment variable
name of which is passed an as argument to it. Windows_NT is a family of operating
systems which includes Windows XP, Vista, 7, 8 and others.
Output of program on Windows 7:
Java static method
Java static method program: static methods in Java can be called without creating an
object of class. Have you noticed why we write static keyword when defining main its
because
program execution begins from main
and no object has been created yet. Consider the example below to improve your
understanding of static methods.
Java static method example
program
Output of program:
Output of program:
Here we are using min and max methods of Math class, min returns minimum of two
integers and max
returns maximum of two integers.
Following will produce an error:
We need to write class name because many classes may have a method with same name
which we are calling.
Using multiple classes in Java program
ava program can contain more than one i.e. multiple classes. Following example Java
program contain two classes: Computer and Laptop. Both classes have their own
constructors and a method. In main method we create object of two classes and call their
methods.
Using two classes in Java
program
Output of program:
Java constructor tutorial with code examples
Constructor java tutorial: Java constructors are the methods which are used to initialize
objects.
Constructor method has the same name as that of class, they are called or invoked when an
object of class is created and cant be called explicitly. Attributes of an object may be
available when creating objects if no attribute is available then default constructor is
called, also some of the attributes may be known initially. It is optional to write
constructor method in a class but due to their utility they are used.
Java constructor example
Output of program:
This code is the simplest example of constructor, we create class Programming and create
an object, constructor is called when object is created. As you can see in output
Constructor method called. is printed.
Java constructor overloading
Like other methods in java constructor can be overloaded i.e. we can create as many
constructors in our class as desired. Number of constructors depends on the information
about attributes of an object we have while creating objects. See constructor overloading
example:
Output of program:
When cpp object is created default constructor is called and when java object is created
constructor with argument is called, setName method is used to set name attribute of
language, getName method prints language name.
Java constructor chaining
Constructor chaining occurs when a class inherits another class i.e. in inheritance, as in
inheritance sub class inherits the properties of super class. Both the super and sub class
may have constructor methods, when an object of sub class is created its constructor is
invoked it initializes sub class attributes, now super class constructor needs to be invoked,
to
achieve this java provides a
super
keyword through which we can pass arguments to super class constructor. For more
understanding see constructor chaining example:
Output of program:
Output of program:
Java program to find largest of three numbers
This java program finds largest of three numbers and then prints it. If the entered numbers
are unequal then numbers are not distinct is printed.
Java programming source code
Output of program:
If you want to find out largest of a list of numbers say 10 integers then using above
approach is not easy, instead you can use array data structure.
Enhanced for loop java
Enhanced for loop java: Enhanced for
loop is useful when scanning the array instead of using for loop. Syntax
of enhanced for loop is:
for (data_type variable:
array_name)
Here array_name is the name of array.
Java enhanced for loop integer
array
Output of program:
Java exception handling tutorial with example programs
Java exception handling tutorial: In this tutorial we will learn how to handle exception
with the help of suitable examples. Exceptions are errors which occur when the program is
executing. Consider the Java program below which divides two integers.
Now we compile and execute the above code two times, see the output of program in two
cases:
In the second case we are dividing a by zero which is not allowed in mathematics, so a run
time error will occur i.e. an exception will occur. If
we write programs in this way then they will be terminated abnormally and user who is
executing our program or application will not be happy. This occurs because input of user
is not valid so we have to take a preventive action and the best thing will be to notify the
user that it is not allowed or any other meaningful message which is relevant according to
context. You can see the information displayed when exception occurs it includes name of
thread, file name, line of code (14 in this case) at which exception occurred, name of
exception (ArithmeticException) and its description(/ by zero). Note that exceptions
dont occur only because of invalid input only there are other reasons which are beyond of
programmer control such as stack overflow exception, out of memory exception when an
application requires memory larger than what is available.
Java provides a powerful way to handle such exceptions which is known as exception
handling. In it we write vulnerable code i.e. code which can throw exception in a separate
block called as
try
block and
exception handling code in another
block called
catch
block. Following
modified code handles the exception. Java exception handling example
Here our catch block capture an exception which occurs because we are trying to access
an array element which does not exists (languages[5] in this case). Once an exception is
thrown control comes out of try block and remaining instructions of try block will not be
executed. At compilation time syntax and semantics checking is done and code
is not executed on machine so
exceptions can only be detected at run time.
Finally block in Java
Finally block is always executed whether an exception is thrown or not.
Output of program:
Exception occurred because we try to allocate a large amount of memory which is not
available. This amount of memory may be available on your system if this is the case try
increasing the amount of memory to allocate through the program.
Java program to find factorial
This java program finds factorial of a number. Entered number is checked first if its
negative then an error message is printed.
Java programming code
Output of program:
You can also find factorial using recursion, in the code fact is an integer variable so only
factorial of small numbers will be correctly displayed or which fits in 4 bytes. For large
numbers you can use long data type.
Java program for calculating factorial of large numbers
Above program does not give correct
result for calculating factorial of say 20. Because 20! is a large number and cant be stored
in integer data type which is of 4 bytes. To calculate factorial of say hundred we use
BigInteger class of java.math package.
We run the above java program to calculate 100 factorial and following output is obtained.
Java program print prime numbers
This java program prints prime numbers, number of prime numbers required is asked from
the user. Remember that smallest prime
number is 2.
Java programming code
Output of program:
We have used sqrt method of Math package which find square root of a number. To check
if an integer(say n) is prime you can check if it is divisible by any integer from 2 to (n-1)
or check from 2 to sqrt(n), first one is less efficient and will take more time.
Java program to print Floyds triangle
This java program prints Floyds triangle.
Java programming source code
Output of program:
In Floyd triangle there are n integers in the nth row and a total of (n(n+1))/ 2 integers in n
rows. This is a simple pattern to print but helpful in learning how to create other patterns.
Key to develop pattern is using nested loops appropriately.
Java program to reverse a string
This java program reverses a string entered by the user. We use charAt method to extract
characters from the string and append them in reverse
order to reverse the entered string. Java programming code
Output of program:
Java program to check palindrome
Java palindrome program: Java program to check if a string is a palindrome or not.
Remember a string is a palindrome if it remains unchanged when reversed, for example
dad is a palindrome as reverse of dad is dad whereas program is not a
palindrome. Some other palindrome strings are mom, madam, abcba.
Java programming source code
Output of program:
Interface in Java
Interface in Java: Java interfaces are like Java classes but they contain only static final
constants and declaration of methods. Methods are not defined and classes which
implements an interface must define the body of method(s) of interface(s). Final constants
cant be modified once they are initialized; final, interface, extend and implements are
Java keywords.
Declaration of interface:
Output of program:
Java program to compare two strings
This program compare strings i.e test whether two strings are equal or not, compareTo
method of String class is used to test equality of two String class objects. compareTo
method is case sensitive i.e java and Java are two different strings if you use
compareTo method. If you wish to
compare strings but ignoring the case
then use compareToIgnoreCase method.
Java programming code
Output of program:
String hello is greater than Hello as ASCII value of h is greater than H. To check
two strings for equality you can use equals method which returns true if strings are equal
otherwise false.
Java program for linear search
Java program for linear search: Linear search is very simple, To check if an element is
present in the given list we compare search element with every element in the list. If the
number is found then success occurs otherwise the list doesnt contain the element we are
searching.
Java programming code
Output of program:
Above code locate first instance of element to found, you can modify it for multiple
occurrence of same element and count how many times it occur in the list. Similarly you
can find if an alphabet is present in a string.
Java program for binary search
Java program for binary search: This code implements binary search algorithm. Please
note input numbers
Obviously the amount of available after garbage collection will be different on your
computer. Numbers are not important, what is important is that amount of memory
available is more than before. You can use this code in your program or projects which
uses large amount of memory or where frequently new objects are created but are required
for a short span of time.
Java program to get ip address
This program prints IP or internet protocol address of your computer system. InetAddress
class of java.net package is used, getLocalHost method returns InetAddress object which
represents local host.
Java programming source code
Output of program:
Output of code prints computer name/ IP address of computer. Java has a very vast
Networking API and can be used to develop network applications.
Java program to reverse number
This program prints reverse of a number i.e. if the input is 951 then output will be 159.
Java programming source code
Output of program:
You can also reverse or invert a number using recursion. You can use this code to check if
a number is palindrome or not, if the reverse of an integer is equal to integer then its a
palindrome number else not.
Java program to transpose matrix
This java program find transpose of a matrix of any order.
Java programming source code
Output of program:
This code can be used to check if a matrix symmetric or not, just compare the matrix with
its transpose if they are same then its symmetric otherwise non symmetric, also its
useful for calculating orthogonality of a matrix.
Java program to multiply two matrices
This java program multiply two matrices. Before multiplication matrices are checked
whether they can be multiplied or not.
Java programming code
Output of program:
This is a basic method of multiplication, there are more efficient algorithms available.
Also this approach is not recommended for sparse matrices which contains a large number
of elements as zero.
Java program to open Notepad
How to open Notepad through java program: Notepad is a text editor which comes with
Windows operating system, It is used for creating and editing text files. You may be
developing java programs in it but you can also open it using your java code.
How to open notepad using Java
program
This example shows how we can search a word within a String object using indexOf()
method which returns a position index of a word within the string if found. Otherwise it
returns -1.
Result:
The above code sample will
Result:
produce the following result.
How to optimize string concatenation ?
Solution:
Result:
The above code sample will produce the following result.The result may vary.
Result:
Time taken for stringconcatenation
using + operator : 0 ms
Time taken for String
concatenationusing StringBuffer :
22 ms
How to merge two arrays ?
Solution:
This example shows how to merge two arrays into a single array by the use of
list.Addall(array1.asList(array2) method of List class and Arrays.toString () method of
Array class.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String
args[]) {
String a[] = { A, E,
I };
String b[] = { O, U };
List list = new
ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = list.toArray();
System.out.println(Arrays.toString
(c));
} }
Result:
Following example shows how to use equals () method of Arrays to check if two arrays
are equal or not.
Result:
[A, E, I, O, U]
Solution:
import java.util.Arrays;
public class Main {
public static void
main(String[] args) throws
Exception {
int[] ary = {1,2,3,4,5,6};
int[] ary1 = {1,2,3,4,5,6};
int[] ary2 = {1,2,3,4};
System .out.println(Is array
1 equal to array 2??
+Arrays.equals(ary, ary1));
System.out.println(Is array
1 equal to array 3??
+Arrays.equals(ary, ary2));
}
}
Result:
This example demonstrates the way of method overriding by subclasses with different
number and type of parameters.
Result :
Is array 1 equal to array 2?? true
Is array 1 equal to array 3??
false
Solution :
public class Findareas{
public static void main (String
[]agrs){
Figure f= new Figure(10 ,
10);
Rectangle r= new
Rectangle(9 , 5);
Figure figref;
figref=f;
System.out.println(Area is :+figref.area());
figref=r;
System.out.println(Area is :+figref.area());
} }
class Figure{
double dim1;
double dim2;
Figure(double a , double b) {
dim1=a;
dim2=b; }
Double area() {
System .out.println(Inside area for figure.);
return(dim1*dim2);
} }
class Rectangle extends Figure {
Rectangle (double a, double b) {
super(a ,b);
}
Double area() {
System.out.println(Inside
area for rectangle.);
return(dim1*dim2);
} }
Result:
This example displays an integer array using for loop & foreach loops.
Result:
Following example shows how to implement stack by creating user defined push() method
for entering elements and pop() method for retriving elements
from the stack.
public class MyStack {
private int maxSize;
private long[] stackArray;
private int top;
public MyStack(int s) {
maxSize = s;
stackArray = new
long[maxSize];
top = 1; }
public void push(long j) { stackArray[++top] = j;
}
public long pop() {
return stackArray[top];
}
public long peek() {
return stackArray[top];
}
public boolean isEmpty() { return (top == 1);
}
public boolean isFull() { return (top == maxSize - 1); }
public static void
main(String[] args) {
MyStack theStack = new MyStack(10);
theStack.push(10);
theStack.push(20);
theStack.push(30);
theStack.push(40);
theStack.push(50);
while (!theStack.isEmpty()) {
long value =
theStack .pop();
System.out.print(value);
System.out.print( );
}
System.out.println();
}
}
Result:
import java.util.LinkedList;
class GenQueue<E> {
private LinkedList<E> list =
new LinkedList<E>();
public void enqueue(E item) {
list.addLast(item);
}
public E dequeue() {
return list.poll();
}
public boolean hasItems() { return !list.isEmpty();
}
public int size() {
return list.size();
}
public void addItems(GenQueue<? extends E> q) {
while (q.hasItems())
list.addLast(q.dequeue());
}
}
public class GenQueueTest {
public static void
main(String[] args) {
GenQueue<Employee> empList; empList = new
GenQueue<Employee>();
GenQueue<HourlyEmployee>
hList;
hList = new
GenQueue<HourlyEmployee>(); hList.enqueue(new
HourlyEmployee(T, D));
hList.enqueue(new
HourlyEmployee(G, B));
hList.enqueue(new
HourlyEmployee(F, S));
empList.addItems(hList); System.out.println(The employees names are:);
while (empList.hasItems()) { Employee emp =
empList.dequeue();
System.out.println(emp.firstName +
} }
+ emp.lastName);
}
class Employee {
public String lastName;
public String firstName;
public Employee() {
}
public Employee(String last,
String first) {
this.lastName = last;
this.firstName = first;
}
public String toString() { return firstName + +
lastName ; }
}
class HourlyEmployee extends
Employee {
public double hourlyRate; public HourlyEmployee(String
last, String first) {
super(last, first);
} }
Result:
JVM is an acronym for Java Virtual Machine, it is an abstract machine which provides the
runtime environment in which java bytecode can be executed. It is a specification.
JVMs are available for many hardware and software platforms (so JVM is platform
dependent).
JRE
JDK
Many types:
1. Class(Method) Area
2. Heap
3. Stack
4. Program Counter Register
5. Native Method Stack
4) What is platform?
The Java platform differs from most other platforms in the sense that its a software-based
platform that runs on top of other hardware-based platforms.It has two components:
1. Runtime Environment
2. API(Application Programming
Interface)
6) What gives Java its write once and run anywhere nature?
The bytecode. Java is compiled to be a byte code which is the intermediate language
between source code and machine code. This byte code is not platform specific and hence
can be fed to any platform.
7) What is classloader?
The classloader is a subsystem of JVM that is used to load classes and interfaces.There are
many types of classloaders e.g. Bootstrap classloader, Extension classloader, System
classloader, Plugin classloader etc.
Yes, save your java file by .java only, compile it by javac .java and run by java
yourclassnameLets take a simple example:
1. //save by .java only
2. classA{
3.
public static void main(String
args[]){
4.
System.out.println(Hello java);
5. } 6. }
7. //compile by javac .java
8. //run by java A
compile it by javac .java run it by java A
No.
10) If I dont provide any arguments on the command line, then the
String array of Main method will be empty or null?
11) What if I write static public void instead of public static void?
The local variables are not initialized to any default value, neither primitives nor object
references.
There is given more than 50 OOPs (Object-Oriented Programming and System) interview
questions. But they have been categorized in many sections such as constructor interview
questions, static interview questions, Inheritance Interview questions, Abstraction
interview question, Polymorphism interview questions etc. for better understanding.
Object based programming languages follow all the features of OOPs except Inheritance.
Examples of object based programming languages are JavaScript, VBScript etc.
14) What will be the initial value of an object reference which is defined as
an instance variable?
The object references are all initialized to null in Java.
Constructor is just like a method that is used to initialize the state of an object. It is
invoked at the time of object creation.
Ans:yes, that is current instance (You cannot use return type yet it returns a value).
25) What if the static modifier is removed from the signature of the main
method?
28)What is Inheritance?
Inheritance is a mechanism in which one object acquires all the properties and behaviour
of another object of another class. It represents IS-A relationship. It is used for Code
Resusability and Method Overriding.
Holding the reference of the other class within some other class is known as composition.
Pointer is a variable that refers to the memory address. They are not used in java because
they are unsafe(unsecured) and complex to understand.
If a class have multiple methods by same name but different parameters, it is known as
Method Overloading. It increases the readability of the program.
38) Why method overloading is not possible by changing the return type
in java?
Because of ambiguity.
Yes, You can have many main() methods in a class by overloading the
main method.
No, you cant override the static method because they are the part of class not object.
It is because the static method is the part of class and it is bound with class whereas
instance method is bound with object and static gets memory in class area and instance
gets memory in heap.
Yes.
Method Overriding
1) Method overloading increases the readability of the program.
Method overriding provides the specific implementation of the method that is already
provided by its super class.
2) method overloading is occurs within the class. Method overriding occurs in two classes
that have IS-A relationship.
3) In this In this case,
case, parameter must be parameter same.
must be
different.
overloading occurs in two classes
is occurs that have IS-A within the relationship. class. 3) In this case, parameter must be
different. In this case, parameter must be same.
Now, since java5, it is possible to override any method by changing the return type if the
return type of the subclass overriding method is subclass type. It is known as
covariant return type.
If you make any variable as final, you cannot change the value of final variable(It will be
constant).
A final variable, not initalized at the time of declaration, is known as blank final variable.
Java Interview Questions
51) Can we intialize blank final variable?
Yes, only in constructor if it is non- static. If it is static blank final variable, it can be
initialized only in the static block.
No.
55) What is the difference between static binding and dynamic binding?
In case of static binding type of object is determined at compile time whereas in dynamic
binding type of object is determined at runtime.
Abstraction hides the implementation details whereas encapsulation wraps code and data
into a single unit.
A class that is declared as abstract is known as abstract class. It needs to be extended and
its method implemented. It cannot be instantiated.
59) Can there be any abstract method without abstract class?
No, if there is any abstract method in a class, that class must be abstract.
60) Can you use abstract and final both with a method?
No, because abstract method needs to be overridden whereas you cant override final
method.
No, because methods of an interface is abstract by default, and static and abstract
keywords cant be used together .
An interface that have no data member and method is known as a marker interface.For
example Serializable, Cloneable etc.
Abstract class
Interface
1)An abstract class can have method body (nonabstract methods).
Interface have only abstract methods.
2)An abstract class can have instance variables. An interface cannot have instance
variables. 3)An abstract class can have constructor . Interface cannot have constructor .
4)An abstract class can have static methods. Interface cannot have static methods.
5)You can extends one abstract class.
You can implement multiple interfaces.
67) Can we define private and protected modifiers for variables in
interfaces?
An object reference can be cast to an interface reference when the object implements the
referenced interface.
71) Can I import same package/class twice? Will the JVM load the
package twice at runtime?
One can import the same package or same class multiple times. Neither compiler nor JVM
complains about it.But the JVM will internally load the class only once no matter how
many times you import the same class.
By static import, we can access the static members of a class directly, there is no to qualify
it with the class name.
The classes that extend Throwable class except RuntimeException and Error are known as
checked exceptions e.g.IOException,SQLException etc. Checked exceptions are checked
at compile-time.
2)Unchecked Exception
The classes that extend RuntimeException are known as unchecked exceptions e.g.
ArithmeticException,NullPointerExcept ion etc. Unchecked exceptions are not checked at
compiletime.
Throwable.
76) Is it necessary that each try block must be followed by a catch block?
It is not necessary that each try block must be followed by a catch block. It should be
followed by either a catch block OR a finally block. And whatever exceptions are likely to
be thrown should be declared in the throws clause of the method.
throw keyword
throws keyword
1)throw is used to explicitly throw an exception. throws is used to declare an exception.
2)checked exceptions can not be propagated with throw only.
checked exception can be propagated with throws. used to declare an
explicitly exception. throw an
exception.
2)checked exceptions can not be propagated with throw only.
checked exception can be propagated with throws. 3)throw is followed by an instance.
throws is followed by class.
4)throw is used within the method.
throws is used with the method signature. 5)You cannot throw multiple exception
You can declare multiple exception e.g. public void method()throws IOException,SQLExc
eption.
Yes.
1. String s1=Welcome;
2. String s2=Welcome;
3. String s3=Welcome; Only one object.
88) Why java uses the concept of string literal?
To make Java more memory efficient (because no new objects are created if it exists
already in string constant pool).
1.
String s = new String(Welcome
);
Two objects, one in string constant pool and other in non-pool(heap).
90) What is the basic difference between string and stringbuffer object?
We can create immutable class as the String class by defining final class and
A class which is declared inside another class is known as nested class. There are 4 types
of nested class member inner class, local inner class, annonymous inner class and static
nested class.
95) Is there any difference between nested classes and inner classes?
Yes, inner classes are non-static nested classes i.e. inner classes are the part of nested
classes.
96) Can we access the non-final local variable, inside the local inner class?
No, local variable must be constant if you want to access it in local inner class.
Any interface i.e. declared inside the interface or class, is known as nested interface. It is
static by default.
gc() is a daemon thread.gc() method is defined in System class that is used to send request
to JVM to perform garbage collection.
finalize() method is invoked just before the object is garbage collected.It is used to
perform cleanup processing.
Yes.
Daemon thread.
final: final is a keyword, final can be variable, method or class.You, cant change the
value of final variable, cant override final method, cant inherit final class.
finally: finally block is used in exception handling. finally block is always executed.
finalize(): finalize() method is used in garbage collection.finalize() method is invoked just
before the object is garbage collected.The finalize() method can be used to perform any
cleanup processing.
The purpose of the Runtime class is to provide access to the Java runtime system.
An I/O filter is an object that reads from one stream and writes to another, usually altering
the data in some way as it is passed from one
stream to another.
Serialization is a process of writing the state of an object into a byte stream.It is mainly
used to travel objects state on the network.
Deserialization is the process of reconstructing the object from the serialized state.It is the
reverse operation of serialization.
130)What is Externalizable?
134) Can you access the private method from outside the class?
Yes, by changing the runtime behaviour of a class if the class is not secured.