OOPs Java Lab Manual
OOPs Java Lab Manual
APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
LAB MANUAL
Course: Object Oriented Programming with Java Lab
Code: BCS452
Session: 2023-24
Semester: 4th
1
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
1. Use Java compiler and eclipse platform to write and execute java program.
2. Creating simple java programs using command line arguments
3. Understand OOP concepts and basics of Java programming.
4. Create Java programs using inheritance and polymorphism.
5. Implement error-handling techniques using exception handling and multithreading.
6. Create java program with the use of java packages.
7. Construct java program using Java I/O package.
8. Create industry oriented application using Spring Framework.
9. Test RESTful web services using Spring Boot.
10. Test Frontend web application with Spring Boot
2
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
LAB PLAN
Object oriented with Java Programming Lab(BCS 452)
S.No. Contents Experiments Lab Turn
1 Simple
Programs print the text “Hello”
without classes Turn-01
Write a program to display the default
and objects,
values of all Primitive data types.
methods
Programs based on Decision, Control and
Branch Statements
2 Program based on Object instantiation
the concepts of Constructors
classes and Types of constructor
Turn-02
objects, Constructor overloading
Methods
constructor,
Parameter passing to methods
parameterized
constructor
3 Single level & Single level Inheritance
Multi level Multiple inheritance Turn-03
inheritance Method overloading
Method Method overriding
overloading,
constructor
overloading
4 Super
Super, Final, Final keyword
Abstraction program to demonstrate Interfaces and
Turn-04
Abstract classes
COURSE OBJECTIVES:
COURSE OUTCOMES:
Able to write programs for solving real world problems using java collection
frame work.
Able to write programs using abstract classes.
Able to write multithreaded programs.
4
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
Lab Turn1
Java Basic.
1. Write a Program to print the text “Hello to World of Java”. Save it with name Hello.java in your
folder.
Class Hello
{
public static void main (String args[])
{
System.out.println (“ Hello to world of Java”);
}
}
2. Write a Program to print the area of triangle. Save it with name Area.java in your folder.
class Area
{
public static void main(String args[])
{
int height =10, base=6; float
area=0.5F*base* height;
System.out.println(“area of triangle = ”+area);
}
}
class FibonacciExample1{
public static void main(String args[])
{
int n1=0,n2=1,n3,i,count=10;
System.out.print(n1+" "+n2);//printing 0 and 1
Import java.util.Scanner;
class Ladder
{
public static void main(String arr[])
{
Scanner in=new Scanner(System.in);
6
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
6. Write a java Program to Convert any decimal number into its binary equivalent
7
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
Lab Turn 2
Program based on the concepts of classes and objects, constructor, parameterized constructor
7. Write a program to create a class Student with data ‘name, city and age’ along with method
printData to display the data. Create the two objects s1 ,s2 to declare and access the values.
class Student
{
String name, city; int age;
Static int m;
Void printData()
{
System.out.println("Student name = "+name);
System.out.println("Student city = "+city);
System.out.println("Student age = "+age);
}
}
Class Stest
{
public static void main(String args[])
{
Student s1=new Student();
Student s2=new Student();
s1.name="Amit";
s1.city="Dehradun";
8
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
s1.age=22;
s2.name="Kapil";
s2.city="Delhi";
s2.age=23;
s2.printData();
s1.printData();
s1.m=20;
s2.m=22;
Student.m=27;
System.out.println("s1.m = "+s1.m);
System.out.println("s2.m = "+s2.m);
System.out.println("Student.m ="+Student.m);
}
}
8. Write a program to create a class Student2 along with two method getData(),printData() to get
the value through argument and display the data in printData. Create the two objects s1 ,s2 to
declare and access the values from class STtest.
class Student2
{
private String name, city;
private int age;
public void getData(String x, Stringy, int t)
{
name=x;
city=y;
age=t;
}
public void printData()
{
System.out.println("Student name ="+name);
System.out.println("Student city ="+city);
System.out.println("Student age ="+age);
}
}
Class STtest
{
public static void main(String args[])
{
Student2 s1=new Student2();
Student2 s2=new Student2();
s2.getData("Kapil","Delhi",23);
s2.printData();
s1.getData("Amit","Dehradun",22);
9
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
s1.printData();
}
}
9. WAP using parameterized constructor with two parameters id and name. While creating the
objects obj1 and obj2 passed two arguments so that this constructor gets invoked after creation of
obj1 and obj2.
class Employee
{
int empId;
String empName; //parameterized constructor with two parameters
Employee(int id, String name)
{
this.empId = id;
this.empName = name;
}
void info()
{
System.out.println("Id: "+empId+" Name: "+empName);
}
public static void main(String args[])
{
Employee obj1 = new Employee(10245,"Chaitanya");
Employee obj2 = new Employee(92232,"Negan");
obj1.info();
obj2.info();
}}
Lab Turn 3
Method overloading, constructor overloading
10. Write a program in JAVA to demonstrate the method and constructor overloading.
class Cs
{
Int p,q;
public Cs()
{}
public Cs(int x, int y)
{
p=x; q=y;
}
Public int add(int i, int j)
{
return (i+j);
10
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
}
Public int add(int i, int j, int k)
{
return (i+j+k);
}
public float add(float f1, float f2)
{
return (f1+f2);
}
public void printData()
{
System.out.print("p = "+p);
System.out.println(" q = "+q);
}
}
Class ConstructorOverlaoding
{
public static void main(String args[])
{
int x=2, y=3, z=4;
Cs c=new Cs();
Cs c1=new Cs(x, z );
c1.printData();
float m=7.2F, n=5.2F;
int k=c.add(x,y);
int t=c.add(x,y,z);
float ft=c.add(m, n);
System.out.println("k = "+k);
System.out.println("t = "+t);
System.out.println("ft = "+ft);
}
}
11. Write a program in JAVA to create a class Bird also declares the different parameterized constructor to
display the name of Birds.
class Bird
{
int age;
String name ;
Bird()
{
System.out.println("this is the perrot");
}
Bird(String x)
{
11
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
name=x;
System.out.println("this is the "+name);
}
Bird(int y,String z)
{
age=y;
name=z;
System.out.println("this is the "+age+"years\t"+name);
}
12. Write a program in java to generate an abstract class A also class B inherits the class A.
generate the object for class B and display the text “call me from B”.
abstract class A
{
abstract void call();
}
class B extends A
{
public void call()
{
System.out.println("call me from B");
}
public static void main(String arr[])
{
B b=new B();
b.call();
}
}
13. Write a java program in which you will declare two interface sum and Add inherits these
interface through class A1 and display their content.
interface sum
{
12
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
Int sm=90;
Void suma();
}
Interface add
{
int ad=89;
voidadda();
}
Lab Turn 4
Single level & Multi level inheritance , Method Overriding
13
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
importjava.util.*;
importjava.lang.*;
importjava.io.*;
class one
{
Public void print_geek()
{
System.out.println("Geeks");
}
}
Class two extends one
{
Public void print_for()
{
System.out.println("for");
}
}
// Driver class
Public class Main {
Public static void main(String[] args)
{
two g = new two();
g.print_geek();
g.print_for();
g.print_geek();
}
}
Import java.util.*;
Import java.lang.*;
Import java.io.*;
Class one
{
Public void print_geek()
{
System.out.println("Geeks");
}
}
Class two extends one
{
Public void print_for()
{
System.out.println("for");
14
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
}
}
Class three extends two
{
Public void print_geek()
{
System.out.println("Geeks");
}
}
// Drived class
Public classMain
{
Public static void main(String[] args)
{
three g = new three();
g.print_geek();
g.print_for();
g.print_geek();
}
}
Class Parent
{
Void show()
{
System.out.println("Parent's show()");
}
// Driver class
Class Main
{
Public static void main(String[] args)
{
15
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
// If a Parent type reference refers // to a Parent object, then Parent's // show is called
Class Vehicle
{
Int maxSpeed = 120;
}
/* sub class Car extending vehicle */ 20
Class Car extends Vehicle
{ int maxSpeed = 180;
Void display()
{ /* print maxSpeed of base class (vehicle) */
System.out.println("Maximum Speed: "+ super.maxSpeed);
}
}
/* Driver program to test */
classTest
{
Public static void main(String[] args)
{
Car small = newCar();
small.display();
}
}
16
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
Lab Turn 5
Array and String
// Driver Class
class Test
{
// array declared
static int arr[] = {10, 324, 45, 90, 9808};
return max;
}
// Driver method
public static void main(String[] args)
{
System.out.println("Largest in given array is " + largest());
}
}
19. implementation of the sort() function across different scenarios of the Arrays class
17
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
import java.util.Arrays;
class GFG {
public static void main(String args[])
{
int[] arr = { 5, -2, 23, 7, 87, -42, 509 };
System.out.println("The original array is: ");
for (int num : arr) {
System.out.print(num + " ");
}
Arrays.sort(arr);
System.out.println("\nThe sorted array is: ");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
20.// Java program for addition of two matrices
import java.io.*;
class GFG {
System.out.println();
}
}
return C;
}
// Driver code
public static void main(String[] args)
{
int size = 4;
int A[][] = { { 1, 1, 1, 1 },
{ 2, 2, 2, 2 },
{ 3, 3, 3, 3 },
{ 4, 4, 4, 4 } };
// Print the matrices A
System.out.println("\nMatrix A:");
printMatrix(A, size, size);
int B[][] = { { 1, 1, 1, 1 },
{ 2, 2, 2, 2 },
{ 3, 3, 3, 3 },
{ 4, 4, 4, 4 } };
// Print the matrices B
System.out.println("\nMatrix B:");
printMatrix(B, size, size);
import java.io.*;
import java.util.Scanner;
class GFG {
public static void main (String[] args) {
19
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
Lab Turn 6
Exception handling & Packages
22.Write a program in java if number is less than 10 and greater than 50 it generate the
exception out of range. Else it displays the square of number
Class CustomTest
{
public static void main(String arr[])
{
try
{
int a=Integer.parseInt(arr[0]);
if(a50) throw(new outofRangeException("valid range is 10 to 50"));
{
int s=a*a;
System.out.println("Square is:"+s);
}
}catch(Exception ex)
{
System.out.println(ex);
} } }
23 Write a program in java to enter the number through command line argument if first and
second number is not entered it will generate the exception. Also divide the first number with
second number and generate the arithmetic exception.
20
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
class Divide2
{
public static void main(String arr[])
{
try
{
if(arr.length<2)
//save by A.java
package pack;
public class A{
21
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
//save by B.java
package mypack;
import pack.*;
class B
obj.msg();
//save by A.java
package pack;
public class A{
public void msg()
{
System.out.println("Hello");}
}
//save by B.java
package mypack;
class B
{
public static void main(String args[])
{
pack.A obj = new pack.A();//using fully qualified name
22
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
obj.msg();
} }
Output: Hello
Lab Turn7
Multithreading
26 Write a java program in which thread sleep for 5 sec and change the name of
thread.
Import java.lang.*;
Class ThreadTest extends Thread
{
static
{
Thread t = Thread.currentThread();
//Thread t=new Thread.currentThread();
System.out.println("thread test is loaded by"+t.getName()
23
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
+"thread"); t.setName("vishal");
System.out.println("changed the name of
thread"); System.out.println("suspending
thread for 5 sec"); try
{
Thread.sleep(5000);
}
catch(Exception ex){}
}
public static void main(String arr[])
{
Thread t=Thread.currentThread();
System.out.println("main() is invoked in"+t.getName()+"thread...");
}
}
27. Write a java program for multithread in which user thread and thread started from main
method invoked at a time each thread sleep for 1 sec.
t.start();
for(int i=10;i>0;i--)
{
System.out.println("
main:"+i); try
{
Thread.sleep(1000);
}
catch(Exception e){}
}System.out.println("main() completed");
}}
28 Write a java program for to solve producer consumer problem in which a producer produce
a value and consumer consume the value before producer generate the next value.
class Buffer
{
int value;
boolean produced=false;
public synchronized void produce(int x)
{
if(produced)
{
System.out.println("producer enter monitor out of turn..suspend. ");
try
{
wait();
}catch(Exception e)
{}
}
value=x;
System.out.println(value+"is
produced"); produced=true;
notify();
}
public synchronized void consume()
{
if(! produced)
{
System.out.println("consumer enterd the monitor out of turn,suspend.................");
try
{
wait();
}
catch(Exception e)
{ }
}
System.out.println(value+"is consumed");
produced=false;
25
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
notify();
}
}
class Producer extends Thread
{
Buffer buffer;
public Producer(Buffer b)
{
buffer =b;
}
Public void run()
{
{
System.out.println("producer started ,producing value.....................");
for(int i=1;1<=10;i++)
buffer.produce(i);
}
}
26
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
Lab Turn 8
try
System.out.println("usage:javacreatefile file name");
System.exit(0);
}
{
BufferedReader b=new BufferedReader(new
InputStreamReader(System.in));
PrintStreamfos=new PrintStream(new
FileOutputStream(arr[0])); System.out.println("Enter text end
to save");
PrintStream
temp=System.out;
System.setOut(fos);
do
{
String str=b.readLine();
if(str.equalsIgnoreCase("en
d"));
System.out.pri
ntln(str);
break
;
}while(true);
System.setOut(te
27
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
mp);
fos.close();
b.close();
System.out.println("successfully created");
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}
on screen.
import java.io.*;
class input
{
public static void main(String arr[])
{
try
{
FileInputStreamf is=new FileInputStream("J.text");
int a=fis.read();
System.out.println(a);
}
catch(IOException e)
{
}
}
}
Lab Turn 9
Collections in Java
import java.util.*;
28
[Approved by AICTE, Govt. of India & Affiliated to Dr. APJ Abdul
GL BAJAJ
Institute of Technologies & Management
Kalam Technical University, Lucknow, U.P., India]
Department of Applied Computational Science & Engineering
Greater Noida
//add elements
str.add("Hello");
str.add("Hi");
str.add("Namaste");
str.add("Bonjour");
29