Introduction to Java Programming, Seventh Edition, Y. Daniel Liang
Chapter 3 Selections
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
What is 1 + 1 + 1 + 1 + 1 == 5?
A.
true
B.
false
C.
There is no guarantee that 1 + 1 + 1 + 1 + 1 == 5 is true.
4
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.
5
In Java, the word true is ________.
A.
a Java keyword
B.
a Boolean literal
C.
same as value 1
D.
same as value 0
6
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)
7
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)
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
10
Suppose x=10 and y=10 what is x after evaluating the expression (y >= 10) || (x-- > 10).
A.
9
B.
10
C.
11
11
Suppose x=10 and y=10 what is x after evaluating the expression (y >= 10) || (x++ > 10).
A.
9
B.
10
C.
11
12
To check whether a char variable ch is an uppercase letter, you write ___________.
A.
(ch >= 'A' && ch >= 'Z')
B.
(ch >= 'A' && ch <= 'Z')
C.
(ch >= 'A' || ch <= 'Z')
D.
('A' <= ch <= 'Z')
Section 3.3 if Statements
13
_______ is the code with natural language mixed with Java code.
A.
Java program
B.
A Java statement
C.
Pseudocode
D.
A flowchart diagram
14
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 * 3.14159);
B.
if (radius >= 0) System.out.println(radius * radius * 3.14159);
C.
if (radius > 0) System.out.println(radius * radius * 3.14159);
D.
if (radius <= 0) System.out.println(radius * radius * 3.14159);
15
Analyze the following code:
if (x < 100) && (x > 10)
   System.out.println("x is between 10 and 100");
A.
The statement has compile errors because (x<100) & (x > 10) must be enclosed inside parentheses.
B.
The statement has compile 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.
16
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.
17
Analyze the following code:
boolean even = false;
if (even = true) {
   System.out.println("It is even!");
}
A.
The program has a compile 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!.
18
Analyze the following code.
boolean even = false;
if (even) {
   System.out.println("It is even!");
}
A.
The code displays It is even!
B.
The code displays nothing.
C.
The code is wrong. You should replace if (even) with if (even == true)
D.
The code is wrong. You should replace if (even) with if (even = true)
19
What is the output of the following code?
char ch = 'F';
if (ch >= 'A' && ch <= 'Z')
   System.out.println(ch);
A.
F
B.
f
C.
nothing
D.
F f
20
The following code displays ___________.
double temperature = 50;
if (temperature >= 100)
   System.out.println("too hot");
else if (temperature <= 40)
   System.out.println("too cold");
else
   System.out.println("just right");
A.
too hot
B.
too cold
C.
just right
D.
too hot too cold just right
21
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 compile errors.
B.
Code 2 has compile errors.
C.
Both Code 1 and Code 2 have compile errors.
D.
Both Code 1 and Code 2 are correct, but Code 2 is better.
22
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
23
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
24
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
25
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
26
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
27
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 compile error because the required break statement is missing in the switch statement.
B.
The program has a compile 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
28
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
29
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 compile error, because you cannot have true and false literals in the conditional expression.
B.
Code 3 has a compile 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.
30
What is the output of the following code?
boolean even = false;
System.out.println((even ? "true" : "false"));
A.
true
B.
false
C.
nothing
D.
true false
Section 3.6 Formatting Console Output and Strings
31
Which of the following are valid specifiers for the printf statement?
A.
%4c
B.
%10b
C.
%6d
D.
%8.2d
E.
%10.2e
32
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
33
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
34
The statement System.out.printf("%5d", 123456) outputs ___________.
A.
12345
B.
23456
C.
123456
D.
12345.6
35
The statement System.out.printf("%10s", 123456) outputs ___________. (Note: * represents a space)
A.
123456****
B.
23456*****
C.
12345*****
D.
****123456
36
Analyze the following code:
int i = 3434; double d = 3434;
System.out.printf("%5.1f %5.1f", i, d);
A.
The code compiles and runs fine to display 3434.0 3434.0.
B.
The code compiles and runs fine to display 3434 3434.0.
C.
i is an integer, but the format specifier %5.1f specifies a format for double value. The code has an error.
Section 3.7 Operator Precedence and Associativity
37
The order of the precedence (from high to low) of the operators +, *, &&, ||, & is:
A.
&&, ||, &, *, +
B.
*, +, &&, ||, &
C.
*, +, &, &&, ||
D.
*, +, &, ||, &&
E.
&, ||, &&, *, +
38
Which of the following operators are right-associative.
A.
*
B.
+
C.
%
D.
&&
E.
=
39
What is the value of the following expression?
true || true && false
A.
true
B.
false
40
Which of the following statements are true?
A.
(x > 0 && x < 10) is same as ((x > 0) && (x < 10))
B.
(x > 0 || x < 10) is same as ((x > 0) || (x < 10))
C.
(x > 0 || x < 10 && y < 0) is same as (x > 0 || (x < 10 && y < 0))
D.
(x > 0 || x < 10 && y < 0) is same as ((x > 0 || x < 10) && y < 0)