## Jam 1: Study Guide

Jams are open book. 40 minutes in lab.

Topics:

• Variables: defining and assigning

• Data types: `String`, `double`, `int`

• Command line variables

• `System.out.println()`, `System.out.print()`

• `System.console().readLine()`

• arithmetic operators: +, *, -, /, %

• String concatenation with `+`

• math utilities: sqrt, pow, cos, sin, exp, log, random, etc

• Operators and expressions, order of operations

## Practice questions

1) What is the value and type for each of the following expressions?

• 2 + 3

• Math.pow(2, 3)

• 2.0 + 3

• 5.5/10

• 5 - 2 * 3

• "123"

• 48 % 2

• 2.0

• 2+4*2+1

• "lol" + "cats"

2) Write a program `Sum.java` that takes two command line arguments, converts them to integers and outputs their sum. You can assume that the command line arguments are both valid integers.

``````\$ java Sum 4 5
The sum is 9.

\$ java Sum 0 0
The sum is 0.

\$ java Sum -1 5
The sum is 4.``````

3) Write a madlib program that asks the user for 2 colors and one adjective, then prints out the filled-in poem:

``````\$ java Roses
color: pink
color: azure

Roses are pink
Violets are azure
Sugar is funny
and so are you!``````

4) Write a program that takes a user’s hotel room rate and outputs the cost of a 6% sales tax and 10.5% city tourism fee. The program should then output the total bill.

``````\$ java Bill
Room rate: 100
Total nights: 3
-------------------
Tax: \$ 18.0
Tourism Fee: \$ 31.5
Total: \$ 349.50``````

5) What is the output of the following program?

``````public class Cats {
public static void main(String[] args) {
String type = "tuxedo";
int fish = 3;

System.out.println("The "+type+" cat caught "+fish+" fish.");
}
}``````

6) The following program has several problems. What are they? For each error, is the error a syntax error, runtime error, or logic error? How can we fix the problem?

``````public class Mystery {
public static void main(String args) {
System.out.print("Enter a value: ");
int value = Integer.parseInteger(valuStr);
int result = value * 10
System.out.println("The result is "+result);
}
}``````

7) The following program has a problem. What is it? Is the error is syntax error, runtime error, or logic error? How can we fix the problem?

``````public class Mystery {
public static void main(String[] args) {
int value = Integer.parseInt(args);
double fraction = value / 10;
System.out.println("The fraction is "+fraction);
}
}``````

8) The following program has a bug. Is the error is syntax error, runtime error, or logic error? How can we fix the problem?

``````public class Mystery {
public static void main(String[] args) {
int value = Integer.parseInt(args);
double fraction = value / 0;
System.out.println("The fraction is "+fraction);
}
}``````