Write Java Program to find Volume and Surface Area of a Cylinder with example. Before we step into the Java Program to find Volume and Surface Area of a Cylinder, Let see the definitions and formulas behind the Surface Area of a Cylinder, Top Or Bottom Surface Area, Lateral Surface Area and Volume of a Cylinder.
Java Surface Area of a Cylinder
If we know the radius and height of the cylinder, then we can calculate the surface area of a cylinder using the formula:
Surface Area of a Cylinder = 2πr² + 2πrh (Where r is a radius and h is the height of the cylinder).
The Java Volume of a Cylinder
The amount of space inside the Cylinder is called Volume. If we know the height of a cylinder then we can calculate the volume of a cylinder using the formula:
- Volume of a Cylinder = πr²h
- The Lateral Surface Area of a Cylinder = 2πrh
- We can calculate the Top Or Bottom Surface Area of a Cylinder = πr²
Java Program to find Volume and Surface Area of a Cylinder
This Java program allows the user to enter the value of a radius and height. Next, the Java program will calculate the volume of a Cylinder, Lateral Surface Area of a Cylinder, Surface Area of a Cylinder, and Top Or Bottom Surface Area of a Cylinder as per the formula.
// Java Program to find Volume and Surface Area of a Cylinder
package SurfaceAreaPrograms;
import java.util.Scanner;
public class VolumeOfCylinder {
private static Scanner sc;
public static void main(String[] args) {
// L = Lateral Surface Area of a Cylinder, T = Top Surface Area
double radius, sa, Volume, height, L, T;
sc = new Scanner(System.in);
System.out.println("\n Please Enter the radius of a Cylinder : ");
radius = sc.nextDouble();
System.out.println("\n Please Enter the Height of a Cylinder : ");
height = sc.nextDouble();
sa = 2 * Math.PI * radius * (radius + height);
Volume = Math.PI * radius * radius * height;
L = 2 * Math.PI * radius * height;
T = Math.PI * radius * radius;
System.out.format("\n The Surface area of a Cylinder = %.2f", sa);
System.out.format("\n The Volume of a Cylinder = %.2f", Volume);
System.out.format("\n The Lateral Surface area of a Cylinder = %.2f", L);
System.out.format("\n The Top OR Bottom Surface Area of a cylinder = %.2f", T);
}
}

