8 min readβ’december 27, 2022

Peter Cao

user_sophia9212

Addition, Subtraction, and Multiplication

Now, we can start working more with these data types. In this section, we're going to focus on the two numeric types: int and double.

For addition, subtraction, and multiplication, equations can be input as you would input them into your calculator. Variables are used to assign the answers to the correct equation.

```
int a = 1 + 2;
double b = 1.0 + 3.5;
int c = 3 - 5;
double d = 24 * 1.0
```

```
a = 3
b = 4.5
c = -2
d = 24.0
```

The equal sign, which is the **assignment operator**, can be used to change the value of the variable or other expressions. It evaluates the expression first and stores the final value in the variable.
If an operation has two integers, then the result is an integer. If an operation has at least one double, then the result is a double.

When you want to add one to a value, there are a few ways to do so in Java. For example, for int score = 0;, you can add 1 byβ¦

- score = score + 1;

This may look confusing because the variable score is on both sides of the equation. However, in coding the score variable on the left is the previous value score was (aka score = 0), making the equation score = 0 + 1. This makes the new value of the score variable 1.

- score += 1;
- score++;

All three methods above will give you the same outcome.

For subtraction, itβs similar. For int score = 0;, you can subtract 1 byβ¦

- score = score - 1;
- score -= 1;
- score--;

Modulo Operator

There is also a **modulo operator**, denoted by %. When a user inputs *a % b*, the program reports the integer remainder of *a* divided by *b,* where *a* and *b *are both integers and *b* is positive. We will only talk about modulo with positive values of *a* because once a is negative, the math becomes much more complicated. A few examples are below:

```
int a = 4 % 2;
int b = 10 % 3;
int c = 3 % 5;
```

```
a = 0 (4 = 2 * 2 + **0**)
b = 1 (10 = 3 * 3 + **1**)
c = 3 (3 = 0 * 5 + **3**)
```

Division in Java

Things get a bit more complicated with division. Remember that operations with two integers return an integer, and if there is at least one double, it returns a double. Here is an example of each:

```
int a = 5 / 2;
double b = 5 / 2.0
```

```
a = 2
b = 2.5
```

Java follows the regular order of operations that you learned in algebra, with the inclusion of modulo with multiplication and division. Here is a table of the order of operations with operators from highest to lowest precedence:

Here is some practice with order of operations. Remember the difference between double division and integer division. Find the value of each variable in the following:

```
int a = 3 + 4 / 3 * (4-1);
double b = (3 * 5 / 2) / (2.0 + 8);
int c = 4 % 3 + 2 * 5 / 4;
int d = (3 * 5 / 2) / (2 + 8);
```

- Solution:

```
a = 3 + 4 / 3 * (4 - 1) = 3 + 4 / 3 * 3 = 3 + 1 * 3 = 3 + 3 = **6**
b = (3 * 5 / 2) / (2.0 + 8) = (15 / 2) / (10.0) = (7) / (10.0) = **0.7**
c = 4 % 3 + 2 * 5 / 4 = 1 + 2 * 5 / 4 = 1 + 10 / 4 = 1 + 2 = **3**
d = (3 * 5 / 2) / (2 + 8) = (15 / 2) / (10) = (7) / (10) = **0**
```

**Addition, Subtraction, Multiplication, and Division Practice Problems**

`int a = 1;`

`int b = 2;`

`int c = 3;`

`a = c;`

`b = b * 2;`

`c = 4;`

A. a = 1, b = 2, c = 3

B. a = 4, b = 2, c = 3

C. a = 4, b = 4, c = 3

D. a = 3, b = 4, c = 4

Answer: D. a = 3, b = 4, c = 4

`int p = 3;`

`int q = 4;`

`int r = 5;`

`p = q;`

`q = q + 1;`

`r = r * 2`

;A. p = 3, q = 4, r = 5

B. p = 4, q = 4, r = 5

C. p = 4, q = 5, r = 5

D. p = 4, q = 5, r = 10

Answer: D. p = 4, q = 5, r = 10

`int x = 2;`

`int y = 3;`

`int z = 4;`

`x = z;`

`y = y + 2;`

`z = x * y;`

A. x = 2, y = 3, z = 4

B. x = 4, y = 5, z = 20

