# Multiply two numbers without using arithmetic operators in java

Let’s learn multiply two numbers without using arithmetic operators in java.

## Multiply two numbers without using arithmetic operators in java

Let’s learn how to multiply two numbers without using arithmetic operators using for loop.

```import java.util.Scanner;
public class MultiplyWithoutArithmeticOperators
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int number1, number2, multiply = 0;
number1 = sc.nextInt();
number2 = sc.nextInt();
// loops until condition becomes false
for(int a = 1; a <= number1; a++)
{
multiply = multiply + number2;
}
System.out.println("Multiplication of " + number1 + " and " + number2 + " is: " + multiply);
sc.close();
}
}
```

Output:

Multiplication of 7 and 7 is: 49

Let’s see another logic to multiply two numbers without using arithmetic operators where we are using static method.

```import java.util.Scanner;
public class MultiplyWithoutArithmeticOperators
{
public static void main(String[] args)
{
int multiply = 0;
Scanner sc = new Scanner(System.in);
int number1 = sc.nextInt();
int number2 = sc.nextInt();
for(int a = 0; a < number2; a++)
{
multiply = multiplication(multiply, number1);
}
System.out.print("Multiplication of " + number1 + " and " + number2 + " is: " + multiply);
sc.close();
}
static int multiplication(int number1, int number2)
{
for(int a = 0; a < number2; a++)
number1++;
return number1;
}
}
```

Output:

Multiplication of 12 and 5 is: 60

Now let’s learn to multiply two numbers without using arithmetic operators using while loop.

```import java.util.Scanner;
public class MultiplyWithoutArithmeticOperators
{
public static void main(String[] args)
{
int multiply = 0;
Scanner sc = new Scanner(System.in);
int number1 = sc.nextInt();
int number2 = sc.nextInt();
for(int a = 0; a < number2; a++)
{
multiply = multiplication(multiply, number1);
}
System.out.print("Multiplication of " + number1 + " and " + number2 + " is:  " + multiply);
sc.close();
}
static int multiplication(int number1, int number2)
{
// loops if number2 is greater than 0
while(number2 != 0)
{
// using bitwise AND operator
int x = (number1 & number2);
number1 = number1 ^ number2;
number2 = x << 1;
}
return number1;
}
}
```

Output:

Multiplication of 17 and 7 is: 119

Finally let’s learn how multiply two numbers without using arithmetic operators using recursion.

```public class MultiplyWithoutArithmeticOperators
{
public static void main(String[] args)
{
System.out.println(multiplication(-7, 10));
System.out.println(multiplication(-17, -27));
}
static int multiplication(int number1, int number2)
{
// checking number2 is 0 or not
if(number2 == 0)
// returns 0 if any number multiplied by 0
return 0;
// checks if number2 is greater than 0 or not
if(number2 > 0)
// calculating multiplication and return
return (number1 + multiplication(number1, number2 - 1));
// executes if number2 is negative
if(number2 < 0)
return -multiplication(number1, -number2);
return -1;
}
}
```

Output:

-70
459

Also read – polymorphism in java