Introduction to Java Programming, Sixth Edition, Y. Daniel Liang
Chapter 3 Selection Statements
Section 3.2 boolean Data Type and Operations
1
The "less than or equal to" comparison operator in Java is __________.
A.
<
B.
<=
C.
=<
D.
<<
E.
!=
2
The equal comparison operator in Java is __________.
A.
<>
B.
!=
C.
==
D.
^=
3
In Java, the word true is ________.
A.
a Java keyword
B.
a Boolean literal
C.
same as value 1
D.
same as value 0
4
Which of the Boolean expressions below is incorrect?
A.
(true) && (3 => 4)
B.
!(x > 0) && (x > 0)
C.
(x > 0) || (x < 0)
D.
(x != 0) || (x = 0)
E.
(-10 < x < 0)
5
Which of the following is the correct expression that evaluates to true if the number x is between 1 and 100 or the number is negative?
A.
1 < x < 100 && x < 0
B.
((x < 100) && (x > 1)) || (x < 0)
C.
((x < 100) && (x > 1)) && (x < 0)
D.
(1 > x > 100) || (x < 0)
6
Suppose x=10 and y=10 what is x after evaluating the expression (y > 10) & (x++ > 10).
A.
9
B.
10
C.
11
7
Suppose x=10 and y=10 what is x after evaluating the expression (y > 10) && (x++ > 10).
A.
9
B.
10
C.
11
8
Suppose x=10 and y=10 what is x after evaluating the expression (y >= 10) | (x++ > 10).
A.
9
B.
10
C.
11
9
Suppose x=10 and y=10 what is x after evaluating the expression (y >= 10) || (x++ > 10).
A.
9
B.
10
C.
11
Section 3.3 if Statements
10
_______ is the code with natural language mixed with Java code.
A.
Java program
B.
A Java statement
C.
Pseudocode
D.
A flowchart diagram
11
Which of the following code displays the area of a circle if the radius is positive.
A.
if (radius != 0) System.out.println(radius * radius * Math.PI);
B.
if (radius >= 0) System.out.println(radius * radius * Math.PI);
C.
if (radius > 0) System.out.println(radius * radius * Math.PI);
D.
if (radius <= 0) System.out.println(radius * radius * Math.PI);
12
Analyze the following code:
if (x < 100) & (x > 10)
   System.out.println("x is between 10 and 100");
A.
The statement has syntax errors because (x<100) & (x > 10) must be enclosed inside parentheses.
B.
The statement has syntax errors because (x<100) & (x > 10) must be enclosed inside parentheses and the println(?) statement must be put inside a block.
C.
The statement compiles fine.
D.
The statement compiles fine, but has a runtime error.
E.
& should be replaced by && to avoid having a syntax error.
13
Suppose x = 1, y = -1, and z = 1. What is the printout of the following statement? (Please indent the statement correctly first.)
if (x > 0)
    if (y > 0)
       System.out.println("x > 0 and y > 0");
else if (z > 0)
       System.out.println("x < 0 and z > 0");
A.
x > 0 and y > 0;
B.
x < 0 and z > 0;
C.
x < 0 and z < 0;
D.
no printout.
14
Analyze the following code:
boolean even = false;
if (even = true) {
   System.out.println("It is even!");
}
A.
The program has a syntax error.
B.
The program has a runtime error.
C.
The program runs fine, but displays nothing.
D.
The program runs fine and displays It is even!.
15
Analyze the following code:
Code 1:
boolean even;
if (number % 2 == 0)
   even = true;
else
   even = false;
