Sample Exercises, Part 1

m) order of precedence. n) Java trig functions. o) ++, --, +=, *=, /=, -=, %=. p) Java
math constants. q) boolean operators. r) typecasting. s) comparison operators .....
Here is an exercise with no relation to Java programming (I found it in Scientific
American in an article by Martin Gardner). Take the following text: ...

Part of the document



1.1. The Java Compiler and the Java Virtual Machine

1. State, in your own words, the meaning of the following terms:
|Java is case sensitive |source code |
|compiling |class file |
|JDK |JVM |
|default program entry point |platform independence |


2. Describe, in your own words:
a) the framework for every basic executable Java program
b) the significance of curly brackets
c) why Java source code should be indented properly
d) what happens when compiling source code that contains errors
e) how to compile a Java program
f) how to execute a Java program
g) what the advantages are of Java over other programming languages

3. What is the compiler error message, if any, if you
a) compile a class (program) that does not contain any body, i.e. a
source code that looks like public class Test { }
b) compile a program without the standard main method
c) compile a program that contains two standard main methods
d) compile a program which has been saved using a name different from the
name of the program
e) create a standard program containing one line with two statements
System.out.println("Something"), where each one is properly terminated
by a semicolon
f) create a standard program containing two lines with statements
System.out.println("Something") but neither statement is terminated
with a semicolon
g) create a class containing the standard main method with one
System.out.println statement and proper semicolons, but everything is
listed in one single (long) line
h) create a standard program containing one or more System.out.println
statements, but using either single quotes or no quotes at all instead
of double quotes inside each statement
i) create a standard program containing the standard main method but
inside that method you misspell System.out.println in some way

4. Describe the complete process of creating and executing a working
program. In other words, how is the source code file created, what names
must be used, how is the class file created, and how is the class file
executed.

1.2. Data Types, Assignments, and Arithmetic

1. State, in your own words, the meaning of the following terms:
|int, long, short |double, float |
|char and boolean |largest and smallest |
| |value |
|literal |binary representation |
|bits and bytes |declaration of a |
| |variable |
|reserved keywords |assignment operator |
|initializing a variable |basic arithmetic |
| |operators |
|order of precedence |Java trig functions |
|++, --, +=, *=, /=, -=, %= |Java math constants |
|boolean operators |typecasting |
|comparison operators | |


2. Describe, in your own words:
a) where in a program variables must be declared
b) how variable names can look like, and how variable names should look
like
c) which side of an assignment is evaluated first
d) what the "percent" operator % does
e) what the resulting type is when dividing two int, or an int and a
double, or two double
f) what the resulting type is when adding two int, or an int and a
double, or two double

3. What is the exact syntax to:
a) declare one variable of type double
b) declare several variables of type double in one line
c) declare one variable of type double and assign the value -17.3 to it
at the same time
d) declare several variables of type double and assign values to them at
the same time

4. What is the compiler error message, if any, if you
a) assign an int value to a double variable, or a double value to an int
variable
b) assign a char value to an int variable, or an int value to a char
variable
c) if you assign a numeric value to a boolean variable, or a boolean
value to a numeric variable

5. Convert the numbers 321 and 33 to their binary representations, and the
numbers (010010001)2 and (11011011)2 to their usual representation.

6. How many bits and bytes are necessary to store all possible short
values?

7. Write a program that has three double variables containing some values
and prints to the screen the mathematical sine of the first one, the
cosine of the second one, and the tangent of the third number. Also
display the sum of the squares of sine and cosine of the three double
numbers.

8. What is the value of z at the end of this code fragment?
int z = 23;
int x = 7, y = 53;

x *= y;
y /= 2;
x++;
z += (x + y);

9. Determine if the following statements are true or false, using:
boolean q = true, r = false, s = true, result;


a) result = ( q || r );
b) result = ( q && s );
c) result = ( q || r || s );
d) result = ( q && r || s );
e) result = ( ( q || r ) && s );
f) result = ( ( ( q && r ) || s ) && q );
g) result = !( !( !r || s ) && ( !q || !s ) );
h) result = !( r || q && s ) || ( !q && ( !(r == s ) ) );
i) result = ( s || ( r && !q ) && ( q && !r || ( s && !( !q ) ) ) );

10. Determine if the following statements are true or false, using:
int x = 5, y = 9, z = 2;
boolean r = false, result;


a) result = ( 5 >= x);
b) result = ( y < z );
c) result = (y == 9) && ( (x >= 2) || r );
d) result = !( ( r || ( y < x ) ) && ( 5 >= x ) );
e) result = ( ( x + y ) >= ( 16 - z ) );
f) result = ( x == ( (z++) + 2 ) );
g) result = ( x == ( (++z) + 2 ) );
h) result = ( !r && ( (--y) > (z + x) ) );
i) result = (((21 - z) == (((y++) + x + z) + 1)) && (!r == true));

1.3. Basic Program Control

1. State, in your own words, the meaning of the following terms:
|code block |simple if statement |
|if-else statement with |nested if-else-if statement |
|alternative | |
|loop |loop initialization, |
| |modification, and test |
|for loop |while loop |
|a loop counter | |


2. Describe, in your own words:
a) what happens when the condition fails in a simple if statement.
b) what happens when the first condition fails in an if-else statement.
c) what happens when all listed cases in a switch statement fail.
d) a while such as the following:
while (true);
e) the following for loop:
for (int i = 0; i