Core Java Material
Core Java Material
1. INTRODUCTION OF JAVA 1
1.1.1. Platform independent
1.1.2. Open source
1.1.3. Multi-threading
1.1.4. More secure
1.1.5. portable
2. CORE JAVA TOPICS ...4
2.1.1. Oops concept
2.1.2. Control statement and looping
2.1.3. Arrays
2.1.4. String
2.1.5. Collections
2.1.6. Exceptions
2.1.7. Constructor
5. INHERI ANCE .7
5.1.1. Single inheritance
5.1.2. Multilevel inheritance
5.1.3. Multiple inheritance
5.1.4. Hybrid inheritance
5.1.5. Hierarchical inheritance
6. ACCESS SPECIFIER .. 9
6.1.1. Public
6.1.2. Private
6.1.3. Protected
6.1.4. Default
Page 1
8. CONTROL STATEMENT 12
8.1.1. If
8.1.2. If-else
8.1.3. If-else-if
9. LOOPING 13
9.1.1. For
9.1.2. While
9.1.3. Do-while
12. ARRA S 22
16. CONSTRUCTOR 73
Page 2
JAVA INTRODUCTION
1. Platform independent
2. Open source
3. Multithreading
4. More secure
5. Portable
1. Platform independent
During the compilation the java program converts into byte code
Using byte code we can run the application to any platform such as windows, mac, linux, etc
2. Open source:
A program in which source code is available to the general public for use and/or modification
from its original design at free of cost is called open source
3. Multithreading:
Java supports multithreading
It enables a program to perform several task simultaneously
4. More secure:
It provides the virtual firewall between the application and the computer
So it s doesn't grant unauthorized access
5. Portable:
"Write once run anywhere"
Java code written in one machine can run on another machine
1. CORE JAVA
Syllabus:
1. Oops concept
2. Control statement/looping
3. Arrays
4. String
5. Exceptions
6. Collections
Page 3
Terminology:
1. JDK
2. JRE
3. JVM
JDK:
JRE:
JVM:
TOOLS:
1. Notepad
2. Net bean
3. Eclipse
4. J Developer-oracle
5. RAD-IBM
Nowadays we mostly used eclipse (75% of the people using).
Versions of eclipse:
Juno
Kepler
Luna
Mars
Neon
OOPS CONCEPT:
Page 4
Oops principles are
1. Class
2. Method
3. Object
4. Abstraction
5. Encapsulation
6. Inheritance
7. Polymorphism
CLASS:
Syntax:
Public-Access specifier
METHOD:
Camel notation: First word should be small after every word of the first letter should be capital
Syntax:
public void dummy() {
// Here dummy is a method name
}
Main Method:
public static void main(String[] args) {
Page 5
OBJECT:
Syntax:
Example program:
1. StudentDatabase
public class StudentInfo {
public void Studentname() {
System.out.println("Name:Vengat");
}
2.ECommerce
public class OnlineShoppingSite {
public void myAccount() {
System.out.println("Account Name");
}
Page 6
System.out.println("My Orders");
}
Heap Memory:
ENCAPSULATION
Structure of creating folders
INHERITANCE:
We can access one class property into another class using 'extend' keyword and reusuable
purpose
Types:
1. Single Inheritance
2. Multilevel Inheritance
3. Multiple Inheritances
4. Hybrid Inheritance
5. Hierarchical Inheritance
Page 7
1. Single Inheritance :
One parent class is directly support into one child class using extend keyword
2. Multilevel Inheritance:
3. Multiple Inheritance:
More than one parent class parallely support into one child class but it won't suport in java
because
1. Priority problem
(i.e) if both parent class having same method name it will get priority problem so it doesn;t work in java
test () test()
test () is a method name, it present in both parent class, so its get priority problem
Page 8
4.Hybrid Inheritance:
Class A
Class B Class C
Class D
5. Hierarchical Inheritance:
Parent Class
ACCESS SPECIFIER:
1. Public
2. Protected
3. Default
4. Private
1. Public:
Page 9
2. Private:
3. Default:
Ex,
4. Protected:
DATA TYPES:
-2^n-1 to +2^n-1 - 1
For byte,
1 byte =8 bits
So n=8
Page
10
Apply
-128 to + 127
Ex:
public class ByteInfo {
public static void main(String[] args) {
byte num=12;
System.out.println(num);
}
}
Long:
symbol 'l'
Float
Symbol- f
float f=10.06f
Double:
No need to enter d
char:
String:
Boolean:
boolean b1=true;
boolean b2=false;
java.lang
Page
11
ctrl+2 +L this shortcut is used to find the data type
byte nextByte();
short nextShort();
int nextInt();
long nextLong();
float nextFloat();
double nextDouble();
char next().charAt(0);
String next();
String nextLine();
boolean nextBoolean();
String:
String.s=sc.nextLine();
WRAPPER CLASS:
CONTROL STATEMENT:
1. if
2. if.else
3. else.if
Example Program:
public class IfCondition {
public static void main(String[] args) {
int empID=20;
if(empID==20){
System.out.println("valid");
}else {
System.out.println("not valid");
}
}
}
Page
12
Output valid
1. logical &&,// logical && check first condition if its fail it doesn't check second
LOOPING:
1. for
2. while
3. do.while
For:
Example Program:
public class ForLoop {
public static void main(String[] args) {
System.out.println("Start");
for (int i = 1; i <= 3; i++) {
System.out.println(i);
}
System.out.println("End");
}
}
output:
Start
End
Example Program:
public class InnerForLoop {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 6; j++) {
System.out.print(i);
Page
13
}
System.out.println();
}}}
Output:
111111
222222
333333
444444
555555
Println printline
Break:
Example Program:
public class InnerForLoop {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
}}
Output:
Continue:
Example Program:
public class InnerForLoop {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue;
}
System.out.println(i);
Page
14
}
}
}
Output
10
Example Program:
public class InnerForLoop {
public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
}
}
output
2
4
6
8
10
12
14
16
18
20
Page
15
To print Odd:
Example Program:
public class InnerForLoop {
public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
if (i % 2 == 1) {
System.out.println(i);
}
}
Output
1
3
5
7
9
11
13
15
17
19
Sum of odd:
Example Program:
public class SumofOddNum {
public static void main(String[] args) {
int count=0;
for(int i=1;i<=100;i++)
{
if(i%2==1){
count=count+i;
}
}
System.out.println(count);
}
}
Page
16
Output:
2500
Sum of even:
Example Program:
public class SumofOddNum {
public static void main(String[] args) {
int count=0;
for(int i=1;i<=100;i++)
{
if(i%2==0){
count=count+i;
}
}
System.out.println(count);
}
}
Output:
2550
Factorial Numbers:
Example Program:
public class FactorialNumbers {
public static void main(String[] args) {
int count=1;
for(int i=1;i<=8;i++){
count=count*i;
}System.out.println(count);
}
}
Output:
40320
POLYMORPHISM:
Poly-many
Morphism-forms
Taking more than one forms is called polymorphism or one task completed by many ways
It has 2 types,
Page
17
1.Method overloading:
Class-same
Method-same
Argument-differ
In a same class method name is same and the argument is different is called method overloading
the argument is depends on
data types
data types count
data type order
Example Program:
public class StudentInfo {
private void studentId(int num) {
}
private void studentId(String name) { \\ depends on order
}
private void studentId(String email, int ph) { \\depends on data type
}
private void studentId(int dob, String add) { \\depends on datatype count
}
public static void main(String[] arg) {
StudentInfo info = new StudentInfo();
}
}
In the same method the argument can't use int and byte because int &byte both are numbers. so it
doesn't work.
public void employeeID(int num, byte num2) is not correct
2.Method overriding:
Method-same
Argument- same
In a different class , the method name should be same and argument name should be same is
called overriding
Example Program:
Page
18
}
public static void main(String[] args) {
Boy.b=new Boy();
b.girlName();
}
output : ramya;
The same method name in both class it take sub class only
If we satisfied with super class we go for super class method but we won't satisfy with super class
we go for sub class method
We can assign our sub class to our super class but can't reverse
Example Program:
Output: Hello
sub class:
public class Employee{
public static void addNum(){
system.out.println("Hello");
}}
super class:
public class sample{
public static void main(string[] args){
Employee.addNum();
}}
Page
19
Output: Hello
ABSTRACTION:
2.Fully abstraction(interface)
Example Program:
abstract class
public abstract class Bank {
abstract void saving(); //method signature
abstract void current();
abstract void salary();
abstract void joint();
public void branchDetails(){
System.out.println("chennai");
}
}
super class
public class AxisBank extends Bank {
public void saving() { // method signature
System.out.println("saving regular"); // business logic
}
public void current() {
System.out.println("current");
}
public void salary() {
System.out.println("salary");
}
public void joint() {
System.out.println("joint");
}
public static void main(String[] args) {
AxisBank info = new AxisBank();
Page
20
info.branchDetails();
info.salary();
info.saving();
}}
Output:
chennai
salary
saving regular
2. INTERFACE/FULLY ABSTRACTION;
It will support only abstract method, won't support non abstract method
In interface "public abstract" is default. we no need to mention
It using implements keywords
Example Program:1
interface
public interface Bank {
abstract void saving();
abstract void current();
abstract void salary();
abstract void joint();
public void branchDetails();
}
super class
public class AxisBank implements Bank {
public void saving() {
System.out.println("saving regular");
}
public void current() {
System.out.println("current");
}
public void salary() {
System.out.println("salary");
}
public void joint() {
System.out.println("joint");
}
public void branchDetails() {
System.out.println("chennai");
}
public static void main(String[] args) {
AxisBank info = new AxisBank();
info.branchDetails();
info.salary();
info.saving();
}
}
Page
21
Output:
chennai
salary
saving regular
multiple inheritance its on t support in java but using interface its support
here we have to create 2 interface(super class) and one sub class(normal). In the sub class we
implement both interface
Example Program:2
interface
public interface AxisBank {
public void test();
}
public interface HdfcBank {
public void test();
}
sub class(normal class)
public class Bank implements AxisBank, HdfcBank{
@Override
public void test() {
// TODO Autogenerated method stub
}
}
Abstract class:
It is partially abstraction
It support both abstract method and non-abstract method
It s using "extends" keyword
Here "public abstract" have to mention
We can use whatever access specifier we want
Interface:
It is fully abstraction
It support only abstract method
It s using "implement" keyword
"public Abstract" is default. no need to mention
Here we use only public( access specifier)
ARRAYS:
Page
22
Syntax:
Here,
num variable
[] Array
5 Array length
Example Program:
Output: 0
If we didn't assign any value, it will takes the default value of data types(int)
Default value of int is 0
Example Program:
public class BasicArray {
public static void main(String[] args) {
int num[]=new int[5];
num[0]=10;
num[1]=20;
num[2]=30;
num[3]=40;
num[4]=50;
System.out.println(num[2]);
}
}
Output: 30
Page
23
num[4]=50;
num[2]=300;
System.out.println(num[2]);
}}
Output:
300
Output:
Output:
10
20
300
40
50
Page
24
Enhanced for loop:
syntax:
for(int k:num)
System.out.println(k);
Example Program:
public class BasicArray {
public static void main(String[] args) {
int num[]=new int[5];
num[0]=10;
num[1]=20;
num[2]=30;
num[3]=40;
num[4]=50;
num[2]=300;
for(int k:num)
System.out.println(k);
}
}
Output:
10
20
300
40
50
In this enhanced for loop, have no condition checking and value assign
It is very fast compare to normal for loop
Advantage of array:
Disadvantage of arrays:
STRING:
Collections of charactor or word enclosed with double quotes
Page
25
Basic Topics:
String function
Mutable string
Immutable string
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1="Vengat";
System.out.println(s1);
}
}
Output: Vengat
charAt():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1="Vengat";
System.out.println(s1);
char ch = s1.charAt(2);
System.out.println(ch);
}
}
Output:
Vengat
Equqls():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Vengat";
System.out.println(s1);
boolean b = s1.equals("Vengat");
System.out.println(b);
boolean b1 = s1.equals("vengat");
System.out.println(b1);}}
Page
26
Output:
Vengat
true
false
Equalsignorecase():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Vengat";
System.out.println(s1);
boolean b = s1.equals("Vengat");
System.out.println(b);
boolean b1 = s1.equalsIgnoreCase("vengat");
System.out.println(b1);
}}
Output:
Vengat
true
true
contains():
Contains() is a method , is used to check the particular character or word in the string
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello welcome to java class";
System.out.println(s1);
boolean b = s1.contains("welcome");
System.out.println(b);
}
}
Output:
true
Page
27
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello welcome to java class";
System.out.println(s1);
boolean b = s1.contains("welcome");
System.out.println(b);
boolean b1 = s1.contains("hai");
System.out.println(b1);
}
}
Output:
true
false
split():
split() is a method, is used to split the string by space or character or word or whatever
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello welcome to java class";
String[] x = s1.split(" "); // here we split by space
System.out.println(s1.length());
System.out.println(x.length);
String[] x1 = s1.split("o"); // here we split by "o"
System.out.println(s1.length());
System.out.println(x1.length);
}
}
Output:
For loop:
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello welcome to java class";
Page
28
String[] x = s1.split(" "); // here we split by space
for(int i=0;i<x.length;i++){
System.out.println(x[i]);
}
}
}
Output:
Hello
welcome
to
java
class
Output:
Hello
welcome
to
java
class
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello";
String m = s1.toLowerCase(); // to convert lowercase
System.out.println(m);
String m1 = s1.toUpperCase(); // to convert upper
Page
29
System.out.println(m1);
}
}
Output:
hello
HELLO
subString();
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello java";
String m = s1.substring(2);
System.out.println(m);
String m1 = s1.substring(2, 6);
// upto
System.out.println(m1);
}}
Output:
llo java
llo
indexOf():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello java";
int m = s1.indexOf("o"); // "o", to print o position
System.out.println(m);
int m1 = s1.indexOf("b"); // "b" is not in the string, so it print "-1"
System.out.println(m1);
int m2 = s1.indexOf("a"); // multiple character "a", it takes first one
System.out.println(m2);
}
}
Page
30
Output:
-1
lastIndexof():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello java";
int m = s1.indexOf("o"); // "o", to print o position
System.out.println(m);
int m1 = s1.indexOf("b"); // "b" is not in the string, so it print "1"
System.out.println(m1);
int m2 = s1.indexOf("a"); // multiple character "a", it takes first one
System.out.println(m2);
int m3 = s1.lastIndexOf("a"); // multiple character "a", it takes last
one
System.out.println(m3);
}
}
Output:
replace():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello world";
String m = s1.replace("world", "java"); // to replace world to java
System.out.println(m);
}
}
Output:
Hello java
Page
31
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "This is manual Testing";
String m = s1.replace("manual", "Automation"); // to replace manual to
Automation
System.out.println(m);
}
}
Output:
isEmpty():
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "";
boolean m = s1.isEmpty();// here index is empty, so its true
System.out.println(m);
String s2 = " ";
boolean m1 = s2.isEmpty();
// here index is not empty because space included
System.out.println(m1); // space is also a one character
}
}
Output:
true
false
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello java class";
boolean m = s1.startsWith("Hello");
System.out.println(m);
boolean m1 = s1.endsWith("class");
System.out.println(m1);
}
}
Page
32
Output:
true
true
ASCII value:
Example Program:
public class Dummy {
public static void main(String[] args) {
char ch='M';
int x=ch;
System.out.println(x);
}
}
Output: 77
compareTo():
Example Program:
public class Dummy {
public static void main(String[] args) {
String s="A";
int i = s.compareTo("A");
System.out.println(i);
}
}
Output:
Example Program:
public class Dummy {
public static void main(String[] args) {
String s="A";
int i = s.compareTo("B");
System.out.println(i);
}}
Page
33
Output:
Here, 65-66=1
Example Program:
public class Dummy {
public static void main(String[] args) {
String s="ABCD";
int i = s.compareTo("ABFK ");
System.out.println(i);
}
}
Output:
3 // 6770=3
If it is different length and same accuration, the output will be based on length
Example Program:
public class Dummy {
public static void main(String[] args) {
String s="ABCD";
int i = s.compareTo("AB");
System.out.println(i);
}
}
Output:
AB2, 42=2
If different length and different accuration , it will compare the first differing character
Example Program:
public class Dummy {
public static void main(String[] args) {
String s="ABCD";
int i = s.compareTo("ACLK");
System.out.println(i);
}
}
Page
34
Output:
Literal String:
Non-literal string:
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "vengat";
String s2 = "vengat"; // literal string(same value so its share
the memory)
System.out.println(System.identityHashCode(s1));
System.out.println(System.identityHashCode(s2));
String x1=new String("vengat");
String x2=new String("vengat");// non literal string( its won't
share, create new memory
System.out.println(System.identityHashCode(x1));
System.out.println(System.identityHashCode(x2));
}
}
identityHashcode() is used to print the reference value(storage reference)
Output:
31168322
17225372
Immutable string:
Mutable string:
Page
35
Example Program:
public class StringBasic {
public static void main(String[] args) {
String s1 = "vengat";
String s2 = "prabu"; // mutable string
System.out.println("Immutable string");
System.out.println(System.identityHashCode(s1));
System.out.println(System.identityHashCode(s2));
String r = s1.concat(s2);
System.out.println(r);
System.out.println(System.identityHashCode(r));
StringBuffer x1=new StringBuffer("vengat");
StringBuffer x2=new StringBuffer("prabu");// mutable string
System.out.println("mutable string");
System.out.println(System.identityHashCode(x1));
System.out.println(System.identityHashCode(x2));
x1.append(x2);
System.out.println(x1);
System.out.println(System.identityHashCode(x1));
}
}
Output:
Immutable string
31168322
17225372
vengatprabu
mutable string
2430287
17689166
vengatprabu
COLLECTIONS:
Why we go for collections:
Page
36
It has 3 types,
1. List
2. Set
3. Map
1. List :( Interface)
ArrayList(class)
LinkedArrayList(c)
vector(c)
2.Set:(Interface)
Hashset(c)
Linked hashset(c)
Treeset(c)
3.Map:(Interface)
Hashmap(c)
Linked hashmap(c)
Treemap(c)
Hashtable(c)
concurrent hashmap(C)
List:
ArrayList:
Syntax:
Here,
List interface
ex object name
ArrayList() class
Example Program:
public class ArList {
public static void main(String[] args) {
List ex=new ArrayList();
ex.add(10);
ex.add(10000000000000000l);
ex.add(10.12f);
ex.add("Hai");
ex.add("A");
ex.add(true);
System.out.println(ex);
}
}
Page
37
Output:
Generics:
syntax:
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex=new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
System.out.println(ex);
}
}
Output:
size():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex=new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
Page
38
ex.add(40);
ex.add(50);
int i = ex.size();
System.out.println(i);
}}
Output:
get():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex=new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
int x = ex.get(3);
System.out.println(x);
}
}
Output:
40
For loop:
public class ArList {
public static void main(String[] args) {
List<Integer> ex=new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
for(int i=0;i<ex.size();i++){
System.out.println(ex.get(i));
}
}
}
Page
39
Output:
10
20
30
40
40
50
Output:
10
20
30
40
40
50
Remove():
Example Program:
public class ArList {
public static void main(String[] args) {
Page
40
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
ex.remove(3);
System.out.println(ex);
}
}
Output:
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
ex.add(2,100);
System.out.println(ex);
}
}
Output:
In this o/p , if we insert one value based on index, after all the index value move to backward
set();
set is a method, it is used to replace the value but index and value order will not change
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
Page
41
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
ex.set(2,100);
System.out.println(ex);
}
}
Output:
contains():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
boolean x = ex.contains(30);
System.out.println(x);
boolean y = ex.contains(100);
System.out.println(y);
}
}
Output:
true
false
clear():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
Page
42
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
System.out.println(ex);// before clearing
ex.clear();
System.out.println(ex);// after clearing
}
}
Output:
[]
indexof():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
int x = ex.indexOf(30);
System.out.println(x);
}
}
Output:
Lastindexof():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
Page
43
ex.add(50);
int x = ex.lastIndexOf(40);
System.out.println(x);
}
}
Output:
addAll():
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
List<Integer> ex1 = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(40);
ex.add(50);
System.out.println(ex);
System.out.println(ex1);// before addAll
ex1.addAll(ex);
System.out.println(ex);
System.out.println(ex1);// After addAll
}
}
Output:
[]
removeAll():
removeAll() is a method , it is used to compare the both list and remove all the list1 values in list
2
(i.e)
list2=list2-list1
Page
44
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
List<Integer> ex1 = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex1.addAll(ex);
ex.add(100);
ex.add(200);
ex.add(300);
ex1.add(1000);
ex1.add(50);
ex1.add(2000);
ex1.add(3000);
System.out.println(ex);
System.out.println(ex1);
ex1.removeAll(ex);
System.out.println(ex1);
}
}
Output:
If we go for removeAll method, here ex1.removeAll(ex), ex1 compare to ex and remove all ex
values in the ex1.
retainAll():
retainAll() is a method, it is used to compare both list and print the common values
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
List<Integer> ex1 = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex1.addAll(ex);
ex.add(100);
Page
45
ex.add(200);
ex.add(300);
ex1.add(1000);
ex1.add(2000);
ex1.add(3000);
System.out.println(ex);
System.out.println(ex1);
ex1.retainAll(ex);
System.out.println(ex1);
}
}
Output:
LinkedList:
systax:
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new LinkedList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
System.out.println(ex);
}
}
Output:
Vector:
syntax:
Example Program:
public class ArList {
public static void main(String[] args) {
Page
46
List<Integer> ex = new Vector<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
System.out.println(ex);
}
}
Output:
In ArrayList deletion and insertion is a worst one because if we delete/insert one index value after
all the index move to forward/backward.
It makes performance issue.
Searching/retrieving is a worst
For ex, if we have 100 nodes, we have to print 90th node value, it will pass to all the previous
nodes and comes to first and then it will print.
It s makes performance issue
ArrayList:
Asynchronize
It is not a thread safe
Vector:
Synchronize
Thread safe
Page
47
Here,
If one ticket is having,10 people is booking at a same time, what happen , the one person only booked the
ticket. because its a synchronize process. it allows one by one.
Class 1:
import java.util.ArrayList;
import java.util.List;
Page
48
E2.setName("mohan");
E2.setEmail("mohan123@gmail.com");
Employee E3=new Employee();
E3.setId(14);
E3.setName("vel");
E3.setEmail("vel123@gmail.com");
emp.add(E1);
emp.add(E2);
emp.add(E3);
for (Employee x : emp) {
System.out.println(x.getId());
System.out.println(x.getName());
System.out.println(x.getEmail());
}
}
Class 2:
Page
49
Output:
12
vengat
vengat123@gmail.com
13
mohan
mohan123@gmail.com
14
vel
vel123@gmail.com
List:
Set:
Hashset:
Example Program:
public class ArList {
public static void main(String[] args) {
Set<Integer> ex = new HashSet<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex.add(50);
System.out.println(ex);
}
}
Output:
[50, 20, 40, 10, 30] // random order and ignore duplicate value
It will allows one Null value and won't allow duplicate NULL
LinkedHashset:
Insertion order
Page
50
Example Program:
public class ArList {
public static void main(String[] args) {
Set<Integer> ex = new LinkedHashSet<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex.add(50);
System.out.println(ex);
}
}
Output:
It will also allows one Null value and won't allow duplicate NULL
TreeSet:
Ascending order
Example Program:
public class ArList {
public static void main(String[] args) {
Set<Integer> ex = new TreeSet<Integer>();
ex.add(20);
ex.add(10);
ex.add(30);
ex.add(50);
ex.add(40);
ex.add(50);
System.out.println(ex);
}
}
Output:
Example Program:
public class ArList {
public static void main(String[] args) {
Set<String> ex = new TreeSet<String>();
ex.add("Ramesh");
ex.add("babu");
ex.add("Vasu");
ex.add("10000");
System.out.println(ex);
}
}
Page
51
Output:
Here,
(i.e)
1 ASCII value is 49
R ASCII value is 82
V ASCII value is 86
b ASCII value is 98
[49,82,86,98] [10000, Ramesh, Vasu, babu] this is a way to print ascending order.
Set:
remove():
Output:
Normal for loop is not work here because it is not index based, it is value based
Page
52
Enhanced for loop:
public class ArList {
public static void main(String[] args) {
Set<Integer> ex = new TreeSet<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex.add(50);
for(int i:ex){
System.out.println(i);
}
}
}
Output:
10
20
30
40
50
All wrapper class default value is Null as well as all class default value is Null
Null:
List:
Set:
Page
53
It is value based
It ignores duplicate value
we can copy the values from List to set as well as set to list
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex=new ArrayList();
Set<Integer> ex1 = new TreeSet<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex.add(50);
ex.add(10);
ex1.addAll(ex);
System.out.println(ex);
System.out.println(ex1);
}}
Output:
Example Program:
public class ArList {
public static void main(String[] args) {
List<Integer> ex = new ArrayList();
Set<Integer> ex1 = new TreeSet<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
ex.add(50);
ex.add(50);
ex.add(10);
ex1.addAll(ex);
System.out.println(ex);
System.out.println(ex1);
int i = ex.size() ex1.size();
System.out.println(i);
}
}
Page
54
Output:
Map:
Hashmap:
Example Program:
public class ArList {
public static void main(String[] args) {
Map<Integer, String> ex = new HashMap<Integer, String>();
ex.put(10, "Java");
ex.put(20, "Java");
ex.put(30, "sql");
ex.put(40, ".net");
ex.put(50, "sales");
ex.put(50, "fire");
System.out.println(ex);
}
}
Output:
Linked Hashmap:
Page
55
TreeMap:
Hashtable:
Random order
Both key and values are ignore the Null
concurrent hashmap:
Random order
Both key and values are ignore the Null
HashMap:
Hashtable:
Some Methods:
get():
Example Program:
public class ArList {
public static void main(String[] args) {
Map<Integer, String> ex = new HashMap<Integer, String>();
ex.put(10, "Java");
ex.put(20, "Java");
ex.put(30, "sql");
ex.put(40, ".net");
ex.put(50, "sales");
ex.put(50, "fire");
String s=ex.get(40);
System.out.println(s);
}
}
Page
56
Output:
.net
keyset():
Example Program:
public class ArList {
public static void main(String[] args) {
Map<Integer, String> ex = new HashMap<Integer, String>();
ex.put(10, "Java");
ex.put(20, "Java");
ex.put(30, "sql");
ex.put(40, ".net");
ex.put(50, "sales");
ex.put(50, "fire");
Set<Integer> s = ex.keySet();
System.out.println(s);
}
}
Output:
Value():
Example Program:
public class ArList {
public static void main(String[] args) {
Map<Integer, String> ex = new HashMap<Integer, String>();
ex.put(10, "Java");
ex.put(20, "Java");
ex.put(30, "sql");
ex.put(40, ".net");
ex.put(50, "sales");
ex.put(50, "fire");
Collection<String> s = ex.values();
System.out.println(s);
}
}
Output:
Page
57
entryset():
Example Program:
public class ArList {
public static void main(String[] args) {
Map<Integer, String> ex = new HashMap<Integer, String>();
ex.put(10, "Java");
ex.put(20, "Java");
ex.put(30, "sql");
ex.put(40, ".net");
ex.put(50, "sales");
ex.put(50, "fire");
Set<Entry<Integer, String>> s = ex.entrySet();
for(Entry<Integer, String> x:s){
System.out.println(x);
}
}
}
Output:
50=fire
20=Java
40=.net
10=Java
30=sql
Example Program:
public class ArList {
public static void main(String[] args) {
Map<Integer, String> ex = new HashMap<Integer, String>();
ex.put(10, "Java");
ex.put(20, "Java");
ex.put(30, "sql");
ex.put(40, ".net");
ex.put(50, "sales");
ex.put(50, "fire");
Set<Entry<Integer, String>> s = ex.entrySet();
for(Entry<Integer, String> x:s){
System.out.println(x.getKey());
System.out.println(x.getValue());
}
}
}
Page
58
Output:
50
fire
20
Java
40
.net
10
Java
30
Sql
EXCEPTION:
Exception is like a error, the program will terminated that line itself
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("Start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println(10/0);
System.out.println("4");
System.out.println("5");
System.out.println("End");
}
}
Output:
Start
Page
59
Exception in thread "main" java.lang.ArithmeticException: / by zero
at org.exception.Exception.main(Exception.java:9)
This is exception, if we getting error in run time , the program will be terminated from that line
Here, java:9 is 9th line only we getting exception
Throwable:
Exception:
Unchecked exception:
1. ArithmaticException
2. NullPointException
3. InputMismatchException
4. ArrayIndexOutOfBoundExcepion
5. StringIndexOutOfBoundExcepion
6. IndexOutOfBoundExcepion
7. NumberFormatException
Checked exception:
1. IOException
2. SQLException
3. FileNotFoundException
4. ClassNotFoundException
1. ArithmaticException:
If we are trying to give any number divided by zero, we get Arithmatic exception.
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("Start");
Page
60
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println(10/0);
System.out.println("4");
System.out.println("5");
System.out.println("End");
}
}
Output:
Start
at org.exception.Exception.main(Exception.java:9)
2. NullPointException:
If we give Null in the string, it will throw the Null point exception. Because default value of
string is Null.
Example Program:
public class Exception {
public static void main(String[] args) {
String s= null;
System.out.println(s.length());
}
}
Output:
at org.exception.Exception.main(Exception.java:6)
3.InputMismatchException:
If we getting input from the user, the user need to give integer input but the user trying to input
string value , at this this we get input mismatch exception
Page
61
Example Program:
public class Exception {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("PLs enter value");
int i=sc.nextInt();
System.out.println(i);
}
}
Output:
hai
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at org.exception.Exception.main(Exception.java:9)
4. ArrayIndexOutOfBoundExcepion:
In particular array, the index value is not available it will throw Array index of bound exception.
Example Program:
public class Exception {
public static void main(String[] args) {
int num[]=new int[4];
System.out.println(num[5]);
}
Output:
at org.exception.Exception.main(Exception.java:8)
Page
62
5. StringIndexOutOfBoundExcepion:
In particular String, the index value is not available it will throw String index Out of bound
exception.
Example Program:
public class Exception {
public static void main(String[] args) {
String s="Java";
char c = s.charAt(10);
System.out.println(c);
}
}
Output:
at java.lang.String.charAt(Unknown Source)
at org.exception.Exception.main(Exception.java:8)
6. IndexOutOfBoundExcepion:
In a list, the index value is not available it will throw index out of bound exception.
Example Program:
public class Exception {
public static void main(String[] args) {
List<Integer> ex = new ArrayList<Integer>();
ex.add(10);
ex.add(20);
ex.add(30);
ex.add(40);
System.out.println(ex.get(3));
System.out.println(ex.get(10));
}
}
Output:
40
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.exception.Exception.main(Exception.java:16)
Page
63
7. NumberFormatException:
if we give numbers in the string, we can convert the data type into integer. but if we give num and
char combination in the string, we can't convert to integer.
if we trying to convert, it will throw number format exception
Example Program:
public class Exception {
public static void main(String[] args) {
String s="1234";
System.out.println(s+5);// string +5
int i = Integer.parseInt(s);
System.out.println(i+5);// Integer +5
String s1="123Abc45";
int j = Integer.parseInt(s1);
System.out.println(j+5);
}
}
Output:
12345
1239
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.exception.Exception.main(Exception.java:13)
Exception Handling:
1. Try
2. Catch
3. Finally
4. Throw
5. Throws
Page
64
Errors:
1. Network error
2. JVM crack
3. out of memory
4. stack overflow
If we get exception, try will throw the exception and catch will catch the exception
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/0);}
catch(ArithmeticException e){
System.out.println("dont/by zero");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");
}
}
Output:
start
dont/by zero
end
Here we can enter the same exception or super class of the exception
Page
65
(i.e)
Example Program:
try {
System.out.println(10/0);}
catch(Throwable e){
System.out.println("dont/by zero");
instead of
try {
System.out.println(10/0);}
catch(ArithmeticException e){
System.out.println("dont/by zero");
Finally:
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/0);}
catch(ArithmeticException e){
System.out.println("dont/by zero");
}finally{
System.out.println("final");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");}}
Page
66
Output:
start
dont/by zero
final
end
Example program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/0);}
catch(NullPointerException e){
System.out.println("dont/by zero");
}finally{
System.out.println("final");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");
}
}
Output:
start
final
Page
67
Exception in thread "main" java.lang.ArithmeticException: / by zero
at org.exception.Exception.main(Exception.java:11)
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/0);}
catch(NullPointerException e){
System.out.println("null point");
}
catch(ArithmeticException e) {
System.out.println("dont/by zero");
}
finally{
System.out.println("final");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");
}
}
Output:
start
dont/by zero
final
end
In a try block, one catch we can use same excepion and another catch we use throwable exception
Page
68
At this time, it will through the first one if it is match, will print. if it is not correct will throw the
second
throwable is the super class of all exception
In more than one catch block, we can use like sub class and super class combination. But we can't
use reverse
if we give Super class and sub class combination, it will give compilation error
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/0);}
catch(NullPointerException e){
System.out.println("null point");
}
catch(Throwable e) {
System.out.println("dont/by zero");
}
finally{
System.out.println("final");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");
}
}
Output:
start
dont/by zero
final
Page
69
5
end
Example Program:
try {
System.out.println(10/0);}
catch(Throwable e) {
System.out.println("dont/by zero");
catch(NullPointerException e){
System.out.println("null point");
finally{
System.out.println("final");
If we give like above, will get compile time exception/error because we can't reverse
In one try block, we can write only one finally block
Inner try:
If we use inner try, it will print inner catch, inner finally and outer finally.
But one try block handle one exception only, even if we use inner try also
If main try have no exception, it will through inner try. in that inner try if catch exception is
wrong, it will goes and print outer finally
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/0);
try {
String s=null;
System.out.println(s.charAt(0));
}catch(NullPointerException e){
System.out.println("inner catch");
}finally{
System.out.println("inner finally");
}
Page
70
}
catch(ArithmeticException e) {
System.out.println("dont/by zero");
}
finally{
System.out.println("outer finaly");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");
}
}
Output:
start
dont/by zero
outer finaly
end
Example Program:
public class Exception {
public static void main(String[] args) {
System.out.println("start");
System.out.println("1");
System.out.println("2");
System.out.println("3");
try {
System.out.println(10/2);
try {
String s=null;
System.out.println(s.charAt(0));
}catch(NullPointerException e){
System.out.println("inner catch");
}finally{
System.out.println("inner finally");
}
}
catch(ArithmeticException e) {
System.out.println("dont/by zero");
}
Page
71
finally{
System.out.println("outer finaly");
}
System.out.println("4");
System.out.println("5");
System.out.println("end");
}
}
Output:
start
1
2
3
5
inner catch
inner finally
outer finaly
4
5
end
Throw:
Throws:
Example Program:
public class Exception {
public static void main(String[] args) throws InterruptedException,
ArithmeticException,IOException{
info();
}
private static void info() throws IOException {
System.out.println("hello");
throw new IOException();
}
If we try to throws the compile time exception in any method, we must handle it in compile time
Page
72
Example Program:
public class Exception {
public static void main(String[] args) throws InterruptedException,
ArithmeticException,IOException{
info();
}
private static void info() throws IOException {
System.out.println("hello");
throw new IOException();
}
Constructor:
Class name and constructor name must be same.
It doesn t have any return type.
We don t ant to call constructor hich is creating object itself.
It will automatically invoke the default constructor.
It ill support in method o erloading but on t support in method o erriding
Example :
public class Const1 {
public Const1() {
System.out.println("i am in constructor");
}
public Const1(int a) {
System.out.println("1 argument int");
}
c.Const1(10);
}
}
Here,
Page
73
public Const1(int a) Argument based constructor
Output:
i am in constructor
1 argument int
10
This:
It is a keyword.
If e use this argument , e can pass ithout object
This argument we must use only in first statement
Example 1:
public class Const1 {
public Const1() {
this(10);
System.out.println("i am in constructor");
}
public Const1(int a){
System.out.println("1 argument int");
}
}
}
sOutput:
1 argument int
i am in constructor
Page
74
EXAMPLE 2:
public class sample {
public sample(){
this(10);
System.out.println("i am in constructor");
}
public sample(int i) {
this(23.23f);
System.out.println("am integer constructor");
}
public sample(float f) {
System.out.println("am float constructor");
}
Output:
am float constructor
am integer constructor
i am in constructor
If we trying to declare any variable without value in class level. It will print
the default value
public class sample {
int id;
Inside the method, we must initialize the local variable otherwise we get
compile time error
public class sample {
int id=10;
private void num() {
int id=100;
System.out.println(id);
}
Output: 100
If same variable name in local level and class level, it will give first preference
is local level
Page
75
This():
Class level:
It will refer the class level variable value
Example:
public class sample {
int id=100;
private void num() {
System.out.println(id);
}
public static void main(String[] args) {
sample s=new sample();
s.num();
}}
Output:
100
Method level access of this();
(): ():
Page
76
Super :
It will refer the parent class level variable value
Class 1: Class 2:
public class sample extends Const1 {
int id=100; public class Const1 {
private void num() { int id =30;
int id=10; }
System.out.println(super.id);
}
public static void main(String[] args) {
sample s=new sample();
s.num();
}
}
Output:
30
Final:
It s a keyword.
If e use final before the ariable, e can t o er rite.
If we trying to overwrite it show compile time error.
As ell as if e use final before the method/class, e can t e tend.
We can use final in three ways,
Variable level
Method level
Class level
Variable level using final:
We can overwrite the value of variable on variable declaration.
If e final, the alue of ariable can t be o er rite.
Page
77
Example:
Without using final: With using final
public class sample {
public class sample {
public static void main(String[] args) {
public static void main(String[] args) {
int a=10;
final int a=10;
a=20;
a=20;
System.out.println(a);
System.out.println(a);
}
}
}
}
Output:
output:
20 We get compile time error.
if e use final , e can t o er rite
Method level using final():
Class 1:
public class sample {
public final void example() {
}
}
Class 2:
public class Const1 extends sample {
public void example(){ // we get compile time error here, because if we use final in
method level(parent class), we can't use again
}
}
Class level :
If we are using final in class le el , e can t e tends to an here
Page
78
JAVA INTERVIEW QUESTIONS:
We can access one class property into another class using 'extend' keyword is called
inheritance
Reusable purpose
It has 5 types
1. Single Inheritance
2. Multilevel Inheritance
3. Multiple Inheritance
4. Hybrid Inheritance
5. Hierarchical Inheritance
Page
79
1. Single Inheritance:
One parent class is directly support into one child class using extend keyword
2. Multilevel Inheritance:
More than one parent class support into one child class using extends keyword
3. Multiple Inheritance:
More than one parent class parallely support into one child class but it won't support in
java because
Priority problem
Compilation error/syntax error
(i.e.) if both parent class having same method name it gets priority problem so it
doesn't work in java
During the compilation the java program converts into byte code
Using byte code we can run the application to any platform such as windows, mac,
Linux.Etc.
2. Open source:
A program in which source code is available to the general public for use and/or
modification from its original design at free of cost is called open source
3. Multithreading:
Java supports multithreading
It enables a program to perform several task simultaneously
4. More secure:
It provides the virtual firewall between the application and the computer
Page
80
5. Portable:
While:
Do. While:
Break:
Continue:
Poly many
Morphism forms
Page
81
10. What is the difference between method overloading and
method over hiding?
In a same class method name is same and the argument is different is called method
overloading
data types
data types count
data type order
In a different class , the method name should be same and argument name should be same
is called overriding
It has 2 types,
Abstract class:
It is partially abstraction
It support both abstract method and non-abstract method
Its using "extends" keyword
Here "public abstract" have to mention
We can use whatever access specifier we want
Interface:
It is fully abstraction
It support only abstract method
It s using implement keyword
"Public Abstract" is default. no need to mention
Here only use public( access specifier)
Page
82
13. What is the super class of java??
Object
java.lang
Page
83
4. Abstraction
5. Encapsulation
6. Inheritance
7. Polymorphism
It has 2 types,
22. variable??
Long-8
Page
84
25. Define access specifier & its types??
ACCESS SPECIFIER:
1. Public
2. Protected
3. Default
4. Private
1. Public:
It is global level access( same package + different package)
2. Private:
It is a class level access
3. Default :
Package level access
4. Protected:
Inside package + outside Package( Extends)
we can access inside package and outside package using extend keyword
Poly-many
Morphism-forms
Taking more than one forms is called polymorphism.
One task is completed by many ways
It has 2 types,
1. Method overloading:
Page
85
The argument is depends on
Data types
Data types count
Data type order
2. Method overriding:
In a different class , the method name should be same and argument name
should be same is called overriding
Hashtable:
29. What is the difference between linked list and array list?
ArrayList: Worst case
Page
86
Here all values based on the separate nodes. So, here we can easily
delete/insert one value(i.e.) if we delete one value, the next node will
join to the previous one
Immutable string:
We can store more duplicate value in same memory
We can't change the value in memory
In concord nation, we have to create new memory
Mutable string:
We can't store duplicate value in same memory
We can change the value in memory
In concord nation, its takes same memory
Non-thread safe:
Page
87
34. What are all coding standards available in java? Where we use
it?
Coding standards:
a. Pascal notation
b. Camel notation
Camel notation :
1. Method name
2. Variable name
Set:
It is value based
Page
88
38. What is the difference between ArrayList and Vector ?
ArrayList:
Asynchronies
It is not a thread safe
Vector:
Synchronize
Thread safe
Here,
It has 5 types
Hashmap(c)
Linked hashmap(c)
Treemap(c)
Hashtable(c)
Concurrent hashmap(C)
Page
89
41. What is the difference between throw and throws?
Throw:
Throws:
Hashset:
Linked hashset:
Treeset:
Throwable
Page
90
46. What is the difference between retain all and remove all?
removeAll():
removeAll() is a method , it is used to compare the both list and remove all the list1 values in list
2
(i.e)
retainAll():
retainAll() is a method, it is used to compare both list and print the common values
Advantage of array:
Disadvantage of arrays:
49. What is the difference between normal class and abstract class
Abstract class:
It will support abstract method and non-abstract method
We won t create object for abstract class
We won t write any business logic in abstract method
Class:
It support only in non-abstract method
We can create object for class
Page
91
50. Difference between final and finally?
Final Finally
1. A final class variable whose value cannot be 1. It s a block of statement that definitel
changed. executes after the try catch block.
2. A final is declared as class level, they 2. If try block fails means, the final block will
cannot be inherited. executes once.
3. If final is declared as method level, they
cannot be override.
Page
92
CORE JAVA PROGRAMS
Output:
2500
}
}
System.out.println(count);
}
}
Output:
2550
Page
93
if (i % 2 == 1) {
count = count + 1;
}
}
System.out.println(count);
}
}
Output:
50
}
}
System.out.println(count);
}
Output:
50
5. Factorial number:
public class FactorialNumbers {
Output:
40320
Page
94
6. Fibonacci series:
public class Fibanacci {
public static void main(String[] args) {
int a = 0, b = 1;
System.out.println(a);
System.out.println(b);
for (int i = 2; i <= 10; i++) {
int c = a + b;
System.out.println(c);
a = b;
b = c;
}}}
Output:
0
13
21
34
Page
95
Output:
Enter a Number
121
Odd number
Output:
25
45
45
25
Page
96
System.out.println("The numbers are");
a = sw.nextInt();
b = sw.nextInt();
a = a + b;
b = a - b;
a = a - b;
System.out.println("swapping numbers are");
System.out.println(a);
System.out.println(b);
Output:
The numbers are
20
40
40
20
a = n;
while (a > 0) {
i = a % 10;
j = (j * 10) + i;
a = a / 10;
}
System.out.println("Reverse number is=" + j);
Page
97
Output:
Enter a number
12345
int n, a, i = 0, j = 0;
Scanner an = new Scanner(System.in);
System.out.println("Enter a number");
n = an.nextInt();
a = n;
while (a > 0) {
i = a % 10;
j = (j * 10) + i;
a = a / 10;
}
if (n == j) {
System.out.println("palindrome");
} else {
System.out.println("Not palindrome Number");
}
}
}
Output:
Enter a number
141
palindrome
int a, i = 0, j = 0;
a = n;
while (a > 0) {
i = a % 10;
Page
98
j = (j * 10) + i;
a = a / 10;
}
if (n == j) {
System.out.println(n);
}
}
}
Output:
11
22
33
44
55
66
77
88
99
Page
99
13. To count palindrome number(1 to 1000):
public class palindromeNum {
public static void main(String[] args) {
int c = 0;
for (int n = 1; n <= 1000; n++) {
int a, i = 0, j = 0;
a = n;
while (a > 0) {
i = a % 10;
j = (j * 10) + i;
a = a / 10;
}
if (n == j) {
c++;
}
System.out.println(c);
}
Output:
108
int n, a, i = 0, j = 0;
Scanner an = new Scanner(System.in);
System.out.println("Enter a number");
n = an.nextInt();
a = n;
while (a > 0) {
i = a % 10;
j = j + (i * i * i);
a = a / 10;
}
if (n == j) {
Page
100
System.out.println("Armstrong number");
} else {
System.out.println("Not armstrong Number");
}
}
}
Output:
Enter a number
153
Armstrong number
a = n;
while (a > 0) {
i = a % 10;
j = j + (i * i * i);
a = a / 10;
}
if (n == j) {
System.out.println(n);
}
}}
Output:
153
370
371
407
Page
101
16. To count Armstrong number(1 to 1000):
public class ArmsrongNumberCount {
public static void main(String[] args) {
int c = 0;
a = n;
while (a > 0) {
i = a % 10;
j = j + (i * i * i);
a = a / 10;
}
if (n == j) {
c++;
}
}
System.out.println(c);
}
Output:
Page
102
Output:
*
**
***
****
*****
Output:
*****
****
***
**
Page
103
if (n % i == 0) {
count = 1;
}
}
if (count == 0) {
System.out.println("prime");
} else {
System.out.println("not prime");
}
}
}
Output:
17
prime
21
not prime
System.out.println(i);
}
}
Page
104
Output:
1
}
}
System.out.println(c);
Output:
26
Page
105
System.out.println("B grade");
Output:
enter value:
67
C grade
enter value:
55
Fail
Page
106
Output:
Enter the Table
table upto
10
1*6=6
2*6=12
3*6=18
4*6=24
5*6=30
6*6=36
7*6=42
8*6=48
9*6=54
10*6=60
} else {
System.out.println("the biggest number is=" + d);
Page
107
}
Output:
The four numbers are
23
45
56
22
String a = "welcome";
int vowels = 0;
int nonVowels = 0;
} else {
nonVowels++;
}
}
System.out.println(vowels);
System.out.println(nonVowels);
}
}
Output:
Page
108
26. Ascending order using array:
Output:
10
20
100
40
200
60
Page
109
27. Descending order using array:
Output:
Enter no. of elements you want in array:6
10
20
100
40
200
60
Descending Order:200,100,60,40,20,10
Page
110
28. Second minimum number:
}
}
}
for(int k=0;k<a.length;k++){
System.out.println(a[k]);
}
System.out.println("The Second minimum number is" + a[a.length-2]
);
Output:
64
45
24
-12
-23
-100
The Second minimum number is-23
}
}
}
for(int k=0;k<a.length;k++){
System.out.println(a[k]);
Page
111
}
System.out.println("The First maximum number is" + a[a.length-6]
);
Output:
64
45
24
-12
-23
-100
The First maximum number is64
}
}
}
for(int k=0;k<a.length;k++){
System.out.println(a[k]);
}
System.out.println("The Third maximum number is" + a[a.length-4]
); }}
Output:
64
45
24
-12
-23
-100
The Third maximum number is24
Page
112
31. Count the Small ,Caps, number and Special character in string:
package org.room.assign4;
count++;
} else if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
count1++;
} else if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
count2++;
} else {
count3++;
}
}
System.out.println("total no of small letters:" + count);
System.out.println("total no of capital letters:" + count1);
System.out.println("total no of digits :" + count2);
System.out.println("total no of special characters:" + count3);
}
}
Output:
total no of small letters:27
total no of capital letters:7
total no of digits :3
total no of special characters:12
import java.util.Scanner;
Page
113
int n,i=0;
System.out.println("enter a no");
Scanner get=new Scanner(System.in);
n=get.nextInt();
while(n>0)
{
n=n/10;
i++;
Output:
enter a no
5267546
no of digits present:7
import java.util.Scanner;
if (original.equals(reverse))
System.out.println("Entered string is a palindrome.");
else
System.out.println("Entered string is not a palindrome.");
Page
114
Output:
Enter a string to check if it is a palindrome
madam
Entered string is a palindrome.
package org.room.assign4;
import java.util.Scanner;
Output:
Enter a string to reverse
welcome
Reverse of entered string is: emoclew
package org.room.assign4;
Page
115
Output:
*
* *
* * *
* * * *
* * * * *
package org.room.assign4;
Output:
Sum of Digits:15
emp.put(c, 1);
}
}
System.out.println(emp);
}
Page
116
}
}
Output:
{vengat=1, ram=1}
char[] ch = s.toCharArray();
emp.put(c, 1);
}
}
System.out.println(emp);
}
}
}
Output:
39. A P .
Output:
WelcometoPolaris
Page
117
40. Write a program to split and then reverse a string.
Output:
Enter a string to reverse
HELLO
Reverse of entered string is: OLLEH
Split:
public class StringBasic {
public static void main(String[] args) {
String s1 = "Hello welcome to java class";
String[] x = s1.split(" "); // here we split by space
for(int i=0;i<x.length;i++){
System.out.println(x[i]);
}
}
}
Output:
Hello
welcome
to
java
class
Page
118
41. Construct the triangle
9
8 9 8
7 8 9 8 7
6 7 8 9 8 7 6
5 6 7 8 9 8 7 6 5
4 5 6 7 8 9 8 7 6 5 4
3 4 5 6 7 8 9 8 7 6 5 4 3
2 3 4 5 6 7 8 9 8 7 6 5 4 3 2
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
Program:
Page
119
}
System.out.println();
rowCount++;
}
}
}
Output:
9
8 9 8
7 8 9 8 7
6 7 8 9 8 7 6
5 6 7 8 9 8 7 6 5
4 5 6 7 8 9 8 7 6 5 4
3 4 5 6 7 8 9 8 7 6 5 4 3
2 3 4 5 6 7 8 9 8 7 6 5 4 3 2
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
42. Write a program to find sum of each digit in the given number using recursion?
Program:
int sum = 0;
if(number == 0){
return sum;
} else {
sum += (number%10);
getNumberSum(number/10);
}
return sum;
Page
120
}
Output:
Sum is: 26
INPUT OUTPUT
java2novice = a2novice
java_language_is_sweet = uage_is
java_java_java_java = va_j, _jav
abcabcbb = bca, abc, cab
program:
Page
121
}
} else {
flag[c] = true;
}
}
extractSubString(inputCharArr,j,inputCharArr.length);
return subStrList;
}
return sb.toString();
}
Output :
[a2novice]
[uage_is]
[va_j, _jav]
[bca, abc, cab]
Page
122
44. Kth largest or smallest element in an array
Example : if given array is [1,3,12,19,13,2,15] and you are asked for the 3rd largest
element i.e., k=3 then your program should print 13
Program:
}
}
}
for(int k=0;k<a.length;k++){
System.out.println(a[k]);
}
System.out.println("The Third maximum number is :" + a[a.length-5] );
}
}
Output:
19
15
13
12
3
2
1
The Third maximum number is :13
Program:
Page
123
public static void main(String[] args) {
int n, a, i = 0, j = 0;
Scanner an = new Scanner(System.in);
System.out.println("Enter a number");
n = an.nextInt();
a = n;
while (a > 0) {
i = a % 10;
j = j + (i * i * i);
a = a / 10;
}
if (n == j) {
System.out.println("Armstrong number");
} else {
System.out.println("Not armstrong Number");
}
}
}
Output :
Enter a number
371
Armstrong number
Program:
int j = 0;
int i = 1;
//return if the array length is less than 2
Page
124
if(input.length < 2){
return input;
}
while(i < input.length){
if(input[i] == input[j]){
i++;
}else{
input[++j] = input[i++];
}
}
int[] output = new int[j+1];
for(int k=0; k<output.length; k++){
output[k] = input[k];
}
return output;
}
Output:
2 3 6 8 9 10 12
Program:
int start = 0;
int end = inputArr.length - 1;
while (start <= end) {
int mid = (start + end) / 2;
if (key == inputArr[mid]) {
return mid;
Page
125
}
if (key < inputArr[mid]) {
end = mid - 1;
} else {
start = mid + 1;
}
}
return -1;
}
Output:
import java.util.ArrayList;
import java.util.Scanner;
}
}
Page
126
Output:
5
4
3
2
1
0
9
8
7
6
Page
127