The following statements will allow the user to enter the radius and height of a cylinder. Then we are assigning the user entered values to already declared variables called radius and height.
System.out.println("\n Please Enter the radius of a Cylinder : ");
radius = sc.nextDouble();
System.out.println("\n Please Enter the Height of a Cylinder : ");
height = sc.nextDouble();
Next, we are using the Mathematical Formula to calculate the surface area of a Cylinder
sa = 2 * Math.PI * radius * (radius + height);
In the next Java line, We are calculating the volume of a Cylinder
Volume = Math.PI * radius * radius * height;
In the next line, We are calculating the Lateral Surface Area of a Cylinder and Top Or Bottom Surface Area of a Cylinder
L = 2 * Math.PI * radius * height; T = Math.PI * radius * radius;
The following System.out.format statements will help us to print the Volume of a Cylinder, Lateral Surface Area of a Cylinder, Surface Area of a Cylinder, and Top Or Bottom Surface Area of a Cylinder.
System.out.format("\n The Surface area of a Cylinder = %.2f", sa);
System.out.format("\n The Volume of a Cylinder = %.2f", Volume);
System.out.format("\n The Lateral Surface area of a Cylinder = %.2f", L);
System.out.format("\n The Top OR Bottom Surface Area of a cylinder = %.2f", T);
From the above screenshot, you can observe that we have entered the Radius of a Cylinder = 4 and height = 6
The Surface Area of a Cylinder is
Surface Area of a Cylinder= 2πr² + 2πrh
It can also be written as
Surface Area of a Cylinder = 2πr (r+h)
Surface Area of a Cylinder = 2 * Math.PI * radius * (radius + height)
Surface Area of a Cylinder = 2 * 3.14 * 4 * (4 + 6)
Surface Area of a Cylinder = 251.2
The Volume of a Cylinder is
Volume of a Cylinder = πr²h
Volume of a Cylinder = Math.PI * radius * radius * height
Volume of a Cylinder = 3.14 * 4 * 4 * 6
Volume of a Cylinder = 301.44
The Lateral Surface Area of a Cylinder is
LSA = 2πrh
LSA = 2 * Math.PI * radius * height
LSA = 2 * 3.14 * 4 * 6
LSA = 150.72
The Top Or Bottom Surface Area of a Cylinder is
T = πr²
T = Math.PI * radius * radius
T = 3.14 * 4 * 4
T = 50.24
NOTE: For the calculation purpose, we have taken π = 3.14 instead of (3.142857142..). So, All the above values are almost equal to program output but may differ at 0.01.
Java Program to find Volume and Surface Area of a Cylinder using Functions
This Java program allows the user to enter the value of a radius and height. Next, this Java program will calculate the volume of a Cylinder, Lateral Surface Area of a Cylinder, Surface Area of a Cylinder, and Top Or Bottom Surface Area of a Cylinder as per the formula. In this example, we use the logic that we specified in the first example but place it in a method.
package SurfaceAreaPrograms;
import java.util.Scanner;
public class VolumeOfCylinderUsingMethods {
private static Scanner sc;
public static void main(String[] args) {
double radius, height;
sc = new Scanner(System.in);
System.out.println("\n Please Enter the radius of a Cylinder : ");
radius = sc.nextDouble();
System.out.println("\n Please Enter the Height of a Cylinder : ");
height = sc.nextDouble();
VolumeOfCylinder(radius, height);
}
public static void VolumeOfCylinder (double radius, double height) {
// L = Lateral Surface Area of a Cylinder, T = Top Surface Area
double sa, Volume, L, T;
sa = 2 * Math.PI * radius * (radius + height);
Volume = Math.PI * radius * radius * height;
L = 2 * Math.PI * radius * height;
T = Math.PI * radius * radius;
System.out.format("\n The Surface area of a Cylinder = %.2f", sa);
System.out.format("\n The Volume of a Cylinder = %.2f", Volume);
System.out.format("\n The Lateral Surface area of a Cylinder = %.2f", L);
System.out.format("\n The Top OR Bottom Surface Area of a cylinder = %.2f", T);
}
}
Please Enter the radius of a Cylinder :
3
Please Enter the Height of a Cylinder :
5
The Surface area of a Cylinder = 150.80
The Volume of a Cylinder = 141.37
The Lateral Surface area of a Cylinder = 94.25
The Top OR Bottom Surface Area of a cylinder = 28.27
Java Program to find Volume and Surface Area of a Cylinder using Oops
In this Java program, we are dividing the Volume and Surface Area of a Cylinder code using the Object-Oriented Programming. To do this, we will create a class that holds methods.
package SurfaceAreaPrograms;
public class VolumeOfACylinder {
double sa, Volume, L, T;
public double VolumeOfCylinder (double radius, double height) {
Volume = Math.PI * radius * radius * height;
return Volume;
}
public double SurfaceAreaOfCylinder (double radius, double height) {
sa = 2 * Math.PI * radius * (radius + height);
return sa;
}
public double LateralSurfaceAreaOfCylinder (double radius, double height) {
L = 2 * Math.PI * radius * height;
return L;
}
public double TotalSurfaceAreaOfCylinder (double radius) {
T = Math.PI * radius * radius;
return T;
}
}
Within the Main Java Program to find Volume and Surface Area of a Cylinder program, we will create an instance of the above-specified class and call the methods.
package SurfaceAreaPrograms;
import java.util.Scanner;
public class VolumeOfCylinderUsingClass {
private static Scanner sc;
public static void main(String[] args) {
double radius, height, sa, Volume, L, T;
sc = new Scanner(System.in);
System.out.println("\n Please Enter the radius of a Cylinder : ");
radius = sc.nextDouble();
System.out.println("\n Please Enter the Height of a Cylinder : ");
height = sc.nextDouble();
VolumeOfACylinder vac = new VolumeOfACylinder();
sa = vac.SurfaceAreaOfCylinder(radius, height);
Volume = vac.VolumeOfCylinder(radius, height);
L = vac.LateralSurfaceAreaOfCylinder(radius, height);
T = vac.TotalSurfaceAreaOfCylinder(radius);
System.out.format("\n The Surface area of a Cylinder = %.2f", sa);
System.out.format("\n The Volume of a Cylinder = %.2f", Volume);
System.out.format("\n The Lateral Surface area of a Cylinder = %.2f", L);
System.out.format("\n The Top OR Bottom Surface Area of a cylinder = %.2f", T);
}
}
Please Enter the radius of a Cylinder :
5
Please Enter the Height of a Cylinder :
9
The Surface area of a Cylinder = 439.82
The Volume of a Cylinder = 706.86
The Lateral Surface area of a Cylinder = 282.74
The Top OR Bottom Surface Area of a cylinder = 78.54
AreaOfACylinder Class Analysis:
- First, we declared a function VolumeofCylinder with two argument. Within the Java Program to find Volume and Surface Area of a Cylinder function, we are calculating the Volume of a Cylinder and returning the value.
- Next, we declared a function SurfaceAreaofCylinder with two arguments. Within the function, we are calculating the Surface Area of a Cylinder and returning the value.
- Next, we declared a function LateralSurfaceAreaofCylinder with two arguments. Within the function, we are calculating the Lateral Surface Area of a Cylinder and returning the value.
- Here, we declared a function TotalSurfaceAreaofCylinder with one argument. Within the function, we are calculating the Total Surface Area of a Cylinder and returning the value.
Main Class Analysis:
In this Java Program to find Volume and Surface Area of a Cylinder, we created an instance / created an Object of the AreaOfACylinder Class
VolumeOfACylinder vac = new VolumeOfACylinder();
Next, we are calling the VolumeofCylinder method. It is the first method that we created with the double data type, and this method will calculate the Volume of a Cylinder and return a value. So, we are assigning the return value to the volume variable.
Volume = vac.VolumeOfCylinder(radius, height);
Next, we are calling the SurfaceAreaofCylinder method. It is the second method that we created with a double data type, and this method will calculate the Surface Area of a Cylinder and return a value. So, we are assigning the return value to the sa variable.
sa = vac.SurfaceAreaOfCylinder(radius, height);
Next, we are calling the LateralSurfaceAreaofCylinder method. It is the third method that we created with a double data type. This method will calculate the Lateral Surface Area of a Cylinder and return a value. So, we are assigning the return value to the L variable.
L = vac.LateralSurfaceAreaOfCylinder(radius, height);
Next, we are calling the TotalSurfaceAreaofCylinder method. It is the fourth method that we created with a double data type. This method will calculate the Total Surface Area of a Cylinder and return a value. So, we are assigning the return value to the T variable.
T = vac.TotalSurfaceAreaOfCylinder(radius);
Lastly, we used the following System.out.format statement to print the Java Volume of a Cylinder, Lateral Surface Area of a Cylinder, Surface Area of a Cylinder, and Top Or Bottom Surface Area of a Cylinder.
System.out.format("\n The Surface area of a Cylinder = %.2f", sa);
System.out.format("\n The Volume of a Cylinder = %.2f", Volume);
System.out.format("\n The Lateral Surface area of a Cylinder = %.2f", L);
System.out.format("\n The Top OR Bottom Surface Area of a cylinder = %.2f", T);