**How to subtract in java: **In the previous article, we have seen Java Program to Find Square and Square root of a Number

In this article we are going to see how to subtract two numbers using Java Programming.

## Java Program to Subtract Two Numbers

Subtraction is an arithmetic operation which is represented by symbol ‘-‘. Generally we removes objects from a collection in case of subtraction.

For example:

15 - 5 = 10 1000 - 700 = 300 65 - 30 = 35

Let’s see different ways to subtract two numbers.

- By Using Subtraction ‘-‘ Operator
- By Using Recursion
- By Using Bitwise Operators (Without Arithmetic Operators)

### Method-1: Java Program to Subtract Two Numbers By Using Subtraction ‘-‘ Operator

**Approach:**

- Create scanner class object.
- Take user input for two numbers.
- Find the result using ‘-‘ operator.

**Program:**

import java.util.Scanner; public class Main { public static void main(String[] args) { //Scanner class object created Scanner input = new Scanner(System.in); //taking user input of first number System.out.print("Enter the first number: "); int num1 = input.nextInt(); //taking user input of second number System.out.print("Enter the second number: "); int num2 = input.nextInt(); //finding subtraction value by using arithmetic subtract operator //and printing the result System.out.println("The difference of " + num1 + " and " + num2 + " is " + (num1 - num2)); } }

Output: Enter the first number: 60 Enter the second number: 20 The difference of 60 and 20 is 40

### Method-2: Java Program to Subtract Two Numbers By Using Recursion

**Approach:**

- Create scanner class object.
- Take user input for two numbers.
- Use the recursive function.
- Call the function again and again by reducing each number by one until num2 becomes one.
- If num2 becomes 0 return num1.

**Program:**

import java.util.Scanner; public class Main { public static void main(String[] args) { //Scanner class object created Scanner input = new Scanner(System.in); //taking user input of first number System.out.print("Enter the first number: "); int num1 = input.nextInt(); //taking user input of second number System.out.print("Enter the second number: "); int num2 = input.nextInt(); System.out.println("The difference of " + num1 + " and " + num2 + " is " + subtraction(num1, num2)); } //user defined method subtraction() static int subtraction(int num1, int num2) { if (num2 == 0) return num1; else //calling subtraction() method recursively return subtraction((num1 - 1), (num2 - 1)); } }

Output: Enter the first number: 10 Enter the second number: 7 The difference of 10 and 7 is 3

### Method-2: Java Program to Subtract Two Numbers By Using Bitwise Operators (Without Arithmetic Operators)

**Approach:**

- Create scanner class object.
- Take user input for two numbers.
- Use the recursive function.
- Call the function recursively by passing num1 xor num2 as 1
^{st}parameter and num1’ and num2 left shift by one bit. - If num2 becomes 0 return num1.

**Program:**

import java.util.Scanner; public class Main { public static void main(String[] args) { //Scanner class object created Scanner input = new Scanner(System.in); //Taking input of two numbers from user System.out.print("Enter the first number: "); int num1 = input.nextInt(); System.out.print("Enter the second number: "); int num2 = input.nextInt(); //calling subtract_bitwise() method and printing result System.out.println("The difference of " + num1 + " and " + num2 + " is " + subtract_bitwise(num1, num2)); } //subtract_bitwise() method to perform subtraction static int subtract_bitwise(int num1, int num2) { if (num2 == 0) return num1; //recursively calling subtract_bitwise() return subtract_bitwise(num1 ^ num2, (~num1 & num2) << 1); } }

Output: Enter the first number: 12 Enter the second number: 8 The difference of 12 and 8 is 4

Explore complete java concepts from the Java programming examples and get ready to become a good programmer and crack the java software developer interview with ease.

**Related Java Programs:**