C. x = 4, y = 5, z = 4

D. x = 4, y = 3, z = 4

Answer: B. x = 4, y = 5, z = 20

`int m = 5;`

`int n = 6;`

`int o = 7;`

`m = n;`

`n = o;`

`o = m + n;`

A. m = 6, n = 7, o = 13

B. m = 6, n = 6, o = 7

C. m = 6, n = 7, o = 7

D. m = 5, n = 6, o = 7

Answer: A. m = 6, n = 7, o = 13

`int x = 3;`

`int y = 4;`

`int z = 5;`

`x = x * 2;`

`y = y + 3;`

`z = z - 1;`

A. x = 3, y = 4, z = 5

B. x = 6, y = 4, z = 5

C. x = 3, y = 7, z = 5

D. x = 6, y = 7, z = 4

Answer: D. x = 6, y = 7, z = 4

`int x = 0;`

`int y = 1;`

`int z = 2;`

`x = y - z;`

`y = x + y;`

`z = x - y;`

A. x = -1, y = 0, z = -1

B. x = 1, y = 2, z = -1

C. x = -1, y = 1, z = 2

D. x = 0, y = 1, z = 2

Answer: A. x = -1, y = 0, z = -1

`int x = 3;`

`int y = 4;`

`int z = 5;`

`x = y / x;`

`y = z / y;`

`z = x / z;`

A. x = 3, y = 4, z = 5

B. x = 1, y = 1, z = 0

C. x = 1, y = 4, z = 5

D. x = 1, y = 1, z = 1

Answer: B. x = 1, y = 1, z = 0

**Modulo Practice Problems**

Reminder:Β

- Modulo gives you the remainder after the division.
- A smaller number divided by a larger number always returns the smaller number as the remainder.

A. 5

B. 10

C. 0

Answer: C. 0

A. 4

B. 3

C. 2

Answer: B. 3

A. 1

B. 6

C. 2

Answer: C. 2

A. 0

B. 3

C. 1

Answer: A. 0

A. 0

B. 5

C. 1

Answer: A. 0

A. 1

B. 2

C. 0

Answer: B. 2

A. 7

B. 0

C. 10

Answer: A. 7

A. 10

B. 0

C. 3

Answer: C. 3

A. 10

B. 0

C. 1

Answer: B. 0

A. 2

B. 0

C. 10

Answer: A. 2

**AP CSA-style Practice Problems**

Reminder:

- Remember that order of operations applies just like in math!
- int/int returns a truncated result (drops everything to the right of the decimal point)

`int a = 8;`

`int b = 3;`

`double c = 2.0;`

`System.out.println(7 + a / b * c - 1);`

A. 0.666666666666667

B. 9.0

C. 10.0

D. 11.5

E. 14.0

Answer: C. 10.0

`int a = 12;`

`int b = 4;`

`double c = 5.0;`

`System.out.println(3 + a / b * c - 2);`

A. 16.0

B. 17.0

C. 15.0

D. 13.0

E. 12.5

Answer: A. 16.0

`int a = 10;`

`int b = 5;`

`double c = 3.0;`

`System.out.println(2 + a / b * c - 3);`

A. 0

B. 6.0

C. 1.5

D. 10.0

E. 5.0

Answer: E. 5.0

`int a = 15;`

`int b = 6;`

`double c = 4.0;`

`System.out.println(1 + a / b * c - 4);`

A. 5.0

B. 9.0

C. 1.0

D. 11.5

E. 10.0

Answer: A. 5.0

`int a = 20;`

`int b = 8;`

`double c = 6.0;`

`System.out.println(6 + a / b * c - 5);`

A. 7.5

B. 8.0

C. 11.0

D. 13.0

E. 14.5

Answer: D. 13.0

Browse Study Guides By Unit

βUnit 1 β Primitive Types

π±Unit 2 β Using Objects

π₯Unit 3 β Boolean Expressions & if Statements

πΉUnit 4 β Iteration

βοΈUnit 5 β Writing Classes

βοΈUnit 6 β Array

πΎUnit 7 β ArrayList

π»Unit 8 β 2D Array

π²Unit 9 β Inheritance

π±Unit 10 β Recursion

πExam Reviews

Β© 2023 Fiveable Inc. All rights reserved.