This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Lab 2 Variables and Arithmetic Operations
### Intended Learning Outcomes
Upon completion of this tutorial/lab, you should be able to:
- Define variables with meaningful names.
- Use arithmetic expressions and assignment statements to perform calculations.
- Identify and fix syntax errors in Java programs.
## Exercise 1
Identify whether the followings are valid or invalid identifiers.
| variable name | Valid | Invalid |
| ------------- | ----- | ------- |
| R2D2 | [x] | [] |
| Watchamacallit | [x] | [] |
| howAboutThis? | [] | [x] |
| Java | [x] | [] |
| GoodChoice | [x] | [] |
| 12345 | [] | [x] |
| 3CPO | [] | [x] |
| This is okay | [] | [x] |
| thisIsReallyokay | [x] | [] |
| aPPlet | [x] | [] |
| Bad-Choice | [] | [x] |
| A12345 | [x] | []|
## Exercise 2
Write down the output of the program fragments below.
```
double amount;
amount = 20;
System.out.println(amount – 8);
# Output: 12.0
```
```
int n=9;
n+=1;
System.out.println(n);
System.out.println(n+1);
# Output:
10
11
```
```
int num=7;
num = 9%num;
System.out.println(num);
# Output: 2
```
```
int u, v;
u = 5;
v = u * u;
System.out.println(u*v);
# Output: 125
```
```
double x=8;
x += 5;
System.out.println(x + 3 * x);
# Output: 52
```
```
double p=5.1, q=2.3;
p += p;
System.out.println(p + q);
System.out.println(p – q);
# output:
12.5
7.9
```
### Exercise 3
Identify the errors in the following Java program fragments.
(a)
```java
// Question
double a, b, c;
a = 2;
b = 3;
a + b = c;
System.out.println( 5((a + b) / (c + d);
```
```
// Answer
"a + b" = c;
```
* only a variable is allowed on the left hand side of an assignment statement
```
System.out.println( 5"*"((a + b) / (c + "d")"))";
```
* \* is expected between 5(
* d was not declared
* two ) were missed
(b)
```java
// Question
double balance, deposit;
balance = 1,200.3;
deposit = $140;
System.out.println( balance + deposit );
```
```
// Answer
balance = 1","200.3;
```
* comma is not allowed
```
deposit = $140;
```
* $ is not allowed
(c)
```java
// Question
double 6n;
6n = 2 * 6n;
```
```
// Answer
double "6n";
```
* a variable name must start with a letter (not a digit)
## Exercise 4
Write down the output of the program fragments below.
```java
String var;
var = "Programming";
System.out.print( var );
var = "Networking";
System.out.println( var );
// Output:
ProgrammingNetworking
```
```java
System.out.println( "act" + "ion" );
// Output: action
```
```java
double var1 = 3;
System.out.println( var1 + 5 );
// Output: 8.0
```
```java
System.out.println("The price is " + 30 + " dollars and " + 60 + " cents." );
// Output:
The price is 30 dollars and 60 cents.
```
## Exercise 5
```java
public class StringConcatenate {
public static void main(String[] args) {
int number1 = 200;
int number2 = 8;
int number3 = 18;
System.out.println("Next year is " + number1 + number2);
System.out.println("My age is " + (number2 + number3));
}
}
// Output:
Next year is 2008
My age is 26
```
## Exercise 6
```java
public class IncrementDecrement {
public static void main( String[] args ) {
int a, x;
a = 10;
x = a++;
System.out.println( "a=" + a );
System.out.println( "x=" + x );
x = ++a;
System.out.println( "a=" + a );
System.out.println( "x=" + x );
}
}
// Output:
11
10
12
12
```
## Exercise 7
Can the following conversions involving casting be allowed? If so, find the converted result, that is, the value stored in variable $i$.
```java
char c = 'A';
int i = int (c);
// not allowed
```
```java
double d = 1000.74;
int i = (int) d;
// allowed, 1000
```
```java
boolean b = true;
int i = (int) b;
// not allowed
```
## Exercise 8
PROBLEM: Calculate the volume of a cylinder (with console I/O)
Write a Java program that computes the volume ($v$) of a cylinder. The program should use Scanner class to read the radius ($r$) and the length ($l$), and compute the volume ($v$) with the formula: $v = r^2\pi l$.
Test Case
| | Case 1 | Case 2 | Case 3 |
| - | - | - | - |
| $r$ | 4 | 6 | 8 |
| $l$ | 5 | 7 | 9 |
| $v=$ | 251/3274 | 791.6813 | 1809.5574 |
```
c:\> java Ex8
Enter r : 8
Enter l : 9
v = 1809.5574
```