Code 2:
boolean even = (number % 2 == 0);
A.
Code 1 has syntax errors.
B.
Code 2 has syntax errors.
C.
Both Code 1 and Code 2 have syntax errors.
D.
Both Code 1 and Code 2 are correct, but Code 2 is better.
16
Suppose income is 4001, what is the output of the following code:
if (income > 3000) {
   System.out.println("Income is greater than 3000");
}
else if (income > 4000) {
   System.out.println("Income is greater than 4000");
A.
no output
B.
Income is greater than 3000
C.
Income is greater than 3000 followed by Income is greater than 4000
D.
Income is greater than 4000
E.
Income is greater than 4000 followed by Income is greater than 3000
17
The __________ method immediately terminates the program.
A.
System.terminate(0);
B.
System.halt(0);
C.
System.exit(0);
D.
System.stop(0);
Section 3.4 switch Statements
18
What is y after the following switch statement is executed?
x = 3;
switch (x + 3) {
   case 6: y = 0;
   case 7: y = 1;
   default: y += 1;
}
A.
1
B.
2
C.
3
D.
4
19
What is the printout of the following switch statement?
     char ch = 'a';
    
     switch (ch) {
       case 'a':
       case 'A':
         System.out.print(ch); break;
       case 'b':
       case 'B':
         System.out.print(ch); break;
       case 'c':
       case 'C':
         System.out.print(ch); break;
       case 'd':
       case 'D':
         System.out.print(ch);
     }
A.
abcd
B.
a
C.
aa
D.
ab
E.
abc
20
What is the printout of the following switch statement?
     char ch = 'b';
    
     switch (ch) {
       case 'a':
         System.out.print(ch);
       case 'b':
         System.out.print(ch);
       case 'c':
         System.out.print(ch);
       case 'd':
         System.out.print(ch);
     }
A.
abcd
B.
bcd
C.
b
D.
bb
E.
bbb
21
Analyze the following program fragment:
int x;
double d = 1.5;
switch (d) {
   case 1.0: x = 1;
   case 1.5: x = 2;
   case 2.0: x = 3;
}
A.
The program has a syntax error because the required break statement is missing in the switch statement.
B.
The program has a syntax error because the required default case is missing in the switch statement.
C.
The switch control variable cannot be double.
D.
No errors.
Section 3.5 Conditional Expressions
22
What is y after the following statement is executed?
x = 0;
y = (x > 0) ? 10 : -10;
A.
-10
B.
0
C.
10
D.
20
E.
Illegal expression
23
Analyze the following code fragments that assign a boolean value to the variable even.
Code 1:
if (number % 2 == 0)
   even = true;
else
   even = false;
Code 2:
even = (number % 2 == 0) ? true: false;
Code 3:
even = number % 2 == 0;
 
A.
Code 2 has a syntax error, because you cannot have true and false literals in the conditional expression.
B.
Code 3 has a syntax error, because you attempt to assign number to even.
C.
All three are correct, but Code 1 is preferred.
D.
All three are correct, but Code 2 is preferred.
E.
All three are correct, but Code 3 is preferred.
Section 3.6 Formatting Console Output and Strings
24
Which of the following are valid specifiers for the printf statement?
A.
%4c
B.
%10b
C.
%6d
D.
%8.2d
E.
%10.2e
25
The statement System.out.printf("%3.1f", 1234.56) outputs ___________.
A.
123.4
B.
123.5
C.
1234.5
D.
1234.56
E.
1234.6
26
The statement System.out.printf("%3.1e", 1234.56) outputs ___________.
A.
0.1e+04
B.
0.123456e+04
C.
0.123e+04
D.
1.2e+03
E.
1.23+03
27
The statement System.out.printf("%5d", 123456) outputs ___________.
A.
12345
B.
23456
C.
123456
D.
12345.6
28
The statement System.out.printf("%10s", 123456) outputs ___________. (Note: * represents a space)
A.
123456****
B.
23456*****
C.
12345*****
D.
****123456
Section 3.7 Operator Precedence and Associativity
29
The order of the precedence (from high to low) of the operators +, *, &&, ||, & is:
A.
&&, ||, &, *, +
B.
*, +, &&, ||, &
C.
*, +, &, &&, ||
D.
*, +, &, ||, &&
E.
&, ||, &&, *, +
30
Which of the following operators are right-associative.
A.
*
B.
+
C.
%
D.
&&
E.
=
31
Which of the following operators are left-associative.
A.
*
B.
+
C.
%
D.
&&
E.
=
32
What is the value of the following expression?
true | true && false
A.
true
B.
false
33
What is the value of the following expression?
true || true && false
A.
true
B.
false
34
What is the value of the following expression?
true | true & false
A.
true
B.
false
35
What is 1.0 + 1.0 + 1.0 + 1.0 + 1.0 == 5.0?
A.
true
B.
false
C.
There is no guarantee that 1.0 + 1.0 + 1.0 + 1.0 + 1.0 == 5.0 is true.