Complete the Primitive types vs references exercises before reviewing the solutions.

Review the primitive exercise solution with AP CS Tutor Brandon Horn.

## Original code

```
int x = 5;
int y = 6;
x = y;
y = 7;
System.out.println(x);
System.out.println(y);
```

## Output

```
6
7
```

## Explanation

Primitive type variables store their values directly. The original value of `x`

is `5`

.

The statement `x = y;`

(read `x`

is set to `y`

) sets the value of `x`

to a copy of the value of `y`

. When the statement is run, the value of `y`

is `6`

. The value of `x`

is set to `6`

. The statement does not link `x`

and `y`

.

The statement `y = 7;`

affects only the value of `y`

. The value of `x`

remains unchanged.

## Step by step memory diagram

### Step 1

```
int x = 5;
```

#### Memory diagram after Step 1

```
x: 5
```

### Step 2

```
int x = 5;
int y = 6;
```

#### Memory diagram after Step 2

```
x: 5
y: 6
```

### Step 3

```
int x = 5;
int y = 6;
x = y;
```

#### Memory diagram after Step 3

```
x: 6
y: 6
```

### Step 4

```
int x = 5;
int y = 6;
x = y;
y = 7;
```

#### Memory diagram after Step 4

```
x: 6
y: 7
```

### Step 5

```
int x = 5;
int y = 6;
x = y;
y = 7;
System.out.println(x);
System.out.println(y);
```

#### Memory diagram after Step 5

```
x: 6
y: 7
```

#### Output after Step 5

```
6
7
```