Integer Division in Java

In this tutorial, we will learn about integer division in Java. Let's say we have two variables of integer type a=25 and b=5 and we want to perform division.

When it comes to a decision of maintaining precision or avoiding precision mainly at the time of division because while doing division there are high chances of losing precision.

Example of simple division

In the given example we have three int type variables a, b, c and we are storing division of a & b into c. We recommend you to run this example and observe the output and match your observations with whatever we discussed below.

public class StudyTonight 
{ 
	public static void main(String[] args)   
	{ 
		 int a = 25;
		 int b = 5;
		 int c = a / b;
		 System.out.println(a+"/"+b+"="+c);
	} 
}


25/5=5

In the above case, the division will work finely because all the variables are in the form of an integer and 5 divide 25 completely. Think about 10/3 definitely c cannot store 3.3333... as it is an int type of a variable and able to store integer data only and it will hold just 3. In the below case it is not considering a reminder.

Example: losing data

Here, we are dividing two integers and storing the result into int that leads to loss of data because integer does not hold decimal place values.

public class StudyTonight 
{ 
	public static void main(String[] args)   
	{ 
		 int a = 10;
		 int b = 3;
		 int c = a / b;
		 System.out.println(a+"/"+b+"="+c);
	} 
}


10/3=3

Now let's bring the idea of doing real division where we will store the value in double.

Example

In the code given below, to observe the output of what happens when we change the datatype of variables from float to int and vice versa. You will get integers or real numbers.

public class StudyTonight 
{ 
	public static void main(String[] args)   
	{ 
		int ans1 = 10 / 3;
		double ans2 = 10.0 / 3;
		double ans3 = 10 / 3.0;
		double ans4 = 10.0 / 3.0;
		double ans5 = 10 / 3;		 		 
		System.out.println("10 / 3 = "+ans1);
		System.out.println("10.0 / 3 = "+ans2);
		System.out.println("10 / 3.0 = "+ans3);
		System.out.println("10.0 / 3.0 = "+ans4);
		System.out.println("10 / 3 = "+ans5);	
	}
}


10 / 3 = 3
10.0 / 3 = 3.3333333333333335
10 / 3.0 = 3.3333333333333335
10.0 / 3.0 = 3.3333333333333335
10 / 3 = 3.0

Conclusion:

After implementing all the above codes we can conclude some important observation based on the datatype of divisor and dividend

int / int = int

double / int = double

int / double = double

double / double = double