"Hi, Amigo!"

"I want to tell you about numeric operators."

"Bilaabo already told me!"

"Really? Then I'll ask just a couple of questions."

"How do you increase a variable by 1? Give me as many options as possible."

"Easy."

`x++;`

`++x;`

`x = x + 1;`

`x += 1;`

"That's right. And now what if you need to multiply the variable by two?"

"Done."

`x = x * 2;`

`x *= 2;`

`x = x + x;`

`x += x;`

`x = x << 1;`

`x <<= 1;`

"How do you raise a variable to the ninth power?"

"This still doesn't require thinking."

`x = x*x*x*x*x*x*x*x*x;`

```
x = x*x*x; (x3)
x = x*x*x; (x3*x3*x3 = x9)
```

`x = Math.exp( 9 * Math.log(x)); // x9 == exp(ln(x9)) == exp(9*ln(x));`

"The square root of a number?"

"Piece of cake."

`Math.sqrt(x)`

`x = Math.exp(0.5 * Math.log(x)); // x1/2 = exp(ln(x0.5)) == exp(0.5*ln(x));`

"Sine of pi/2?"

`x = Math.sin(Math.PI/2);`

"A random number between 0 and 1?"

`x = Math.random();`

"A random number between 0 and 3?"

`x = Math.random() *3;`

"A random number between 0 and 10?"

`x = Math.random() *10;`

"A random number between -5 and 5?"

`x = Math.random() *10 - 5;`

"A random number between -1 and 1?"

`x = Math.random() *2 - 1;`

"A random number between 0 and 100?"

"I even have two solutions for you:"

`int x = (int) (Math.random() *100);`

```
Random random = new Random();
int x = random.nextInt(100);
```

"Brilliant! I'm impressed. You have a splendid grasp of the topic."

GO TO FULL VERSION