Question 1
Question
________is a technical definition of the language that includes the syntax and semantics of the Java programming language.
Question 2
Question
Which JDK command is correct to run a Java application in ByteCode.class?
Answer
-
java ByteCode.class
-
javac ByteCode.java
-
javac ByteCode
-
JAVAC ByteCode
-
java ByteCode
Question 3
Question
________ is a software that interprets Java bytecode.
Answer
-
Java virtual machine
-
Java API
-
Java compiler
-
Java debugger
Question 4
Question
________ is an operating system.
Answer
-
Visual Basic
-
Ada
-
C++
-
Windows XP
-
Java
Question 5
Question
Which of the following are the reserved words? (Choose all that apply.)
Question 6
Question
________is interpreted.
Question 7
Question
________ contains predefined classes and interfaces for developing Java programs.
Question 8
Question
Which of the following statements is correct?
Answer
-
Every line in a program must end with a semicolon.
-
Every comment line must end with a semicolon.
-
Every method must end with a semicolon.
-
Every class must end with a semicolon.
-
Every statement in a program must end with a semicolon.
Question 9
Question
________provides an integrated development environment (IDE) for rapidly developing Java programs. Editing, compiling, building, debugging, and online help are integrated in one graphical user interface.
Question 10
Question
Java was developed by ________.
Answer
-
Cisco Systems
-
Sun Microsystems
-
Oracle
-
Microsoft
-
IBM
Question 11
Question
Java compiler translates Java source code into ________.
Question 12
Question
Suppose you define a Java class as follows:
public class Test {
}
In order to compile this program, the source code should be stored in a file named
Question 13
Question
________is Architecture-Neutral.
Question 14
Question
Java ________ can run from a Web browser.
Answer
-
servlets
-
Micro Edition programs
-
applets
-
applications
Question 15
Question
________ is the brain of a computer.
Question 16
Question
The expression "Java " + 1 + 2 + 3 evaluates to ________.
Answer
-
Java123
-
java 123
-
Java 123
-
Java6
-
Illegal expression
Question 17
Question
If a program compiles fine, but it produces incorrect result, then the program suffers ________.
Answer
-
a compilation error
-
a logic error
-
a runtime error
Question 18
Question
Which of the following code displays the area of a circle if the radius is positive?
Answer
-
if (radius <= 0) System.out.println(radius * radius * 3.14159);
-
if (radius >= 0) System.out.println(radius * radius * 3.14159);
-
if (radius > 0) System.out.println(radius * radius * 3.14159);
-
if (radius != 0) System.out.println(radius * radius * 3.14159);
Question 19
Question
What is 1 + 1 + 1 + 1 + 1 == 5?
Question 20
Question
Suppose x is 1. What is x after x += 2?
Question 21
Question
Which of the following expression results in a value 1?
Answer
-
2 % 1
-
25 % 5
-
15 % 4
-
37 % 6
Question 22
Question
Which of the following are correct names for variables according to Java naming conventions? (Choose all that apply.)
Answer
-
FindArea
-
RADIUS
-
Radius
-
findArea
-
radius
Question 23
Question
What is x after the following statements?
int x = 1;
x *= x + 1;
Answer
-
x is 2.
-
x is 3.
-
x is 1.
-
x is 4.
Question 24
Question
What is the result of 45 / 4?
Question 25
Question
Analyze the following code:
boolean even = false;
if (even = true) {
System.out.println("It is even!");
}
Answer
-
The program has a compile error.
-
The program runs fine and displays It is even!.
-
The program has a runtime error.
-
The program runs fine, but displays nothing.
Question 26
Question
What is i printed in the following code?
public class Test {
public static void main(String[ ] args) {
int j = 0;
int i = j++ + j * 5;
System.out.println("What is i? " + i);
}
}
Question 27
Question
25 % 1 is ________.
Question 28
Question
Analyze the following code. (Choose all that apply.)
int count = 0;
while (count < 100) {
// Point A
System.out.println("Welcome to Java!");
count++;
// Point B
}
// Point C
Answer
-
count < 100 is always false at Point C
-
count < 100 is always true at Point A
-
count < 100 is always true at Point C
-
count < 100 is always false at Point B
-
count < 100 is always true at Point B
Question 29
Question
How many times will the following code print "Welcome to Java"?
int count = 0;
while (count < 10) {
System.out.println("Welcome to Java");
count++;
}
Question 30
Question
Suppose x is a char variable with a value 'b'. What is the printout of the statement System.out.println(++x)?
Question 31
Question
Analyze the following code:
Code 1:
boolean even;
if (number % 2 == 0)
even = true;
else
even = false;
Code 2:
boolean even = (number % 2 == 0);
Answer
-
Code 2 has compile errors.
-
Both Code 1 and Code 2 have compile errors.
-
Code 1 has compile errors.
-
Both Code 1 and Code 2 are correct, but Code 2 is better.
Question 32
Question
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?
Question 33
Question
Suppose x=10 and y=10 what is x after evaluating the expression (y > 10) && (x++ > 10)?
Question 34
Question
What is 1.0 + 1.0 + 1.0 + 1.0 + 1.0 == 5.0?
Question 35
Question
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);
}
Question 36
Question
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;
}
Question 37
Question
Which of the following statements are true? (Choose all that apply.)
Answer
-
(x > 0 || x < 10 && y < 0) is same as (x > 0 || (x < 10 && y < 0))
-
(x > 0 || x < 10) is same as ((x > 0) || (x < 10))
-
(x > 0 || x < 10 && y < 0) is same as ((x > 0 || x < 10) && y < 0)
-
(x > 0 && x < 10) is same as ((x > 0) && (x < 10))
Question 38
Question
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);
}
Question 39
Question
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;
}
Answer
-
No errors.
-
The program has a compile error because the required break statement is missing in the switch statement.
-
The switch control variable cannot be double.
-
The program has a compile error because the required default case is missing in the switch statement.
Question 40
Question
Which of the following are valid specifiers for the printf statement? (Choose all that apply.)
Answer
-
%6d
-
%10b
-
%4c
-
%8.2d
-
%10.2e
Question 41
Question
Analyze the following code.
boolean even = false;
if (even) {
System.out.println("It is even!");
}
Answer
-
The code displays It is even!
-
The code is wrong. You should replace if (even) with if (even = true)
-
The code is wrong. You should replace if (even) with if (even == true)
-
The code displays nothing.
Question 42
Question
Suppose x=10 and y=10. What is x after evaluating the expression (y > 10) && (x-- > 10)?
Question 43
Question
The "less than or equal to" comparison operator in Java is ________.
Question 44
Question
What is the output of the following code?
char ch = 'F';
if (ch >= 'A' && ch <= 'Z')
System.out.println(ch);
Question 45
Question
________ is the code with natural language mixed with Java code.
Answer
-
Pseudocode
-
A Java statement
-
A flowchart diagram
-
Java program
Question 46
Question
The statement System.out.printf("%3.1e", 1234.56) outputs ________.
Answer
-
1.23+03
-
1.2e+03
-
0.1e+04
-
0.123456e+04
-
0.123e+04
Question 47
Question
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");
Answer
-
Income is greater than 3000 followed by Income is greater than 4000
-
Income is greater than 3000
-
Income is greater than 4000 followed by Income is greater than 3000
-
no output
-
Income is greater than 4000
Question 48
Question
Suppose x=10 and y=10 what is x after evaluating the expression (y >= 10) || (x++ > 10)?
Question 49
Question
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;
Answer
-
All three are correct, but Code 1 is preferred.
-
All three are correct, but Code 3 is preferred.
-
Code 3 has a compile error, because you attempt to assign number to even.
-
Code 2 has a compile error, because you cannot have true and false literals in the conditional expression
-
All three are correct, but Code 2 is preferred.
Question 50
Question
What is the value of the following expression?
true || true && false
Question 51
Question
Suppose x = 1, y = -1, and z = 1. What is the printout of the following statement?
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");
Answer
-
x < 0 and z < 0;
-
no printout.
-
x > 0 and y > 0;
-
x < 0 and z > 0;
Question 52
Question
"AbA".compareToIgnoreCase("abC") returns ________.
Question 53
Question
What is the printout of System.out.println('z' - 'a')?
Question 54
Question
Assume that the ASCII code for character c is 99 and for a is 97. What is the printout of the following code?
System.out.println('a' + 'c');
Question 55
Question
Note that the Unicode for character A is 65. The expression "A" + 1 evaluates to ________.
Answer
-
66
-
B
-
A1
-
Illegal expression
Question 56
Question
Which of the following method results in 8.0?
Answer
-
Math.round(8.5)
-
Math.rint(8.5)
-
Math.ceil(8.5)
-
Math.floor(8.5)
Question 57
Question
The expression 'c' - 'e' is ________.
Answer
-
2
-
-2
-
a random number
-
invalid
Question 58
Question
Math.ceil(5.5) evaluates to ________.
Question 59
Question
Math.floor(5.5) evaluates to ________.
Question 60
Question
To obtain the sine of 35 degrees, use ________.
Answer
-
Math.sin(35)
-
Math.sin(Math.toRadians(35))
-
Math.sin(Math.toDegrees(35))
-
Math.sin(Math.toRadian(35))
-
Math.sin(Math.toDegree(35))
Question 61
Question
Which of the following is the correct expression of character a?
Question 62
Question
Math.cos(Math.PI) returns ________.
Question 63
Question
Which of the following assignment statements is correct?
Answer
-
char c = 'd';
-
char c = 100;
-
char c = "d";
-
char c = "100";
Question 64
Question
What is i after the following for loop?
int y = 0;
for (int i = 0; i<10; ++i) {
y += i;
}
Question 65
Question
Which of the following will not help prevent infinite loops?
Answer
-
Ensure that the header of a for or while statement is not followed by a semicolon.
-
If the loop is counter-controlled, the body of the loop should increment or decrement the counter as needed.
-
If the loop is sentinel-controlled, ensure that the sentinel value is input eventually.
-
Include braces around the statements in a do..while statement.
Question 66
Question
How many times will the following code print "Welcome to Java"?
int count = 0;
do {
System.out.println("Welcome to Java");
} while (++count < 10);
Question 67
Question
For the code segment below:
switch( q )
{
case 1:
System.out.println( "apple" );
break;
case 2:
System.out.println( "orange" );
break;
case 3:
System.out.println( "banana" );
break;
case 4:
System.out.println( "pear" );
case 5:
System.out.println( "grapes" );
default:
System.out.println( "kiwi" );
} // end switch
Which of the following values for q will result in kiwi being included in the output?
Question 68
Question
Which of the following for-loop control headers results in equivalent numbers of iterations:
A. for ( int q = 1; q <= 100; q++ )
B. for ( int q = 100; q >= 0; q-- )
C. for ( int q = 99; q > 0; q -= 9 )
D. for ( int q = 990; q > 0; q -= 90 )
Question 69
Question
To exit out of a loop completely, and resume the flow of control at the next line in the method, use _______.
Answer
-
A continue statement.
-
A break statement.
-
A return statement.
-
Any of the above.
Question 70
Question
What is the value in count after the following loop is executed?
int count = 0;
do {
System.out.println("Welcome to Java");
} while (count++ < 9);
System.out.println(count);
Question 71
Question
What is sum after the following loop terminates?
int sum = 0;
int item = 0;
do {
item++;
sum += item;
if (sum >= 4) continue;
}
while (item < 5);
Question 72
Question
What is the output for y?
int y = 0;
for (int i = 0; i<10; ++i) {
y += i;
}
System.out.println(y);
Question 73
Question
Which of the following is not a type of repetition statement in Java?
Answer
-
do¦while statements.
-
for statements.
-
while statements.
-
loop statements.
Question 74
Question
Which of the following statements about the continue statement is true?
Answer
-
The continue statement is used to continue after a switch statement.
-
The continue statement is used to exit a repetition structure early and continue execution after the loop.
-
The continue statement does not alter the flow of control.
-
A continue statement proceeds with the next iteration of the immediately enclosing while, for, do¦while statement.
Question 75
Question
Suppose the input for number is 9. What is the output from running the following program?
import java.util.Scanner;
public class Test {
public static void main(String[ ] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer: ");
int number = input.nextInt();
int i;
boolean isPrime = true;
for (i = 2; i < number && isPrime; i++) {
if (number % i == 0) {
isPrime = false;
}
}
System.out.println("i is " + i);
if (isPrime)
System.out.println(number + " is prime");
else
System.out.println(number + " is not prime");
}
}
Answer
-
i is 4 followed by 9 is prime
-
i is 3 followed by 9 is not prime
-
i is 3 followed by 9 is prime
-
i is 4 followed by 9 is not prime
Question 76
Question
Analyze the following code: (Choose all that apply.)
public class Test {
public static void main (String args[ ]) {
int i = 0;
for (i = 0; i < 10; i++);
System.out.println(i + 4);
}
}
Answer
-
The program has a compile error because of the semicolon (;) on the for loop line.
-
The for loop in this program is same as for (i = 0; i < 10; i++) { }; System.out.println(i + 4);
-
The program compiles despite the semicolon (;) on the for loop line, and displays 14.
-
The program compiles despite the semicolon (;) on the for loop line, and displays 4.
Question 77
Question
The parameter list in the method header and the arguments in the method call must agree in:
Answer
-
type
-
number
-
order
-
all the above
Question 78
Question
What is Math.rint(3.5)?
Question 79
Question
Which is a correct static method call of Math class method sqrt?
Question 80
Question
You can set a Random object's seed at any time during program execution by calling the object's ________ methods.
Answer
-
updateSeed.
-
setSeed
-
changeSeed.
-
resetSeed.
Question 81
Question
Identifiers in Java have ________ and ________ scopes?
Answer
-
statement, file.
-
class, block.
-
method, class.
-
block, statement.
Question 82
Question
A well-designed method
Answer
-
contains thousands of lines of code.
-
performs multiple unrelated tasks.
-
repeats code found in other methods.
-
performs a single, well-defined task.
Question 83
Question
Which of the following methods is not in the Math class?
Answer
-
parseInt.
-
abs.
-
ceil.
-
log.
Question 84
Question
Which statement below could be used to simulate the outputs of rolling a six-sided die? Suppose randomNumbers is a Random object.
Answer
-
1 + randomNumbers.nextInt( 2 );
-
6 + randomNumbers.nextInt( 1 );
-
3 + randomNumbers.nextInt( 3 );
-
1 + randomNumbers.nextInt( 6 );
Question 85
Question
Which of the following can be an argument to a method?
Answer
-
Constants.
-
Variables.
-
Expressions.
-
All of the above.
Question 86
Question
To declare a method as static, place the keyword static before ________ in the method's declaration
Answer
-
the return type.
-
the method name.
-
the argument list.
-
the method modifier.
Question 87
Question
Analyze the following code:
public class Test {
public static void main(String[ ] args) {
System.out.println(xMethod(5, 500L));
}
public static int xMethod(int n, long l) {
System.out.println("int, long");
return n;
}
public static long xMethod(long n, long l) {
System.out.println("long, long");
return n;
}
}
Answer
-
The program displays int, long followed by 5.
-
The program displays long, long followed by 5.
-
The program runs fine but displays things other than 5.
-
The program does not compile because the compiler cannot distinguish which xmethod to invoke.
Question 88
Question
Declaring main as ________ allows the JVM to invoke main without creating an instance of the class.
Answer
-
void.
-
public.
-
final.
-
static.
Question 89
Question
Variables should be declared as fields only if
Answer
-
they are used only within a method.
-
they are local variables.
-
they are required for use in more than one method or their values must be saved between calls to the class's methods.
-
they are arguments.
Question 90
Question
Which of the following methods are overloaded with respect to one another?
A. public int max ( int a, int b ) { … }
B. public double max ( double a, double b ) { … }
C. public int max ( int a, int b, int c ) { … }
D. public double max ( double a, double b, double c ) { … }
Answer
-
A and B are overloaded; C and D are overloaded.
-
A and C are overloaded; B and D are overloaded.
-
All these four methods are overloaded.
-
A, B and C are overloaded.
Question 91
Question
The identifiers in an enumeration ________.
Question 92
Question
Analyze the following code.
public class Test {
public static void main(String[ ] args) {
System.out.println(max(1, 2));
}
public static double max(int num1, double num2) {
System.out.println("max(int, double) is invoked");
if (num1 > num2)
return num1;
else
return num2;
}
public static double max(double num1, int num2) {
System.out.println("max(double, int) is invoked");
if (num1 > num2)
return num1;
else
return num2;
}
}
Answer
-
The program cannot compile because the compiler cannot determine which max method should be invoked.
-
The program runs and prints 2 followed by "max(int, double)" is invoked.
-
The program cannot compile because you cannot have the print statement in a non-void method.
-
The program runs and prints "max(int, double) is invoked" followed by 2.
-
The program runs and prints 2 followed by "max(double, int)" is invoked.
Question 93
Question
What is Math.floor(3.6)?
Question 94
Question
What is Math.round(3.6)?
Question 95
Question
(int)('a' + Math.random() * ('z' - 'a' + 1)) returns a random number ________.
Question 96
Question
Given the following method
static void nPrint(String message, int n) {
while (n > 0) {
System.out.print(message);
n--;
}
}
What is k after invoking nPrint("A message", k)?
int k = 2;
nPrint("A message", k);
Question 97
Question
Does the method call in the following method cause compile errors?
public static void main(String[ ] args) {
Math.pow(2, 4);
}
Question 98
Question
Method calls cannot be distinguished by ________.
Answer
-
return type.
-
method name.
-
method signature.`
-
parameter lists.
Question 99
Question
________ is to implement one method in the structure chart at a time from the top to the bottom.
Question 100
Question
Which of the following is a possible output from invoking Math.random()? (Choose all that apply.)
Question 101
Question
Which statement below could be used to simulate the outputs of tossing a quarter to get heads or tails? Suppose randomNumbers is a Random object.
Answer
-
randomNumbers.nextInt( 7 );
-
randomNumbers.nextInt( 1 );
-
randomNumbers.nextInt( 2 );
-
randomNumbers.nextInt( 25 );
Question 102
Question
A Java class can have which of the following methods?
A. void foo( int a )
B. void foo( int a, int b )
C. void foo( double a )
D. void foo( double a, double b )
E. void foo( int b )
Answer
-
A, B, C, D.
-
All of the above.
-
A, C, D, E.
-
A, B, D, E.
Question 103
Question
If more method calls occur than can have their activation records stored on the program execution stack, an error known as a ________ occurs.
Answer
-
stack empty.
-
stack overflow.
-
stack full.
-
stack rewind.
Question 104
Question
Which statement creates a random value from the sequence 2, 5, 8, 11 and 14. Suppose randomNumbers is a Random object.
Answer
-
3 + 2 * randomNumbers.nextInt( 5 );
-
5 + 3 * randomNumbers.nextInt( 2 );
-
2 + 3 * randomNumbers.nextInt( 5 );
-
2 + 5 * randomNumbers.nextInt( 3 );
Question 105
Question
Analyze the following code:
public class Test {
public static void main(String[ ] args) {
final int[ ] x = {1, 2, 3, 4};
int[ ] y = x;
x = new int[2];
for (int i = 0; i < y.length; i++)
System.out.print(y[i] + " ");
}
}
Answer
-
The program displays 0 0
-
The program displays 1 2 3 4
-
The program has a compile error on the statement x = new int[2], because x is final and cannot be changed.
-
The elements in the array x cannot be changed, because x is final.
Question 106
Question
For the binarySearch method in Section 6.9.2, what is low and high after the first iteration of the while loop when invoking binarySearch(new int[ ]{1, 4, 6, 8, 10, 15, 20}, 11)?
Answer
-
low is 3 and high is 6
-
low is 0 and high is 5
-
low is 4 and high is 6
-
low is 0 and high is 6
-
low is 0 and high is 3
Question 107
Question
Analyze the following code.
public class Test {
public static void main(String[ ] args) {
int[ ] x = new int[3];
System.out.println("x[0] is " + x[0]);
}
}
Answer
-
The program has a runtime error because the array element x[0] is not defined.
-
The program runs fine and displays x[0] is 0.
-
The program has a compile error because the size of the array wasn't specified when declaring the array.
-
The program has a runtime error because the array elements are not initialized.
Question 108
Question
Assume int[ ] scores = {1, 20, 30, 40, 50}, what value does java.util.Arrays.binarySearch(scores, 30) return?
Question 109
Question
Analyze the following code:
public class Test {
public static void main(String[ ] args) {
int[ ] x = new int[5];
int i;
for (i = 0; i < x.length; i++)
x[i] = i;
System.out.println(x[i]);
}
}
Answer
-
The program has a compile error because i is not defined in the last statement in the main method.
-
The program has a runtime error because the last statement in the main method causes ArrayIndexOutOfBoundsException.
-
The program displays 4.
-
The program displays 0 1 2 3 4.
Question 110
Question
The reverse method is defined in the textbook. What is list1 after executing the following statements?
int[ ] list1 = {1, 2, 3, 4, 5, 6};
list1 = reverse(list1);
Answer
-
list1 is 6 5 4 3 2 1
-
list1 is 0 0 0 0 0 0
-
list1 is 1 2 3 4 5 6
-
list1 is 6 6 6 6 6 6
Question 111
Question
What would be the result of attempting to compile and run the following code?
public class Test {
public static void main(String[ ] args) {
double[ ] x = new double[ ]{1, 2, 3};
System.out.println("Value is " + x[1]);
}
}
Answer
-
The program has a compile error because the syntax new double[ ]{1, 2, 3} is wrong and it should be replaced by new double[ ]{1.0, 2.0, 3.0};
-
The program compiles and runs fine and the output "Value is 1.0" is printed.
-
The program compiles and runs fine and the output "Value is 2.0" is printed.
-
The program has a compile error because the syntax new double[ ]{1, 2, 3} is wrong and it should be replaced by new double[3]{1, 2, 3};
-
The program has a compile error because the syntax new double[ ]{1, 2, 3} is wrong and it should be replaced by {1, 2, 3}.
Question 112
Question
Do the following two programs produce the same result?
Program I:
public class Test {
public static void main(String[ ] args) {
int[ ] list = {1, 2, 3, 4, 5};
reverse(list);
for (int i = 0; i < list.length; i++)
System.out.print(list[i] + " ");
}
public static void reverse(int[ ] list) {
int[ ] newList = new int[list.length];
for (int i = 0; i < list.length; i++)
newList[i] = list[list.length - 1 - i];
list = newList;
}
}
Program II:
public class Test {
public static void main(String[ ] args) {
int[ ] oldList = {1, 2, 3, 4, 5};
reverse(oldList);
for (int i = 0; i < oldList.length; i++)
System.out.print(oldList[i] + " ");
}
public static void reverse(int[ ] list) {
int[ ] newList = new int[list.length];
for (int i = 0; i < list.length; i++)
newList[i] = list[list.length - 1 - i];
list = newList;
}
}
Question 113
Question
Which of the following statements is valid? (Choose all that apply.)
Answer
-
int[ ] i = {3, 4, 3, 2};
-
char[ ] c = new char();
-
int i = new int(30);
-
char[ ] c = new char[4]{'a', 'b', 'c', 'd'};
-
double d[ ] = new double[30];
Question 114
Question
The selectionSort method is defined in this section. What is list1 after executing the following statements?
double[ ] list1 = {3.1, 3.1, 2.5, 6.4};
selectionSort(list1);
Answer
-
list1 is 3.1, 2.5, 3.1, 6.4
-
list1 is 3.1, 3.1, 2.5, 6.4
-
list1 is 2.5 3.1, 3.1, 6.4
-
list1 is 6.4, 3.1, 3.1, 2.5
Question 115
Question
If a key is not in the list, the binarySearch method returns ________.
Answer
-
-(insertion point + 1)
-
-insertion point
-
insertion point - 1
-
insertion point
Question 116
Question
How can you initialize an array of two characters to 'a' and 'b'? (Choose all that apply.)
Answer
-
char[2] charArray = {'a', 'b'};
-
char[ ] charArray = new char[2]; charArray = {'a', 'b'};
-
char[ ] charArray = new char[ ]{'a', 'b'};
-
char[ ] charArray = {'a', 'b'};
Question 117
Question
What is the correct term for numbers[99]?
Answer
-
array
-
array variable
-
indexed variable
-
index
-
index variable
Question 118
Question
If you declare an array double[ ] list = {3.4, 2.0, 3.5, 5.5}, list[1] is ________.
Question 119
Question
The ________ method sorts the array scores of the double[ ] type.
Answer
-
java.util.Arrays.sort(scores)
-
java.util.Arrays(scores)
-
java.util.Arrays.sorts(scores)
-
Njava.util.Arrays.sortArray(scores)
Question 120
Question
Which of the following is incorrect? (Choose all that apply.)
Answer
-
int a = new int[2];
-
int[ ] a = new int[2];
-
int a() = new int[2];
-
int[ ] a = new int(2);
-
int a[ ] = new int[2];
Question 121
Question
Which of the following statements are correct? (Choose all that apply.)
Answer
-
char[ ][ ][ ] charArray = new char[2][2][ ];
-
char[ ][ ][ ] charArray = {{{'a', 'b'}, {'c', 'd'}, {'e', 'f'}}};
-
char[2][2][ ] charArray = {'a', 'b'};
-
char[ ][ ][ ] charArray = {{'a', 'b'}, {'c', 'd'}, {'e', 'f'}};
Question 122
Question
Assume double[ ][ ] x = new double[4][5], what are x.length and x[2].length?
Answer
-
4 and 5
-
5 and 5
-
5 and 4
-
4 and 4
Question 123
Question
Suppose a method p has the following heading:
public static int[ ][ ] p()
What return statement may be used in p()?
Answer
-
return {1, 2, 3};
-
return 1;
-
return new int[ ]{1, 2, 3};
-
return int[ ]{1, 2, 3};
-
return new int[ ][ ]{{1, 2, 3}, {2, 4, 5}};
Question 124
Question
Assume int[ ] scores = {1, 20, 30, 40, 50}, what value does java.util.Arrays.binarySearch(scores, 3) return?
Question 125
Question
What is the representation of the third element in an array called a?
Question 126
Question
Which of the following statements are correct?
Answer
-
char[2][ ] charArray = {{'a', 'b'}, {'c', 'd'}};
-
char[ ][ ] charArray = {{'a', 'b'}, {'c', 'd'}};
-
char[ ][ ] charArray = {'a', 'b'};
-
char[2][2] charArray = {{'a', 'b'}, {'c', 'd'}};
Question 127
Question
Assume double[ ][ ][ ] x = new double[4][5][6], what are x.length, x[2].length, and x[0][0].length?
Answer
-
4, 5, and 6
-
5, 5, and 5
-
4, 5, and 4
-
6, 5, and 4
Question 128
Question
Analyze the following code:
public class Test {
public static void main(String[ ] args) {
boolean[ ][ ] x = new boolean[3][ ];
x[0] = new boolean[1]; x[1] = new boolean[2];
x[2] = new boolean[3];
System.out.println("x[2][2] is " + x[2][2]);
}
}
Answer
-
The program has a runtime error because x[2][2] is null.
-
The program runs and displays x[2][2] is false.
-
The program has a compile error because new boolean[3][ ] is wrong.
-
The program runs and displays x[2][2] is true.
-
The program runs and displays x[2][2] is null.
Question 129
Question
Which of the following statements are correct to invoke the printMax method in Listing 6.5 in the textbook? (Choose all that apply.)
Answer
-
printMax(1.0, 2.0, 2.0, 1.0, 4.0);
-
printMax(new double[ ]{1, 2, 3});
-
printMax(1, 2, 2, 1, 4);
-
printMax(new int[ ]{1, 2, 3});
Question 130
Question
In the following code, what is the printout for list2?
class Test {
public static void main(String[ ] args) {
int[ ] list1 = {1, 2, 3};
int[ ] list2 = {1, 2, 3};
list2 = list1;
list1[0] = 0; list1[1] = 1; list2[2] = 2;
for (int i = 0; i < list2.length; i++)
System.out.print(list2[i] + " ");
}
}
Question 131
Question
Which of the following errors is synchronous?
Question 132
Question
When an unchecked exception occurs in a method but is not caught:
Question 133
Question
What is displayed on the console when running the following program?
class Test {
public static void main(String[ ] args) {
try {
System.out.println("Welcome to Java");
int i = 0;
double y = 2.0 / i;
System.out.println("Welcome to HTML");
}
finally {
System.out.println("The finally clause is executed");
}
}
}
Answer
-
Welcome to Java.
-
The program displays three lines: Welcome to Java, Welcome to HTML, The finally clause is executed.
-
None of the above.
-
Welcome to Java followed by The finally clause is executed in the next line.
Question 134
Question
What exception type does the following program throw?
public class Test {
public static void main(String[ ] args) {
String s = "abc";
System.out.println(s.charAt(3));
}
}
Question 135
Question
What is displayed on the console when running the following program?
class Test {
public static void main(String[ ] args) {
try {
System.out.println("Welcome to Java");
int i = 0;
int y = 2/i;
System.out.println("Welcome to Java");
}
catch (RuntimeException ex) {
System.out.println("Welcome to Java");
}
finally {
System.out.println("End of the block");
}
}
}
Answer
-
The program displays Welcome to Java three times followed by End of the block.
-
The program displays Welcome to Java three times.
-
The program displays Welcome to Java two times.
-
The program displays Welcome to Java two times followed by End of the block.
Question 136
Question
What is displayed on the console when running the following program?
class Test {
public static void main(String[ ] args) {
try {
method();
System.out.println("After the method call");
}
catch (RuntimeException ex) {
System.out.println("RuntimeException");
}
catch (Exception ex) {
System.out.println("Exception");
}
}
static void method() throws Exception {
try {
String s = "5.6";
Integer.parseInt(s); // Cause a NumberFormatException
int i = 0;
int y = 2 / i;
System.out.println("Welcome to Java");
}
catch (NumberFormatException ex) {
System.out.println("NumberFormatException");
throw ex;
}
catch (RuntimeException ex) {
System.out.println("RuntimeException");
}
}
}
Answer
-
The program has a compilation error.
-
The program displays NumberFormatException twice.
-
The program displays NumberFormatException followed by RuntimeException.
-
The program displays NumberFormatException followed by After the method call.
Question 137
Question
Which of the following statements is false?
Answer
-
The class Throwable provides the method getMessage that returns the descriptive string stored in an exception.
-
The string returned from class Throwable’s getMessage method contains the name of the exception’s class.
-
The class Throwable provides the method getStackTrace that outputs the stack trace to the standard error stream.
-
All exceptions must derive from the class Throwable.
Question 138
Question
Analyze the following code:
class Test {
public static void main(String[ ] args) {
try {
int zero = 0;
int y = 2/zero;
try {
String s = "5.6";
Integer.parseInt(s); // Cause a NumberFormatException
}
catch(Exception e) {
}
}
catch(RuntimeException e) {
System.out.println(e);
}
}
}
Answer
-
The program has a compilation error because Exception appears before RuntimeException.
-
A try-catch block cannot be embedded inside another try-catch block.
-
A good programming practice is to avoid nesting try-catch blocks, because nesting makes programs difficult to read. You can rewrite the program using only one try-catch block.
-
None of the above.
Question 139
Question
To catch an exception, the code that might throw the exception must be enclosed in a
Answer
-
try block.
-
catch block.
-
throws block.
-
finally block.
Question 140
Question
An uncaught exception:
Answer
-
is a possible exception that never actually occurs during the execution of the program.
-
is an exception that occurs for which the matching catch clause is empty.
-
is an exception that occurs for which there are no matching catch clauses.
-
is another term for a thrown exception.
Question 141
Question
What exception type does the following program throw?
public class Test {
public static void main(String[ ] args) {
int[ ] list = new int[5];
System.out.println(list[5]);
}
}
Question 142
Question
After a finally block has finished executing (and there are no exceptions to be handled):
Answer
-
control returns to the throw point.
-
the application exits.
-
control proceeds to the first statement after the finally block.
-
control proceeds to the first statement after the last catch block.
Question 143
Question
What is displayed on the console when running the following program?
class Test {
public static void main(String[ ] args) {
try {
System.out.println("Welcome to Java");
int i = 0;
int y = 2/i;
System.out.println("Welcome to Java");
}
finally {
System.out.println("End of the block");
}
System.out.println("End of the block");
}
}
Answer
-
The program displays Welcome to Java two times followed by End of the block two times.
-
The program displays Welcome to Java two times followed by End of the block.
-
The program displays Welcome to Java three times followed by End of the block.
-
The program displays Welcome to Java and End of the block, and then terminates because of an unhandled exception.
Question 144
Question
Which of the following is not included in an exception's stack trace?
Answer
-
Instructions on handling the exception.
-
A descriptive message for the exception.
-
The method-call stack at the time the exception occurred.
-
The name of the exception.
Question 145
Question
Which of the following statements is false?
Answer
-
The finally block and try block can appear in any order.
-
A finally block is placed after the last catch block.
-
A finally block typically releases resources acquired in the corresponding try block.
-
A finally block is optional.
Question 146
Question
Attributes of a class are also known as:
Answer
-
Constructors.
-
Fields.
-
Local variables.
-
Classes.
Question 147
Question
________ is invoked to create an object.
Question 148
Question
What type of methods allow a client of a class to assign values to a private instance variable?
Answer
-
Assign methods.
-
Replace methods.
-
Get methods.
-
Set methods.
Question 149
Question
Which of the following statement is most accurate? (Choose all that apply.)
Answer
-
A reference variable refers to an object.
-
An object may contain the references of other objects.
-
A reference variable is an object.
-
An object may contain other objects.
Question 150
Question
What is the value of myCount.count displayed?
public class Test {
public static void main(String[ ] args) {
Count myCount = new Count();
int times = 0;
for (int i=0; i<100; i++)
increment(myCount, times);
System.out.println(
"myCount.count = " + myCount.count);
System.out.println("times = "+ times);
}
public static void increment(Count c, int times) {
c.count++;
times++;
}
}
class Count {
int count;
Count(int c) {
count = c;
}
Count() {
count = 1;
}
}
Question 151
Question
Suppose you wish to provide an accessor method for a boolean property finished, what signature of the method should be?
Answer
-
public void getFinished()
-
public boolean getFinished()
-
public boolean isFinished()
-
public void isFinished()
Question 152
Question
What is the printout of the third println statement in the main method?
public class Foo {
int i;
static int s;
public static void main(String[ ] args) {
Foo f1 = new Foo();
System.out.println("f1.i is " + f1.i + " f1.s is " + f1.s);
Foo f2 = new Foo();
System.out.println("f2.i is " + f2.i + " f2.s is " + f2.s);
Foo f3 = new Foo();
System.out.println("f3.i is " + f3.i + " f3.s is " + f3.s);
}
public Foo() {
i++;
s++;
}
}
Answer
-
f3.i is 1 f3.s is 1
-
f3.i is 3 f3.s is 3
-
f3.i is 3 f3.s is 1
-
f3.i is 1 f3.s is 2
-
f3.i is 1 f3.s is 3
Question 153
Question
Sending a message to an object means that:
Question 154
Question
Analyze the following code and choose the best answer:
public class Foo {
private int x;
public static void main(String[ ] args) {
Foo foo = new Foo();
System.out.println(foo.x);
}
}
Answer
-
Since x is an instance variable, it cannot be directly used inside a main method. However, it can be accessed through an object such as foo in this code.
-
Since x is private, it cannot be accessed from an object foo.
-
You cannot create a self-referenced object; that is, foo is created inside the class Foo.
-
Since x is defined in the class Foo, it can be accessed by any method inside the class without using an object. You can write the code to access x without creating an object such as foo in this code.
Question 155
Question
Analyze the following code:
public class Test {
public static void main(String[ ] args) {
double radius;
final double PI= 3.15169;
double area = radius * radius * PI;
System.out.println("Area is " + area);
}
}
Answer
-
The program has compile errors because the variable radius is not initialized.
-
The program compiles and runs fine.
-
The program has no compile errors but will get a runtime error because radius is not initialized.
-
The program has a compile error because a constant PI is defined inside a method.
Question 156
Question
Analyze the following code:
public class Test {
private int t;
public static void main(String[ ] args) {
int x;
System.out.println(t);
}
}
Answer
-
The program compiles and runs fine.
-
t is non-static and it cannot be referenced in a static context in the main method.
-
The variable x is not initialized and therefore causes errors.
-
The variable t is private and therefore cannot be accessed in the main method.
-
The variable t is not initialized and therefore causes errors.
Question 157
Question
Analyze the following code:
public class Test {
public static void main(String args[ ]) {
NClass nc = new NClass();
nc.t = nc.t++;
}
}
class NClass {
int t;
private NClass() {
}
}
Answer
-
The program has a compilation error because the NClass class has a private constructor.
-
The program compiles and runs fine.
-
The program does not compile because the parameter list of the main method is wrong.
-
The program compiles, but has a runtime error because t has no initial value.
Question 158
Question
A method that is associated with an individual object is called ________.
Answer
-
an object method
-
a static method
-
a class method
-
an instance method
Question 159
Question
When invoking a method with an object argument, ________ is passed.
Answer
-
the contents of the object
-
a copy of the object
-
the reference of the object
-
the object is copied, then the reference of the copied object
Question 160
Question
Which of the following statements are true? (Choose all that apply.)
Answer
-
Use the private modifier to encapsulate data fields.
-
Encapsulating data fields helps prevent programming errors.
-
Encapsulating data fields makes the program easy to maintain.
-
Encapsulating data fields makes the program short.
Question 161
Question
What is the printout for the first statement in the main method?
public class Foo {
static int i = 0;
static int j = 0;
public static void main(String[ ] args) {
int i = 2;
int k = 3;
{
int j = 3;
System.out.println("i + j is " + i + j);
}
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
}
}
Answer
-
i + j is 23
-
i + j is 22
-
i + j is 5
-
i + j is 6
Question 162
Question
In the UML, a class's attributes are placed in the ________ compartment of the class's rectangle.
Answer
-
third
-
second
-
bottom
-
first
Question 163
Question
You can declare two variables with the same name in ________.
Answer
-
different methods in a class
-
a method one as a formal parameter and the other as a local variable
-
two nested blocks in a method (two nested blocks means one being inside the other)
-
a block
Question 164
Question
We can derive many of the operations of each class by examining the key ________ and ________ in the requirements documents.
Question 165
Question
The sequence of messages in a communication diagram progresses:
Question 166
Question
Objects are modeled in the UML as         containing names in the form         .
Answer
-
rectangles, : ClassName.
-
rectangles, objectName : ClassName.
-
ovals, objectName : ClassName.
-
ovals, : ClassName.
Question 167
Question
In the UML, the         diagram emphasizes which objects participate in collaborations.
Answer
-
collaboration.
-
participation.
-
sequence.
-
communication.
Question 168
Question
UML ________ model several states of an object and show under what circumstances the object changes state.
Answer
-
diagrams.
-
state machine diagrams.
-
machine diagrams.
-
activity diagrams.
Question 169
Question
What is the printout for the second statement in the main method?
public class Foo {
static int i = 0;
static int j = 0;
public static void main(String[ ] args) {
int i = 2;
int k = 3;
{
int j = 3;
System.out.println("i + j is " + i + j);
}
k = i + j;
System.out.println("k is " + k);
System.out.println("j is " + j);
}
}
Answer
-
k is 0
-
k is 1
-
k is 3
-
k is 2
Question 170
Question
Which diagram is also called a collaboration diagram.
Answer
-
State machine diagram.
-
Sequence diagram.
-
Activity diagram.
-
Communication diagram.
Question 171
Question
Analyze the following code: (Choose all that apply.)
class Test {
private double i;
public Test(double i) {
this.t();
this.i = i;
}
public Test() {
System.out.println("Default constructor");
this(1);
}
public void t() {
System.out.println("Invoking t");
}
}
Answer
-
this(1) must be replaced by this(1.0).
-
this.i may be replaced by i.
-
this(1) must be called before System.out.println("Default constructor").
-
this.t() may be replaced by t().
Question 172
Question
What is a message between collaborating objects called in the UML?
Answer
-
communication call.
-
collaboration call.
-
synchronous call.
-
asynchronous call.
Question 173
Question
Communication diagrams contain an object's lifeline. Which of the following is true of the object's lifeline?
Answer
-
Actions occur along an object's lifeline in chronological order from top to bottom.
-
The lifeline represents the progression of time.
-
All of the above are true.
-
The line is dotted.
Question 174
Question
An activation indicates that:
Answer
-
an object is sending a message.
-
an object is being created.
-
an object has completed executing.
-
an object is executing.
Question 175
Question
The use case diagram models ________.
Answer
-
each software life cycle by repeating one or more stages several times via use cases.
-
each software life cycle stage in succession.
-
the interactions between implementations and testing.
-
the interactions between a system's client and one of the system's capabilities.
Question 176
Question
Which of the following statements are true? (Choose all that apply.)
Answer
-
Dynamic binding can apply to static methods.
-
The compiler finds a matching method according to parameter type, number of parameters, and order of the parameters at compilation time.
-
A method may be implemented in several subclasses. The Java Virtual Machine dynamically binds the implementation of the method at runtime.
-
You can always pass an instance of a subclass to a parameter of its superclass type. This feature is known as polymorphism.
-
Dynamic binding can apply to instance methods.
Question 177
Question
Which method changes the text the label displays?
Answer
-
changeText.
-
changeLabel.
-
setLabel.
-
setText.
Question 178
Question
Composition means ________.
Answer
-
that a class can extend another class
-
that a variable of supertype can refer to a subtype object
-
that data fields should be declared private
-
that a class can contain another class
Question 179
Question
Every object in Java knows its own class and can access this information through method ___________________ .
Answer
-
getClass.
-
objectInformation.
-
getInformation.
-
objectClass.
Question 180
Question
Analyze the following code: (Choose all that apply.)
import java.util.StringTokenizer;
public class A extends StringTokenizer {
}
Answer
-
The program would compile fine if you add the following constructor into A: A(String s) { super(s); }
-
The program has a compilation error because A does not have a default constructor.
-
The program would compile fine if you add the following constructor into A: A(String s) { }
-
The program has a compilation error because the default constructor of A invokes the default constructor of StringTokenizer, but StringTokenizer does not have a default constructor.
Question 181
Question
The default implementation of method clone of Object performs a ________.
Answer
-
full copy.
-
shallow copy.
-
empty copy.
-
deep copy.
Question 182
Question
Analyze the following code:
public class Test {
public static void main(String[ ] args) {
String s = new String("Welcome to Java");
Object o = s;
String d = (String)o;
}
}
Answer
-
When casting o to s in String d = (String)o, a new object is created.
-
When assigning s to o in Object o = s, a new object is created.
-
When casting o to s in String d = (String)o, the contents of o is changed.
-
s, o, and d reference the same String object.
Question 183
Question
Inheritance is also known as the
Answer
-
"is-a" relationship.
-
"knows-a" relationship.
-
"uses-a" relationship.
-
"has-a" relationship.
Question 184
Question
Polymorphism enables you to:
Question 185
Question
Which of the following statements are true? (Choose all that apply.)
Answer
-
"class A extends B" means B is a subclass of A.
-
"class A extends B" means A is a subclass of B.
-
A subclass is a subset of a superclass.
-
A subclass is usually extended to contain more functions and more detailed information than its superclass.
Question 186
Question
Classes and methods are declared final for all but the following reasons:
Answer
-
final methods allow inlining the code.
-
final methods can improve performance.
-
final methods are static.
-
final methods and classes prevent further inheritance.
Question 187
Question
When a superclass variable refers to a subclass object and a method is called on that object, the proper implementation is determined at execution time. What is the process of determining the correct method to call?
Answer
-
execution binding.
-
execution time binding.
-
just-in-time binding.
-
late binding.
Question 188
Question
Which of the following is the superclass constructor call syntax?
Answer
-
keyword super, followed by a dot (.) .
-
keyword super, followed by a dot and the superclass constructor name.
-
None of the above.
-
keyword super, followed by a set of parentheses containing the superclass constructor arguments.
Question 189
Question
Which of the statements regarding the super keyword is incorrect?
Answer
-
You can use super to invoke a super class method.
-
You can use super to invoke a super class constructor.
-
You can use super.super.p to invoke a method in superclass's parent class.
-
You cannot invoke a method in superclass's parent class.
Question 190
Question
Which statement best describes the relationship between superclass and subclass types?
Answer
-
A subclass reference can be assigned to a superclass variable, but a superclass reference cannot be assigned to a subclass variable.
-
A superclass reference can be assigned to a subclass variable, but a subclass reference cannot be assigned to a superclass variable.
-
A subclass reference can be assigned to a superclass variable and a superclass reference can be assigned to a subclass variable.
-
A subclass reference cannot be assigned to a superclass variable and a superclass reference cannot be assigned to a subclass variable.
Question 191
Question
A Java character is stored in ________.
Answer
-
two bytes
-
four bytes
-
one byte
-
three bytes
Question 192
Question
Which statement is false?
Answer
-
Unless directed otherwise, the computer executes Java statements one after the other in the order in which they are written.
-
Activity diagrams normally show the Java code that implements the activity.
-
Like pseudocode, activity diagrams help programmers develop and represent algorithms.
-
The arrows in the activity diagram represent transitions, which indicate the order in which the actions represented by the action states occur.
Question 193
Question
Keyword ________ indicates the inheritance relationship.
Answer
-
extends
-
inherits
-
super
-
parent
Question 194
Question
What is the result value of c at the end of the following code segment?
int c = 8;
c++;
++c;
c %= 5;
Answer
-
0.
-
1.
-
3.
-
None of the above.
Question 195
Question
Which statement is false?
Answer
-
To ensure that the operands are of the same type, Java performs implicit conversion on selected operands.
-
Cast operators are unary operators.
-
Cast operators associate from right to left and are one level lower in precedence than the multiplicative operators.
-
Cast operators are formed by placing parentheses around the name of a type.
Question 196
Question
Which of the following would not be used to clarify a dangling-else?
Answer
-
Indentation.
-
Parentheses ().
-
Braces {}.
-
Comment //.
Question 197
Question
To assign a double variable d to a float variable x, you write
Answer
-
x = (long)d
-
x = d;
-
x = (float)d;
-
x = (int)d;
Question 198
Question
Suppose i is an int type variable. Which of the following statements display the character whose Unicode is stored in variable i?
Answer
-
System.out.println(i);
-
System.out.println(i + " ");
-
System.out.println((int)i);
-
System.out.println((char)i);
Question 199
Question
What is the number of iterations in the following loop:
for (int i = 1; i < n; i++) {
// iteration
}
Question 200
Question
Consider the following Java statements:
int x = 9;
double y = 5.3;
result = calculateValue( x, y );