Created
January 28, 2016 07:59
-
-
Save boyangwang/d7a52aa43e09bf3eeda1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oracle Certified Associate, Java SE 7 Programmer I (1Z0-803) - OCA 7 Dumps | |
EXAM DETAILS: | |
Associated Certifications: Oracle Certified Associate, Java SE 7 Programmer | |
Exam Number: 1Z0-803 | |
Exam Product Version: Java SE | |
Duration: 120 minutes | |
Number of Questions: 70 | |
Passing Score: 63% | |
format: Multiple Choice | |
SYLLABUS: | |
Java Basics | |
Define the scope of variables | |
Define the structure of a Java class | |
Create executable Java applications with a main method | |
Import other Java packages to make them accessible in your code | |
Working With Java Data Types | |
Declare and initialize variables | |
Differentiate between object reference variables and primitive variables | |
Read or write to object fields | |
Explain an Object's Lifecycle (creation, "dereference" and garbage collection) | |
Call methods on objects | |
Manipulate data using the StringBuilder class and its methods | |
Creating and manipulating Strings | |
Using Operators and Decision Constructs | |
Use Java operators | |
Use parenthesis to override operator precedence | |
Test equality between Strings and other objects using == and equals () | |
Create if and if/else constructs | |
Use a switch statement | |
Creating and Using Arrays | |
Declare, instantiate, initialize and use a one-dimensional array | |
Declare, instantiate, initialize and use multi-dimensional array | |
Declare and use an ArrayList | |
Using Loop Constructs | |
Create and use while loops | |
Create and use for loops including the enhanced for loop | |
Create and use do/while loops | |
Compare loop constructs | |
Use break and continue | |
Working with Methods and Encapsulation | |
Create methods with arguments and return values | |
Apply the static keyword to methods and fields | |
Create an overloaded method | |
Differentiate between default and user defined constructors | |
Create and overload constructors | |
Apply access modifiers | |
Apply encapsulation principles to a class | |
Determine the effect upon object references and primitive values when they are passed into methods that change the values | |
Working with Inheritance | |
Implement inheritance | |
Develop code that demonstrates the use of polymorphism | |
Differentiate between the type of a reference and the type of an object | |
Determine when casting is necessary | |
Use super and this to access objects and constructors | |
Use abstract classes and interfaces | |
Handling Exceptions | |
Differentiate among checked exceptions, RuntimeExceptions and Errors | |
Create a try-catch block and determine how exceptions alter normal program flow | |
Describe what Exceptions are used for in Java | |
Invoke a method that throws an exception | |
Recognize common exception classes and categories | |
QUESTIONS: | |
QUESTION 1 | |
Given the code fragment: | |
int [] [] array2D = {{0, 1, 2}, {3, 4, 5, 6}}; | |
system.out.print (array2D[0].length+ "" ); | |
system.out.print(array2D[1].getClass(). isArray() + ""); | |
system.out.println (array2D[0][1]); | |
What is the result? | |
A. 3false1 | |
B. 2true3 | |
C. 2false3 | |
D. 3true1 | |
E. 3false3 | |
F. 2true1 | |
G. 2false1 | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The length of the element with index 0, {0, 1, 2}, is 3. Output: 3 The element with index 1, {3, 4, 5, | |
6}, is of type array. Output: true The element with index 0, {0, 1, 2} has the element with index 1: 1. Output: 1 | |
QUESTION 2 | |
View the exhibit: | |
public class Student { | |
public String name = ""; | |
public int age = 0; | |
public String major = "Undeclared"; | |
public boolean fulltime = true; | |
public void display() { | |
System.out.println("Name: " + name + " Major: " + major); | |
} | |
public boolean isFullTime() { | |
return fulltime; | |
} | |
} | |
Given: | |
public class TestStudent { | |
public static void main(String[] args) { | |
Student bob = new Student (); | |
Student jian = new Student(); | |
bob.name = "Bob"; | |
bob.age = 19; | |
jian = bob; | |
jian.name = "Jian"; | |
System.out.println("Bob's Name: " + bob.name); | |
} | |
} | |
What is the result when this program is executed? | |
A. Bob's Name: Bob | |
B. Bob's Name: Jian | |
C. Nothing prints | |
D. Bob's name | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: After the statement jian = bob; the jian will reference the same object as bob. | |
QUESTION 3 | |
Given the code fragment: | |
String valid = "true"; | |
if (valid) | |
{ | |
System.out.println ("valid"); | |
} | |
else | |
{ | |
System.out.println ("not valid"); | |
} | |
What is the result? | |
A. Valid | |
B. not valid | |
C. Compilation fails | |
D. An IllegalArgumentException is thrown at run time | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: In segment 'if (valid)' valid must be of type boolean, but it is a string. | |
This makes the compilation fail. | |
QUESTION 4 | |
Given: | |
public class ScopeTest | |
{ | |
int z; | |
public static void main(String[] args){ | |
ScopeTest myScope = new ScopeTest(); | |
int z = 6; | |
System.out.println(z); | |
myScope.doStuff(); | |
System.out.println(z); | |
System.out.println(myScope.z); | |
} | |
void doStuff() { | |
int z = 5; | |
doStuff2(); | |
System.out.println(z); | |
} | |
void doStuff2() | |
{ | |
z = 4; | |
} | |
} | |
What is the result? | |
A. 6 5 6 4 | |
B. 6 5 5 4 | |
C. 6 5 6 6 | |
D. 6 5 6 5 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Within main z is assigned 6. z is printed. Output: 6 Within doStuff z is assigned 5.DoStuff2 locally | |
sets z to 4 (but MyScope.z is set to 4), but in Dostuff z is still 5. z is printed. Output: 5 | |
Again z is printed within main (with local z set to 6). Output: 6 Finally MyScope.z is printed. MyScope.z has | |
been set to 4 within doStuff2(). Output: 4 | |
QUESTION 5 | |
Which two are valid instantiations and initializations of a multi dimensional array? | |
A. int [] [] array 2D = { { 0, 1, 2, 4} {5, 6}}; | |
B. int [] [] array2D = new int [2] [2]; | |
array2D[0] [0] = 1; | |
array2D[0] [1] = 2; | |
array2D[1] [0] = 3; | |
array2D[1] [1] = 4; | |
C. int [] [] [] array3D = {{0, 1}, {2, 3}, {4, 5}}; | |
D. int [] [] [] array3D = new int [2] [2] [2]; | |
array3D [0] [0] = array; | |
array3D [0] [1] = array; | |
array3D [1] [0] = array; | |
array3D [0] [1] = array; | |
E. int [] [] array2D = {0, 1}; | |
Correct Answer: BD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: In the Java programming language, a multidimensional array is simply an array whose | |
components are themselves arrays. | |
QUESTION 6 | |
An unchecked exception occurs in a method dosomething() | |
Should other code be added in the dosomething() method for it to compile and execute? | |
A. The Exception must be caught | |
B. The Exception must be declared to be thrown. | |
C. The Exception must be caught or declared to be thrown. | |
D. No other code needs to be added. | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Because the Java programming language does not require methods to catch or to specify | |
unchecked exceptions (RuntimeException, Error, and their subclasses), programmers may be tempted to write | |
code that throws only unchecked exceptions or to make all their exception subclasses inherit from | |
RuntimeException. Both of these shortcuts allow programmers to write code without bothering with compiler | |
errors and without bothering to specify or to catch any exceptions. Although this may seem convenient to the | |
programmer, it sidesteps the intent of the catch or specify requirement and can cause problems for others | |
using your classes. | |
QUESTION 7 | |
Given the code fragment: | |
int b = 4; | |
b -- ; | |
System.out.println (-- b); | |
System.out.println(b); | |
What is the result? | |
A. 2 2 | |
B. 1 2 | |
C. 3 2 | |
D. 3 3 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Variable b is set to 4. | |
Variable b is decreased to 3. | |
Variable b is decreased to 2 and then printed. Output: 2 Variable b is printed. Output: 2 | |
QUESTION 8 | |
Given the code fragment: | |
interface SampleClosable | |
{ | |
public void close () throws java.io.IOException; | |
} | |
Which three implementations are valid? | |
A. public class Test implements SampleCloseable { | |
public void close() throws java.io.IOException { | |
/ / do something | |
} | |
} | |
B. public class Test implements SampleCloseable { | |
public void close() throws Exception { | |
/ / do something | |
} | |
} | |
C. public class Test implements SampleCloseable { | |
public void close() throws java.io.FileNotFoundException { / / do something | |
} | |
} | |
D. public class Test extends SampleCloseable { | |
public void close() throws java.IO.IOException { | |
/ / do something | |
} | |
} | |
E. public class Test implements SampleCloseable { | |
public void close() | |
/ / do something | |
} | |
} | |
Correct Answer: ACE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: A: Throwing the same exception is fine. | |
C: Using a subclass of java.io.IOException (here java.io.FileNotFoundException) is fine | |
E: Not using a throw clause is fine. | |
QUESTION 9 | |
Given the code fragment: | |
Int [] [] array = {{0}, {0, 1}, {0, 2, 4}, {0, 3, 6, 9}, {0, 4, 8, 12, 16}}; | |
Systemout.printIn(array [4] [1]); | |
System.out.printIn (array) [1][4]); | |
int [] [] array = {{0}, {0, 1}, {0, 2, 4}, {0, 3, 6, 9}, {0, 4, 8, 12, 16}}; | |
System.out.println(array [4][1]); | |
System.out.println(array) [1][4]); | |
What is the result? | |
A. 4 Null | |
B. Null 4 | |
C. An IllegalArgumentException is thrown at run time | |
D. 4 An ArrayIndexOutOfBoundException is thrown at run time | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The first println statement, System.out.println(array [4][1]);, works fine. It selects the element/array | |
with index 4, {0, 4, 8, 12, 16}, and from this array it selects the element with index 1,4. | |
Output: 4 | |
The second println statement, System.out.println(array) [1][4]);, fails. It selects the array/element with index 1, | |
{0, 1}, and from this array it try to select the element with index 4. This causes an exception. | |
Output:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 | |
QUESTION 10 | |
Given: | |
public class DoCompare1 { | |
public static void main(String[] args) { | |
String[] table = {"aa", "bb", "cc"}; | |
for (String ss: table) { | |
int ii = 0; | |
while (ii < table.length) { | |
System.out.println(ss + ", " + ii); | |
ii++; | |
} | |
} | |
How many times is 2 printed as a part of the output? | |
A. Zero | |
B. Once | |
C. Twice | |
D. Thrice | |
E. Compilation fails. | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The for statement, for (String ss: table), is executed one time for each of the three elements in | |
table. The while loop will print a 2 once for each element. | |
Output: | |
aa, 0 | |
aa, 1 | |
aa, 2 | |
bb, 0 | |
bb, 1 | |
bb, 2 | |
cc, 0 | |
cc, 1 | |
cc, 2 | |
QUESTION 11 | |
Given: | |
import java.io.IOException; | |
public class Y | |
{ | |
public static void main(String[] args) { | |
try { | |
doSomething(); | |
} | |
catch (RuntimeException e) { | |
System.out.println(e); | |
} | |
} | |
static void doSomething() | |
{ | |
if (Math.random() > 0.5) | |
{ | |
throw new IOException(); | |
} | |
throw new RuntimeException(); | |
} | |
} | |
Which two actions, used independently, will permit this class to compile? | |
A. Adding throws IOException to the main() method signature | |
B. Adding throws IOException to the doSoomething() method signature | |
C. Adding throws IOException to the main() method signature and to the dosomething() method | |
D. Adding throws IOException to the dosomething() method signature and changing the catch argument to | |
IOException | |
E. Adding throws IOException to the main() method signature and changing the catch argument to | |
IOException | |
Correct Answer: CD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The IOException must be caught or be declared to be thrown. We must add a throws exception to | |
the doSomething () method signature (static void doSomething() throws IOException). | |
Then we can either add the same throws IOException to the main method (public static void main(String[] args) | |
throws IOException), or change the catch statement in main to IOException. | |
QUESTION 12 | |
Given: | |
lass X | |
{ | |
String str = "default"; | |
X(String s) | |
{ | |
str = s; | |
} | |
void print () | |
{ | |
System.out.println(str); | |
} | |
public static void main(String[] args) | |
{ | |
new X("hello").print(); | |
} | |
} | |
What is the result? | |
A. hello | |
B. default | |
C. Compilation fails | |
D. The program prints nothing | |
E. An exception is thrown at run time | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The program compiles fine. | |
The program runs fine. | |
The output is: hello | |
QUESTION 13 | |
Given: | |
public class SampleClass | |
{ | |
public static void main(String[] args) | |
{ | |
AnotherSampleClass asc = new AnotherSampleClass(); | |
SampleClass sc = new SampleClass(); | |
// TODO code application logic here | |
} | |
} | |
class AnotherSampleClass extends SampleClass | |
{ | |
} | |
Which statement, when inserted into line "// TODO code application logic here ", is valid change? | |
A. asc = sc; | |
B. sc = asc; | |
C. asc = (object) sc; | |
D. asc = sc.clone () | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Works fine. | |
QUESTION 14 | |
Given the code fragment: | |
System.out.println("Result: " + 2 + 3 + 5); | |
System.out.println("Result: " + 2 + 3 * 5); | |
What is the result? | |
A. Result: 10 | |
Result: 30 | |
B. Result: 10 | |
Result: 25 | |
C. Result: 235 | |
Result: 215 | |
D. Result: 215 | |
Result: 215 | |
E. Compilation fails | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: First line: | |
System.out.println("Result: " + 2 + 3 + 5); | |
String concatenation is produced. | |
Second line: | |
System.out.println("Result: " + 2 + 3 * 5); | |
3*5 is calculated to 15 and is appended to string 2. Result 215. | |
The output is: | |
Result: 235 | |
Result: 215 | |
Note #1: | |
To produce an arithmetic result, the following code would have to be used: | |
System.out.println("Result: " + (2 + 3 + 5)); | |
System.out.println("Result: " + (2 + 1 * 5)); | |
run: | |
Result: 10 | |
Result: 7 | |
Note #2: | |
If the code was as follows: | |
System.out.println("Result: " + 2 + 3 + 5"); | |
System.out.println("Result: " + 2 + 1 * 5"); | |
The compilation would fail. There is an unclosed string literal, 5", on each line. | |
QUESTION 15 | |
Which code fragment is illegal? | |
A. class Base1 { | |
abstract class Abs1 { }} | |
B. abstract class Abs1 { | |
void doit () { }} | |
C. class Basel { | |
abstract class Abs1 extends Basel { | |
D. abstract int var1 = 89; | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The abstract keyword cannot be used to declare an int variable. | |
The abstract keyword is used to declare a class or method to be abstract[3]. An abstract method has no | |
implementation; all classes containing abstract methods must themselves be abstract, although not all abstract | |
classes have abstract methods. | |
QUESTION 16 | |
Given the code fragment: | |
int a = 0; | |
a++; | |
System.out.println(a++); | |
System.out.println(a); | |
What is the result? | |
A. 1 | |
2 | |
B. 0 | |
1 | |
C. 1 | |
1 | |
D. 2 | |
2 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The first println prints variable a with value 1 and then increases the variable to 2. | |
QUESTION 17 | |
Given: | |
public class x | |
{ | |
public static void main (string [] args) | |
{ | |
String theString = "Hello World"; | |
System.out.println(theString.charAt(11)); | |
} | |
} | |
What is the result? | |
A. There is no output | |
B. d is output | |
C. A StringIndexOutOfBoundsException is thrown at runtime | |
D. An ArrayIndexOutOfBoundsException is thrown at runtime | |
E. A NullPointException is thrown at runtime | |
F. A StringArrayIndexOutOfBoundsException is thrown at runtime | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: There are only 11 characters in the string "Hello World". The code theString.charAt(11) retrieves | |
the 12th character, which does not exist. A StringIndexOutOfBoundsException is thrown. | |
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: | |
QUESTION 18 | |
Given a java source file: | |
class X | |
{ | |
X () | |
{ | |
} | |
private void one () | |
{ | |
} | |
} | |
public class Y extends X | |
{ | |
Y () | |
{ | |
} | |
private void two () | |
{ | |
one(); | |
} | |
public static void main (string [] args) | |
{ | |
new Y().two (); | |
} | |
} | |
What changes will make this code compile? | |
A. adding the public modifier to the declaration of class X | |
B. adding the protected modifier to the X() constructor | |
C. changing the private modifier on the declaration of the one() method to protected | |
D. removing the Y () constructor | |
E. removing the private modifier from the two () method | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Using the private protected, instead of the private modifier, for the declaration of the one() method, | |
would enable the two() method to access the one() method. | |
QUESTION 19 | |
Given: | |
#1 | |
package handy.dandy; | |
public class KeyStroke { | |
public void typeExclamation() { | |
System.out.println("!") | |
} | |
} | |
#2 | |
package handy; /* Line 1 */ | |
public class Greet { /* Line 2 */ | |
public static void main(String[] args) { /* Line 3 */ | |
String greeting = "Hello"; /* Line 4 */ | |
System.out.print(greeting); /* Line 5 */ | |
Keystroke stroke = new Keystroke; /* Line 6 */ | |
stroke.typeExclamation(); /* Line 7 */ | |
} /* Line 8 */ | |
} /* Line 9 */ | |
What three modifications, made independently, made to class greet, enable the code to compile and run? | |
A. Line 6 replaced with handy.dandy.keystroke stroke = new KeyStroke ( ); | |
B. Line 6 replaced with handy.*.KeyStroke = new KeyStroke ( ); | |
C. Line 6 replaced with handy.dandy.KeyStroke Stroke = new handy.dandy.KeyStroke(); | |
D. import handy.*; added before line 1 | |
E. import handy.dandy.*; added after line 1 | |
F. import handy.dandy,KeyStroke; added after line 1 | |
G. import handy.dandy.KeyStroke.typeException(); added before line 1 | |
Correct Answer: CEF | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Three separate solutions: | |
C: the full class path to the method must be stated (when we have not imported the package) | |
D: We can import the hold dandy class | |
F: we can import the specific method | |
QUESTION 20 | |
Given: | |
String message1 = "Wham bam!"; | |
String message2 = new String("Wham bam!"); | |
if (message1 == message2) | |
System.out.println("They match"); | |
if (message1.equals(message2)) | |
System.out.println("They really match"); | |
What is the result? | |
A. They match | |
They really match | |
B. They really match | |
C. They match | |
D. Nothing Prints | |
E. They really match | |
They really match | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The strings are not the same objects so the == comparison fails. See note #1 below. As the value | |
of the strings are the same equals is true. The equals method compares values for equality. | |
Note: #1 == | |
Compares references, not values. The use of == with object references is generally limited to the following: | |
Comparing to see if a reference is null. | |
Comparing two enum values. This works because there is only one object for each enum constant. | |
You want to know if two references are to the same object. | |
QUESTION 21 | |
Given: | |
public class Speak { /* Line 1 */ | |
public static void main(String[] args) { /* Line 2 */ | |
Speak speakIT = new Tell(); /* Line 3 */ | |
Tell tellIt = new Tell(); /* Line 4 */ | |
speakIT.tellItLikeItIs(); /* Line 5 */ | |
(Truth)speakIt.tellItLikeItIs(); /* Line 6 */ | |
((Truth)speakIt).tellItLikeItIs(); /* Line 7 */ | |
tellIt.tellItLikeItIs(); /* Line 8 */ | |
(Truth)tellIt.tellItLikeItIs(); /* Line 9 */ | |
((Truth)tellIt).tellItLikeItIs(); /* Line 10 */ | |
} | |
} | |
class Tell extends Speak implements Truth { | |
public void tellItLikeItIs() { | |
System.out.println("Right on!"); | |
} | |
} | |
interface Truth { | |
public void tellItLikeItIs() | |
}; | |
Which three lines will compile and output "right on!"? | |
A. Line 5 | |
B. Line 6 | |
C. Line 7 | |
D. Line 8 | |
E. Line 9 | |
F. Line 10 | |
Correct Answer: CDF | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 22 | |
Given the code fragment: | |
String h1 = "Bob"; | |
String h2 = new String ("Bob"); | |
What is the best way to test that the values of h1 and h2 are the same? | |
A. if (h1 == h2) | |
B. if (h1.equals(h2)) | |
C. if (h1 = = h2) | |
D. if (h1.same(h2)) | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The equals method compares values for equality. | |
QUESTION 23 | |
Which two are valid declarations of a two-dimensional array? | |
A. int[][] array2D; | |
B. int[2][2] array2D; | |
C. int array2D[]; | |
D. int[] array2D[]; | |
E. int[][] array2D[]; | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: int[][] array2D; is the standard convention to declare a 2-dimensional integer array. | |
int[] array2D[]; works as well, but it is not recommended. | |
QUESTION 24 | |
Given the code fragment: | |
System.out.println ("Result:" +3+5); | |
System.out.println ("result:" + (3+5)); | |
What is the result? | |
A. Result: 8 | |
Result: 8 | |
B. Result: 35 | |
Result: 8 | |
C. Result: 8 | |
Result: 35 | |
D. Result: 35 | |
Result: 35 | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: In the first statement 3 and 5 are treated as strings and are simply concatenated. In the first | |
statement 3 and 5 are treated as integers and their sum is calculated. | |
QUESTION 25 | |
Given: | |
public class Main { | |
public static void main(String[] args) throws Exception | |
{ | |
doSomething(); | |
} | |
private static void doSomething() throws Exception | |
{ | |
System.out.println("Before if clause"); | |
if (Math.random() > 0.5) | |
{ | |
throw new Exception(); | |
} | |
System.out.println ("After if clause"); | |
} | |
} | |
Which two are possible outputs? | |
A. Before if clause | |
Exception in thread "main" java.lang.Exception | |
At Main.doSomething (Main.java:8) | |
At Main.main (Main.java:3) | |
B. Before if clause | |
Exception in thread "main" java.lang.Exception | |
At Main.doSomething (Main.java:8) | |
At Main.main (Main.java:3) | |
After if clause | |
C. Exception in thread "main" java.lang.Exception | |
At Main.doSomething (Main.java:8) | |
At Main.main (Main.java:3) | |
D. Before if clause | |
After if clause | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The first println statement, System.out.println("Before if clause");, will always run. If Math.Random | |
() > 0.5 then there is an exception. The exception message is displayed and the program terminates. | |
If Math.Random() > 0.5 is false, then the second println statement runs as well. | |
QUESTION 26 | |
A method doSomething () that has no exception handling code is modified to trail a method that throws a | |
checked exception. Which two modifications, made independently, will allow the program to compile? | |
A. Catch the exception in the method doSomething(). | |
B. Declare the exception to be thrown in the doSomething() method signature. | |
C. Cast the exception to a RunTimeException in the doSomething() method. | |
D. Catch the exception in the method that calls doSomething(). | |
Correct Answer: AB | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Valid Java programming language code must honor the Catch or Specify Requirement. This | |
means that code that might throw certain exceptions must be enclosed by either of the following: | |
* A try statement that catches the exception. The try must provide a handler for the exception, as described in | |
Catching and Handling Exceptions. | |
* A method that specifies that it can throw the exception. The method must provide a throws clause that lists | |
the exception, as described in Specifying the Exceptions Thrown by a Method. | |
Code that fails to honor the Catch or Specify Requirement will not compile. | |
QUESTION 27 | |
Given the code fragment: | |
String color = "Red"; | |
switch(color) | |
{ | |
case "Red": | |
System.out.println("Found Red"); | |
case "Blue": | |
System.out.println("Found Blue"); | |
break; | |
case "White": | |
System.out.println("Found White"); | |
break; | |
default: | |
System.out.println("Found Default"); | |
} | |
What is the result? | |
A. Found Red | |
B. Found Red | |
Found Blue | |
C. Found Red | |
Found Blue | |
Found White | |
D. Found Red | |
Found Blue | |
Found White | |
Found Default | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: As there is no break statement after the case "Red" statement the case Blue statement will run as | |
well. | |
Note: The body of a switch statement is known as a switch block. A statement in the switch block can be | |
labeled with one or more case or default labels. The switch statement evaluates its expression, then executes | |
all statements that follow the matching case label. | |
Each break statement terminates the enclosing switch statement. Control flow continues with the first statement | |
following the switch block. The break statements are necessary because without them, statements in switch | |
blocks fall through: All statements after the matching case label are executed in sequence, regardless of the | |
expression of subsequent case labels, until a break statement is encountered. | |
QUESTION 28 | |
Which two may precede the word "class" in a class declaration? | |
A. local | |
B. public | |
C. static | |
D. volatile | |
E. synchronized | |
Correct Answer: BC | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: B: A class can be declared as public or private. | |
C: You can declare two kinds of classes: top-level classes and inner classes. You define an inner class within a | |
top-level class. Depending on how it is defined, an inner class can be one of the following four types: | |
Anonymous, Local, Member and Nested top-level. A nested top-level class is a member classes with a static | |
modifier. A nested top-level class is just like any other top-level class except that it is declared within another | |
class or interface. Nested top-level classes are typically used as a convenient way to group related classes | |
without creating a new package. | |
The following is an example: | |
public class Main { | |
static class Killer { | |
QUESTION 29 | |
Which three are bad practices? | |
A. Checking for ArrayindexoutofBoundsException when iterating through an array to determine when all | |
elements have been visited | |
B. Checking for Error and. If necessary, restarting the program to ensure that users are unaware problems | |
C. Checking for FileNotFoundException to inform a user that a filename entered is not valid | |
D. Checking for ArrayIndexoutofBoundsExcepcion and ensuring that the program can recover if one occur | |
E. Checking for an IOException and ensuring that the program can recover if one occurs | |
Correct Answer: ABD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: A, D: Better to check if the index is within bounds. B: Restarting the program would not be a good | |
practice. It should be done as a last possibility only. | |
QUESTION 30 | |
Given: | |
public class Bark { | |
// Insert code here - Line 5 | |
public abstract void bark(); // Line 6 | |
} // Line 7 | |
// Line 8 | |
// Insert code here - Line 9 | |
public void bark() { | |
System.out.println("woof"); | |
} | |
} | |
What code should be inserted? | |
A. 5.class Dog { | |
9. public class Poodle extends Dog { | |
B. 5. abstract Dog { | |
9. public class poodle extends Dog { | |
C. 5. abstract class Dog { | |
9. public class Poodle extends Dog { | |
D. 5. abstract Dog { | |
9. public class Poodle implements Dog { | |
E. 5. abstract Dog { | |
9. public class Poodle implements Dog { | |
F. 5. abstract class Dog { | |
9. public class Poodle implements Dog { | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Dog should be an abstract class. The correct syntax for this is: abstract class Dog { Poodle should | |
extend Dog (not implement). | |
QUESTION 31 | |
Given: | |
class X {} | |
class Y {Y () {}} | |
class Z {z(int i ) {} } | |
Which class has a default constructor? | |
A. X only | |
B. Y only | |
C. Z only | |
D. X and Y | |
E. Y and Z | |
F. X and Z | |
G. X, Y and Z | |
Correct Answer: F | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: X an Z classes do not define constructors explicitly. | |
QUESTION 32 | |
Given: | |
Public static void main (String [] args) { | |
int a, b, c = 0; | |
int a, b, c; | |
int g, int h, int i = 0; | |
int d, e, F; | |
int k, l, m; = 0; | |
Which three declarations will compile? | |
A. int a, b, c = 0; | |
B. int a, b, c; | |
C. int g, int h, int i = 0; | |
D. int d, e, F; | |
E. int k, l, m; = 0; | |
Correct Answer: ABD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 33 | |
Given the code fragment: | |
int j=0, k =0; | |
for (int i=0; i < x; i++) | |
{ | |
do | |
{ | |
k=0; | |
while (k < z) | |
{ | |
k++; | |
System.out.print(k + " "); | |
} | |
System.out.println(" "); | |
j++; | |
} while (j < y); | |
System.out.println("----"); | |
} | |
What values of x, y, z will produce the following result? | |
1 2 3 4 | |
1 2 3 4 | |
1 2 3 4 | |
------ | |
1 2 3 4 | |
------ | |
A. X = 4, Y = 3, Z = 2 | |
B. X = 3, Y = 2, Z = 3 | |
C. X = 2, Y = 3, Z = 3 | |
D. X = 4, Y = 2, Z = 3 | |
E. X = 2, Y = 3, Z = 4 | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Z is for the innermost loop. Should print 1 2 3 4. So Z must be 4. Y is for the middle loop. Should | |
print three lines of 1 2 3 4. So Y must be set 3. X is for the outmost loop. Should print 2 lines of ----. So X | |
should be 2. | |
QUESTION 34 | |
Which statement initializes a stringBuilder to a capacity of 128? | |
A. StringBuilder sb = new String("128"); | |
B. StringBuilder sb = StringBuilder.setCapacity(128); | |
C. StringBuilder sb = StringBuilder.getInstance(128); | |
D. StringBuilder sb = new StringBuilder(128); | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: StringBuilder(int capacity) Constructs a string builder with no characters in it and an initial capacity | |
specified by the capacity argument. Note: An instance of a StringBuilder is a mutable sequence of characters. | |
The principal operations on a StringBuilder are the append and insert methods, which are overloaded so as to | |
accept data of any type. Each effectively converts a given datum to a string and then appends or inserts the | |
characters of that string to the string builder. The append method always adds these characters at the end of | |
the builder; the insert method adds the characters at a specified point. | |
QUESTION 35 | |
Given: | |
public class DoCompare4 | |
{ | |
public static void main(String[] args) | |
{ | |
String[] table = {"aa", "bb", "cc"}; | |
int ii =0; | |
do | |
while (ii < table.length) | |
System.out.println(ii++); | |
while (ii < table.length); | |
} | |
} | |
What is the result? | |
A. 0 | |
1 | |
B. 0 | |
1 | |
2 | |
C. 0 | |
1 | |
2 | |
3 | |
D. Compilation fails | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: table.length is 3. So the do-while loop will run 3 times with ii=0, ii=1 and ii=2. The second while | |
statement will break the do-loop when ii = 3. Note: The Java programming language provides a do-while | |
statement, which can be expressed as follows: | |
do { | |
statement(s) | |
} while (expression); | |
QUESTION 36 | |
A method is declared to take three arguments. A program calls this method and passes only two arguments. | |
What is the result? | |
A. Compilation fails. | |
B. The third argument is given the value null. | |
C. The third argument is given the value void. | |
D. The third argument is given the value zero. | |
E. The third argument is given the appropriate false value for its declared type. | |
F. An exception occurs when the method attempts to access the third argument. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The problem is noticed at build/compile time. At build you would receive an error message like: | |
required: int,int,int | |
found: int,int | |
QUESTION 37 | |
Given the fragment: | |
int [] array = {1, 2, 3, 4, 5}; | |
System.arraycopy (array, 2, array, 1, 2); | |
System.out.print (array [1]); | |
System.out.print (array[4]); | |
What is the result? | |
A. 14 | |
B. 15 | |
C. 24 | |
D. 25 | |
E. 34 | |
F. 35 | |
Correct Answer: F | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The two elements 3 and 4 (starting from position with index 2) are copied into position index 1 and | |
2 in the same array. | |
After the arraycopy command the array looks like: | |
{1, 3, 4, 4, 5}; | |
Then element with index 1 is printed: 3 | |
Then element with index 4 is printed: 5 | |
Note: The System class has an arraycopy method that you can use to efficiently copy data from one array into | |
another: | |
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) | |
The two Object arguments specify the array to copy from and the array to copy to. The three int arguments | |
specify the starting position in the source array, the starting position in the destination array, and the number of | |
array elements to copy. | |
QUESTION 38 | |
Given the following code fragment: | |
if (value >= 0) { | |
if (value != 0) | |
System.out.print("the "); | |
else | |
System.out.print("quick "); | |
if (value < 10) | |
System.out.print("brown "); | |
if (value > 30) | |
System.out.print("fox "); | |
else if (value < 50) | |
System.out.print("jumps "); | |
else if (value < 10) | |
System.out.print("over "); | |
else | |
System.out.print("the "); | |
if (value > 10) | |
System.out.print("lazy "); | |
} else { | |
System.out.print("dog "); | |
} | |
System.out.print("... "); | |
} | |
What is the result if the integer value is 33? | |
A. The fox jump lazy ... | |
B. The fox lazy ... | |
C. Quick fox over lazy ... | |
D. Quick fox the .... | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: 33 is greater than 0. | |
33 is not equal to 0. | |
the is printed. | |
33 is greater than 30 | |
fox is printed | |
33 is greater then 10 (the two else if are skipped) | |
lazy is printed | |
finally ... is printed. | |
QUESTION 39 | |
Which three are advantages of the Java exception mechanism? | |
A. Improves the program structure because the error handling code is separated from the normal program | |
function | |
B. Provides a set of standard exceptions that covers all the possible errors | |
C. Improves the program structure because the programmer can choose where to handle exceptions | |
D. Improves the program structure because exceptions must be handled in the method in which they occurred | |
E. allows the creation of new exceptions that are tailored to the particular program being | |
Correct Answer: ACE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: A: The error handling is separated from the normal program logic. | |
C: You have some choice where to handle the exceptions. | |
E: You can create your own exceptions. | |
QUESTION 40 | |
Given: | |
public class MyFor3 | |
{ | |
public static void main(String[] args) | |
{ | |
int [] xx = null; | |
System.out.println(xx); | |
} | |
} | |
What is the result? | |
A. null | |
B. compilation fails | |
C. Java.lang.NullPointerException | |
D. 0 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: An array variable (here xx) can very well have the null value. | |
Note: | |
Null is the reserved constant used in Java to represent a void reference i.e a pointer to nothing. Internally it is | |
just a binary 0, but in the high level Java language, it is a magic constant, quite distinct from zero, that internally | |
could have any representation. | |
QUESTION 41 | |
Given: | |
public class Main | |
{ | |
public static void main(String[] args) | |
{ | |
doSomething(); | |
} | |
private static void doSomething() | |
{ | |
doSomeThingElse(); | |
} | |
private static void doSomeThingElse() | |
{ | |
throw new Exception(); | |
} | |
} | |
Which approach ensures that the class can be compiled and run? | |
A. Put the throw new Exception() statement in the try block of try catch | |
B. Put the doSomethingElse() method in the try block of a try catch | |
C. Put the doSomething() method in the try block of a try catch | |
D. Put the doSomething() method and the doSomethingElse() method in the try block of a try catch | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: We need to catch the exception in the doSomethingElse() method. | |
Such as: | |
private static void doSomeThingElse() { | |
try { | |
throw new Exception();} | |
catch (Exception e) | |
{} | |
} | |
Note: One alternative, but not an option here, is the declare the exception in doSomeThingElse and catch it in | |
the doSomeThing method. | |
QUESTION 42 | |
Given: | |
public class ScopeTest1 | |
{ | |
public static void main(String[] args) | |
{ | |
doStuff(); // line x1 | |
int x1 = x2; // line x2 | |
int x2 = j; // line x3 | |
} | |
static void doStuff() { | |
System.out.println(j); // line x4 | |
} | |
static int j; | |
} | |
Which line causes a compilation error? | |
A. line x1 | |
B. line x2 | |
C. line x3 | |
D. line x4 | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The variable x2 is used before it has been declared. | |
QUESTION 43 | |
Given: | |
class Overloading { | |
void x (int i) { | |
System.out.println("one"); | |
} | |
void x (String s) { | |
System.out.println("two"); | |
} | |
void x (double d) { | |
System.out.println("three"); | |
} | |
public static void main(String[] args) { | |
new Overloading().x (4.0); | |
} | |
} | |
What is the result? | |
A. One | |
B. Two | |
C. Three | |
D. Compilation fails | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: In this scenario the overloading method is called with a double/float value, 4.0. This makes the | |
third overload method to run. | |
Note: | |
The Java programming language supports overloading methods, and Java can distinguish between methods | |
with different method signatures. This means that methods within a class can have the same name if they have | |
different parameter lists. Overloaded methods are differentiated by the number and the type of the arguments | |
passed into the method. | |
QUESTION 44 | |
Which declaration initializes a boolean variable? | |
A. boolean h = 1; | |
B. boolean k = 0; | |
C. boolean m = null; | |
D. boolean j = (1 < 5) ; | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The primitive type boolean has only two possible values: true and false. Here j is set to (1 <5), | |
which evaluates to true. | |
QUESTION 45 | |
Given: | |
public class Basic { | |
private static int letter; | |
public static int getLetter(); | |
public static void Main(String[] args) { | |
System.out.println(getLetter()); | |
} | |
} | |
Why will the code not compile? | |
A. A static field cannot be private. | |
B. The getLetter method has no body. | |
C. There is no setletter method. | |
D. The letter field is uninitialized. | |
E. It contains a method named Main instead of main | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The getLetter() method needs a body public static int getLetter() { }; . | |
QUESTION 46 | |
Given: | |
public class Circle | |
{ | |
double radius; | |
public double area: | |
public Circle (double r) { radius = r;} | |
public double getRadius() {return radius;} | |
public void setRadius(double r) { radius = r;} | |
public double getArea() { return /* ??? */;} | |
} | |
class App | |
{ | |
public static void main(String[] args) | |
{ | |
Circle c1 = new Circle(17.4); | |
c1.area = Math.PI * c1.getRadius() * c1.getRadius(); | |
} | |
} | |
This class is poorly encapsulated. You need to change the circle class to compute and return the area instead. | |
What three modifications are necessary to ensure that the class is being properly encapsulated? | |
A. Change the access modifier of the setradius () method to private | |
B. Change the getArea () method | |
public double getArea () { return area; } | |
C. When the radius is set in the Circle constructor and the setRadius () method, recomputed the area and | |
store it into the area field | |
D. Change the getRadius () method: | |
public double getRadius () { | |
area = Math.PI * radius * radius; | |
return radius;} | |
Correct Answer: ABC | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: A: There is no need to have SetRadius as public as the radius can be set through the Circle | |
method. | |
B: We need to return the area in the GetArea method. | |
C: When the radius changes the Area must change as well. | |
Incorrect answer: | |
D: the GetRadius() method does not change the radius, so there is no need to recomputed the area. | |
QUESTION 47 | |
Given a code fragment: | |
StringBuilder sb = new StringBuilder (); | |
String h1 = "HelloWorld"; | |
sb.append("Hello").append ("world"); | |
if (h1 == sb.toString()) { | |
System.out.println("They match"); | |
} | |
if (h1.equals(sb.toString())) { | |
System.out.println("They really match"); | |
} | |
What is the result? | |
A. They match | |
They really match | |
B. They really match | |
C. They match | |
D. Nothing is printed to the screen | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Strings can not be compared with the usual <, <=, >, or >= operators, and the == and != operators | |
don't compare the characters in the strings. So the first if statement fails. | |
Equals works fine on strings. But it does not work here.The second if-statement also fails. The StringBuffer | |
class does not override the equals method so it uses the equals method of Object. If a and b are two objects | |
from a class which doesn't override equals, thena.equals(b) is the same as a == b | |
QUESTION 48 | |
Given the following code: | |
public class Simple { /* Line 1 */ | |
public float price; /* Line 2 */ | |
public static void main (String[] args) { /* Line 3 */ | |
Simple price = new Simple (); /* Line 4 */ | |
price = 4; /* Line 5 */ | |
} /* Line 6 */ | |
} /* Line 7 */ | |
What will make this code compile and run? | |
A. Change line 2 to the following: | |
Public int price | |
B. Change line 4 to the following: | |
int price = new simple (); | |
C. Change line 4 to the following: | |
Float price = new simple (); | |
D. Change line 5 to the following: | |
Price = 4f; | |
E. Change line 5 to the following: | |
price.price = 4; | |
F. Change line 5 to the following: | |
Price = (float) 4: | |
G. Change line 5 to the following: | |
Price = (Simple) 4; | |
H. The code compiles and runs properly; no changes are necessary | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: price.price =4; is correct, not price=4; The attribute price of the instance must be set, not the | |
instance itself. | |
QUESTION 49 | |
Given: | |
public class DoWhile { | |
public static void main (String [] args) { | |
int ii = 2; | |
do { | |
System.out.println (ii); | |
} while (--ii); | |
} | |
} | |
What is the result? | |
A. 1 | |
B. 2 | |
C. null | |
D. an infinite loop | |
E. compilation fails | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The line while (--ii); will cause the compilation to fail. | |
--ii is not a boolean value. | |
A correct line would be while (--ii>0); | |
QUESTION 50 | |
You are writing a method that is declared not to return a value. Which two are permitted in the method body? | |
A. omission of the return statement | |
B. return null; | |
C. return void; | |
D. return; | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Any method declared void doesn't return a value. It does not need to contain a return statement, | |
but it may do so. In such a case, a return statement can be used to branch out of a control flow block and exit | |
the method and is simply used like this: | |
return; | |
QUESTION 51 | |
Identify two benefits of using ArrayList over array in software development. | |
A. reduces memory footprint | |
B. implements the Collection API | |
C. is multi.thread safe | |
D. dynamically resizes based on the number of elements in the list | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: ArrayList supports dynamic arrays that can grow as needed. In Java, standard arrays are of a | |
fixed length. After arrays are created, they cannot grow or shrink, which means that you must know in advance | |
how many elements an array will hold. But, sometimes, you may not know until run time precisely how large of | |
an array you need. To handle this situation, the collections framework defines ArrayList. In essence, an | |
ArrayList is a variable-length array of object references. That is, an ArrayList can dynamically increase or | |
decrease in size. Array lists | |
are created with an initial size. When this size is exceeded, the collection is automatically enlarged. When | |
objects are removed, the array may be shrunk. | |
QUESTION 52 | |
Which three are valid types for switch? | |
A. int | |
B. float | |
C. double | |
D. Integer | |
E. String | |
F. Float | |
Correct Answer: ADE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: A switch works with the byte, short, char, and int primitive data types. It also works with | |
enumerated types the String class, and a few special classes that wrap certain primitive types: Character, Byte, | |
Short, and Integer. | |
QUESTION 53 | |
Give: | |
public class MyFive { | |
static void main(String[] args) { | |
short ii; | |
short jj = 0; | |
for (ii = kk;ii > 6; ii -= 1) { // line x // | |
jj++; | |
} | |
System.out.println("jj = " + jj); | |
} | |
} | |
What value should replace KK in line x to cause jj = 5 to be output? | |
A. -1 | |
B. 1 | |
C. 5 | |
D. 8 | |
E. 11 | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: We need to get jj to 5. It is initially set to 0. So we need to go through the for loop 5 times. The for | |
loops ends when ii > 6 and ii decreases for every loop. So we need to initially set ii to 11. We set kk to 11. | |
QUESTION 54 | |
Given the code fragment: | |
Boolean b1 = true; | |
Boolean b2 = false; | |
int 1 = 0; | |
while (foo) {} | |
Which one is valid as a replacement for foo? | |
A. b1.compareTo(b2) | |
B. i = 1 | |
C. i == 2? -1:0 | |
D. "foo".equals("bar") | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: equals works fine on strings. equals produces a Boolean value. | |
QUESTION 55 | |
Given: | |
public class SuperTest | |
{ | |
public static void main(String[] args) | |
{ | |
statement1 | |
statement2 | |
statement3 | |
} | |
} | |
class Shape | |
{ | |
public Shape() | |
{ | |
System.out.println("Shape: constructor"); | |
} | |
public void foo() | |
{ | |
System.out.println("Shape: foo"); | |
} | |
} | |
class Square extends Shape | |
{ | |
public Square() | |
{ | |
super(); | |
} | |
public Square(String label) | |
{ | |
System.out.println("Square: constructor"); | |
} | |
public void foo() | |
{ | |
super.foo(); | |
} | |
public void foo(String label) | |
{ | |
System.out.println("Square: foo"); | |
} | |
} | |
What should statement1, statement2, and statement3, be respectively, in order to produce the result: | |
Shape: constructor | |
Square: foo | |
Shape: foo | |
A. Square square = new Square ("bar"); | |
square.foo ("bar"); | |
square.foo(); | |
B. Square square = new Square ("bar"); | |
square.foo ("bar"); | |
square.foo ("bar"); | |
C. Square square = new Square (); | |
square.foo (); | |
square.foo(bar); | |
D. Square square = new Square (); | |
square.foo (); | |
square.foo("bar"); | |
E. Square square = new Square (); | |
square.foo (); | |
square.foo (); | |
F. Square square = new Square (); | |
square.foo("bar"); | |
square.foo (); | |
Correct Answer: F | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 56 | |
Give: | |
Public Class Test { | |
} | |
Which two packages are automatically imported into the java source file by the java compiler? | |
A. Java.lang | |
B. Java.awt | |
C. Javax.net | |
D. Java.* | |
E. The package with no name | |
Correct Answer: AE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: For convenience, the Java compiler automatically imports three entire packages for each source | |
file: (1) the package with no name, (2) the java.lang package, and (3) the current package (the package for the | |
current file). | |
Note:Packages in the Java language itself begin with java. or javax. | |
QUESTION 57 | |
Given: | |
public class X implements Z | |
{ | |
public String toString() | |
{ | |
return "I am X"; | |
} | |
public static void main(String[] args) | |
{ | |
Y myY = new Y(); | |
X myX = myY; | |
Z myZ = myX; | |
System.out.println(myZ); | |
} | |
} | |
class Y extends X | |
{ | |
public String toString() | |
{ | |
return "I am Y"; | |
} | |
} | |
interface Z { } | |
What is the reference type of myZ and what is the type of the object it references? | |
A. Reference type is Z; object type is Z. | |
B. Reference type is Y; object type is Y. | |
C. Reference type is Z; object type is Y. | |
D. Reference type is X; object type is Z. | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Note: Because Java handles objects and arrays by reference, classes and array types are known | |
as reference types. | |
QUESTION 58 | |
Given: | |
class SampleClass | |
{ | |
} | |
class AnotherSampleClass extends SampleClass | |
{ | |
} | |
class Test | |
{ | |
public static void main(String[] args) | |
{ | |
SampleClass sc = new SampleClass(); | |
AnotherSampleClass asc = new AnotherSampleClass(); | |
sc = asc; | |
System.out.println("sc: " + sc.getClass()); | |
System.out.println("asc: " + asc.getClass()); | |
} | |
} | |
What is the result? | |
A. sc: class.Object | |
asc: class.AnotherSampleClass | |
B. sc: class.SampleClass | |
asc: class.AnotherSampleClass | |
C. sc: class.AnotherSampleClass | |
asc: class.SampleClass | |
D. sc: class.AnotherSampleClass | |
asc: class.AnotherSampleClass | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Note: The getClass method Returns the runtime class of an object. That Class object is the object | |
that is locked by static synchronized methods of the represented class. | |
Note: Because Java handles objects and arrays by reference, classes and array types are known as reference | |
types. | |
QUESTION 59 | |
Given the code fragment: | |
public static void main(String[] args) | |
{ | |
String [] table = {"aa", "bb", "cc"}; | |
int ii = 0; | |
for (String ss:table) | |
{ | |
while (ii < table.length) | |
{ | |
System.out.println (ii); | |
ii++; | |
break; | |
} | |
} | |
} | |
How many times is 2 printed? | |
A. zero | |
B. once | |
C. twice | |
D. thrice | |
E. it is not printed because compilation fails | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The outer loop will run three times, one time each for the elements in table. The break statement | |
breaks the inner loop immediately each time. 2 will be printed once only. | |
Note: If the line int ii = 0; is missing the program would not compile. | |
QUESTION 60 | |
Given: | |
public class SampleClass | |
{ | |
public static void main(String[] args) | |
{ | |
SampleClass sc, scA, scB; | |
sc = new SampleClass(); | |
scA = new SampleClassA(); | |
scB = new SampleClassB(); | |
System.out.println("Hash is : " + sc.getHash() + ", " + scA.getHash() + ", " + scB.getHash()); | |
} | |
public int getHash() | |
{ | |
return 111111; | |
} | |
} | |
class SampleClassA extends SampleClass | |
{ | |
public long getHash() | |
{ | |
return 44444444; | |
} | |
} | |
class SampleClassB extends SampleClass | |
{ | |
public long getHash() | |
{ | |
return 999999999; | |
} | |
} | |
What is the result? | |
A. Compilation fails | |
B. An exception is thrown at runtime | |
C. There is no result because this is not correct way to determine the hash code "Pass Any Exam. Any Time." - | |
www.actualtests.com 51 | |
Oracle 1z0-803 Exam | |
D. Hash is: 111111, 44444444, 999999999 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The compilation fails as SampleClassA and SampleClassB cannot override SampleClass because | |
the return type of SampleClass is int, while the return type of SampleClassA and SampleClassB is long. | |
Note: If all three classes had the same return type the output would be: | |
Hash is : 111111, 44444444, 999999999 | |
QUESTION 61 | |
Which two will compile, and can be run successfully using the command: | |
Java fred1 hello walls | |
A. class Fred1{ | |
public static void main (String args) { | |
System.out.println(args[1]); | |
} | |
} | |
B. class Fred1{ | |
public static void main (String [] args) { | |
System.out.println(args[2]); | |
} | |
} | |
C. class Fred1 { | |
public static void main (String [] args) { | |
System.out.println (args); | |
} | |
} | |
D. class Fred1 { | |
public static void main (String [] args) { | |
System.out.println (args [1]); | |
} | |
} | |
Correct Answer: CD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Throws java.lang.ArrayIndexOutOfBoundsException: 2 at certquestions.Fred1.main(Fred1.java:3) | |
C. Prints out: [Ljava.lang.String;@39341183 | |
D. Prints out: walls | |
QUESTION 62 | |
Given: | |
public abstract class Wow { | |
private int wow; | |
public wow (int wow) { | |
this.wow = wow; | |
} | |
public void wow () {} | |
private void wowza () {} | |
} | |
What is true about the class Wow? | |
A. It compiles without error. | |
B. It does NOT compile because an abstract class CANNOT have private methods. | |
C. It does NOT compile because an abstract class CANNOT have instance variables. | |
D. It does NOT compile because an abstract class must have at least one abstract method. | |
E. It does NOT compile because an abstract class must have a constructor with no arguments. | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: An abstract class is a class that is declared abstract--it may or may not include abstract methods | |
(not B, not D). Abstract classes cannot be instantiated, but they can be subclassed. | |
The code compiles with a failure for line 'public wow (int wow) {} | |
QUESTION 63 | |
Given: | |
class X | |
{ | |
static void m(int i) | |
{ | |
} | |
public static void main(String[] args) | |
{ | |
int j = 12; | |
m (j); | |
System.out.println(j); | |
} | |
} | |
What is the result? | |
A. 7 | |
B. 12 | |
C. 19 | |
D. Compilation fails | |
E. An exception is thrown at run time | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 64 | |
Which two statements are true? | |
A. An abstract class can implement an interface. | |
B. An abstract class can be extended by an interface. | |
C. An interface CANNOT be extended by another interface. | |
D. An interface can be extended by an abstract class. | |
E. An abstract class can be extended by a concrete class. | |
F. An abstract class CANNOT be extended by an abstract class. | |
Correct Answer: AE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Reference: http://docs.oracle.com/javase/tutorial/java/IandI/abstract.htm | |
QUESTION 65 | |
Given: | |
class Overloading { | |
int x(double d) { | |
System.out.println("one"); | |
return 0; | |
} | |
String x(double d) { | |
System.out.println("two"); | |
return null; | |
} | |
double x(double d) { | |
System.out.println("three"); | |
return 0.0; | |
} | |
public static void main(String[] args) { | |
new Overloading().x(4.0) | |
} | |
} | |
What is the result? | |
A. One | |
B. Two | |
C. Three | |
D. Compilation fails | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: overloading of the x method fails as the input argument in all three cases are double. To use | |
overloading of methods the argument types must be different. | |
Note: The Java programming language supports overloading methods, and Java can distinguish between | |
methods with different method signatures. This means that methods within a class can have the same name if | |
they have different parameter lists | |
QUESTION 66 | |
The catch clause argument is always of type___________. | |
A. Exception | |
B. Exception but NOT including RuntimeException | |
C. Throwable | |
D. RuntimeException | |
E. CheckedException | |
F. Error | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: Because all exceptions in Java are the sub-class ofjava.lang.Exception class, you can have a | |
single catch block that catches an exception of type Exception only. Hence the compiler is fooled into thinking | |
that this block can handle any exception. | |
See the following example: | |
try | |
{ | |
// ... | |
} | |
catch(Exception ex) | |
{ | |
// Exception handling code for ANY exception | |
} | |
You can also use the java.lang.Throwable class here, since Throwable is the parent class for the applicationspecific | |
Exception classes. However, this is discouraged in Java programming circles. This is because | |
Throwable happens to also be the parent class for the non-application specific Error classes which are not | |
meant to be handled explicitly as they are catered for by the JVM itself. | |
Note: The Throwable class is the superclass of all errors and exceptions in the Java language. Only objects | |
that are instances of this class (or one of its subclasses) are thrown by the Java Virtual Machine or can be | |
thrown by the Java throw statement. A throwable contains a snapshot of the execution stack of its thread at the | |
time it was created. It can also contain a message string that gives more information about the error. | |
QUESTION 67 | |
Given the code fragment: | |
1. ArrayList<Integer> list = new ArrayList<>(1); | |
2. list.add(1001); | |
3. list.add(1002); | |
4. System.out.println(list.get(list.size())); | |
What is the result? | |
A. Compilation fails due to an error on line 1. | |
B. An exception is thrown at run time due to error on line 3 | |
C. An exception is thrown at run time due to error on line 4 | |
D. 1002 | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The code compiles fine. | |
At runtime an IndexOutOfBoundsException is thrown when the second list item is added. | |
QUESTION 68 | |
View the Exhibit. | |
public class Hat { | |
public int ID =0; | |
public String name = "hat"; | |
public String size = "One Size Fit All"; | |
public String color=""; | |
public String getName() { return name; } | |
public void setName(String name) { | |
this.name = name; | |
} | |
} | |
Given | |
public class TestHat { | |
public static void main(String[] args) { | |
Hat blackCowboyHat = new Hat(); | |
} | |
} | |
Which statement sets the name of the Hat instance? | |
A. blackCowboyHat.setName = "Cowboy Hat"; | |
B. setName("Cowboy Hat"); | |
C. Hat.setName("Cowboy Hat"); | |
D. blackCowboyHat.setName("Cowboy Hat"); | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 69 | |
Given: | |
public class Two | |
{ | |
public static void main(String[] args) | |
{ | |
try | |
{ | |
doStuff(); | |
system.out.println("1"); | |
} | |
catch | |
{ | |
system.out.println("2"); | |
} | |
} | |
public static void do Stuff() | |
{ | |
if (Math.random() > 0.5) throw new RunTimeException(); doMoreStuff(); | |
System.out.println("3 "); | |
} | |
public static void doMoreStuff() | |
{ | |
System.out.println("4"); | |
} | |
} | |
Which two are possible outputs? | |
A. 2 | |
B. 4 3 1 | |
C. 1 2 3 | |
D. 1 3 4 | |
Correct Answer: AB | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 70 | |
Given: | |
public class MyFor | |
{ | |
public static void main(String[] args) | |
{ | |
for (int ii = 0; ii < 4; ii++) | |
{ | |
System.out.println("ii = "+ ii); | |
ii = ii +1; | |
} | |
} | |
} | |
What is the result? | |
A. ii = 0 | |
ii = 2 | |
B. ii = 0 | |
ii = 1 | |
ii = 2 | |
ii = 3 | |
C. ii = | |
D. Compilation fails. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 71 | |
Given the code fragment: | |
int [][] array2d = new int[2][3]; | |
System.out.println("Loading the data."); | |
for ( int x = 0; x < array2d.length; x++) | |
{ | |
for ( int y = 0; y < array2d[0].length; y++) | |
{ | |
System.out.println(" x = " + x); | |
System.out.println(" y = " + y); | |
// insert load statement here. | |
} | |
} | |
System.out.println("Modify the data. "); | |
for ( int x = 0; x < array2d.length; x++) | |
{ | |
for ( int y = 0; y < array2d[0].length; y++) | |
{ | |
System.out.println(" x = " + x); | |
System.out.println(" y = " + y); | |
// insert modify statement here. | |
} | |
} | |
Which pair of load and modify statement should be inserted in the code? The load statement should set the | |
array's x row and y column value to the sum of x and y | |
The modify statement should modify the array's x row and y column value by multiplying it by 2 | |
A. Load statement: array2d(x,y) = x + y; | |
Modify statement: array2d(x,y) = array2d(x,y) * 2 | |
B. Load statement: array2d[x y] = x + y; | |
Modify statement: array2d[x y] = array2d[x y] * 2 | |
C. Load statement: array2d[x,y] = x + y; | |
Modify statement: array2d[x,y] = array2d[x,y] * 2 | |
D. Load statement: array2d[x][y] = x + y; | |
Modify statement: array2d[x][y] = array2d[x][y] * 2 | |
E. Load statement: array2d[[x][y]] = x + y; | |
Modify statement: array2d[[x][y]] = array2d[[x][y]] * 2 | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 72 | |
Given: | |
public class DoBreak1 | |
{ | |
public static void main(String[] args) | |
{ | |
String[] table = {"aa", "bb", "cc", "dd"}; | |
for (String ss: table) | |
{ | |
if ( "bb".equals(ss)) | |
{ | |
continue; | |
} | |
System.out.println(ss); | |
if ( "cc".equals(ss)) | |
{ | |
break; | |
} | |
} | |
} | |
} | |
What is the result? | |
A. aa | |
cc | |
B. aa | |
bb | |
cc | |
C. cc | |
dd | |
D. cc | |
E. Compilation fails. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 73 | |
1. class StaticMethods { | |
2. static void one() { | |
3. two(); | |
4. StaticMethods.two(); | |
5. three(); | |
6. StaticMethods.four(); | |
7. } | |
8. static void two() { } | |
9. void three() { | |
10. one(); | |
11. StaticMethods.two(); | |
12. four(); | |
13. StaticMethods.four(); | |
14. } | |
15. void four() { } | |
16. } | |
Which three lines are illegal? | |
A. line 3 | |
B. line 4 | |
C. line 5 | |
D. line 6 | |
E. line 10 | |
F. line 11 | |
G. line 12 | |
H. line 13 | |
Correct Answer: CDH | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 74 | |
Which is a valid abstract class? | |
A. public abstract class Car { | |
protected void accelerate(); | |
} | |
B. public interface Car { | |
protected abstract void accelerate(); | |
} | |
C. public abstract class Car { | |
protected final void accelerate(); | |
} | |
D. public abstract class Car { | |
protected abstract void accelerate(); | |
} | |
E. public abstract class Car { | |
protected abstract void accelerate() { | |
//more car can do | |
}} | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 75 | |
View the exhibit: | |
public class Student | |
{ | |
public String name = ""; | |
public int age = 0; | |
public String major = "Undeclared"; | |
public boolean fulltime = true; | |
public void display() | |
{ | |
System.out.println("Name: " + name + " Major: " + major); | |
} | |
public boolean isFullTime() | |
{ | |
return fulltime; | |
} | |
} | |
Given: | |
Public class TestStudent | |
{ | |
public static void main(String[] args) | |
{ | |
Student bob = new Student (); | |
bob.name = "Bob"; | |
bob.age = 18; | |
bob.year = 1982; | |
} | |
} | |
What is the result? | |
A. year is set to 1982. | |
B. bob.year is set to 1982 | |
C. A runtime error is generated. | |
D. A compile time error is generated. | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 76 | |
Given the code fragment: | |
String name = "Spot"; | |
int age = 4; | |
String str ="My dog " + name + " is " + age; | |
System.out.println(str); | |
And | |
StringBuilder sb = new StringBuilder(); | |
Using StringBuilder, which code fragment is the best potion to build and print the following string My dog Spot is | |
4 | |
A. sb.append("My dog " + name + " is " + age); | |
System.out.println(sb); | |
B. sb.insert("My dog ").append( name + " is " + age); | |
System.out.println(sb); | |
C. sb.insert("My dog ").insert( name ).insert(" is " ).insert(age); | |
System.out.println(sb); | |
D. sb.append("My dog ").append( name ).append(" is " ).append(age); | |
System.out.println(sb); | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 77 | |
Given: | |
public class Main { | |
public static void main(String[] args) { | |
try { | |
doSomething(); | |
} | |
catch (SpecialException e) { | |
System.out.println(e); | |
}} | |
static void doSomething() { | |
int [] ages = new int[4]; | |
ages[4] = 17; | |
doSomethingElse(); | |
} | |
static void doSomethingElse() { | |
throw new SpecialException("Thrown at end of doSomething() method"); } | |
} | |
What is the output? | |
A. SpecialException: Thrown at end of doSomething() method | |
B. Error in thread "main" java.lang. | |
ArrayIndexOutOfBoundseror | |
C. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 | |
at Main.doSomething(Main.java:12) | |
at Main.main(Main.java:4) | |
D. SpecialException: Thrown at end of doSomething() method at Main.doSomethingElse(Main.java:16) | |
at Main.doSomething(Main.java:13) | |
at Main.main(Main.java:4) | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: The following line causes a runtime exception (as the index is out of bounds): ages[4] = 17; | |
A runtime exception is thrown as an ArrayIndexOutOfBoundsException. | |
Note: The third kind of exception (compared to checked exceptions and errors) is the runtime exception. | |
These are exceptional conditions that are internal to the application, and that the application usually cannot | |
anticipate or recover from. These usually indicate programming bugs, such as logic errors or improper use of | |
an API. | |
Runtime exceptions are not subject to the Catch or Specify Requirement. Runtime exceptions are those | |
indicated by RuntimeException and its subclasses. | |
QUESTION 78 | |
View the exhibit: | |
public class Student { | |
public String name = ""; | |
public int age = 0; | |
public String major = "Undeclared"; | |
public boolean fulltime = true; | |
public void display() { | |
System.out.println("Name: " + name + " Major: " + major); } | |
public boolean isFullTime() { | |
return fulltime; | |
} | |
} | |
Which line of code initializes a student instance? | |
A. Student student1; | |
B. Student student1 = Student.new(); | |
C. Student student1 = new Student(); | |
D. Student student1 = Student(); | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 79 | |
int [] array = {1,2,3,4,5}; | |
for (int i: array) { | |
if ( i < 2) { | |
keyword1 ; | |
} | |
System.out.println(i); | |
if ( i == 3) { | |
keyword2 ; | |
}} | |
What should keyword1 and keyword2 be respectively, in oreder to produce output 2345? | |
A. continue, break | |
B. break, break | |
C. break, continue | |
D. continue, continue | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 80 | |
int i, j=0; | |
i = (3* 2 + 4 +5 ) ; | |
j = (3 * ((2 + 4) + 5)); | |
System.out.println("i:"+ i + "\nj": + j); | |
What is the result? | |
A. i:16 | |
j:16 | |
B. 16 | |
C. i:15 | |
j:33 | |
D. 33 | |
E. i:16 | |
j:33 | |
F. 15 | |
G. i:15 | |
j:16 | |
H. 23 | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: It is obvious! | |
QUESTION 81 | |
boolean log3 = ( 5.0 != 6.0) && ( 4 != 5); | |
boolean log4 = (4 != 4) || (4 == 4); | |
System.out.println("log3:"+ log3 + \nlog4" + log4); | |
What is the result? | |
A. log3:false | |
log4:true | |
B. log3:true | |
log4:true | |
C. log3:true | |
log4:false | |
D. log3:false | |
log4:false | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 82 | |
Which statement will emoty the contents of a StringBuilder variable named sb? | |
A. sb.deleteAll(); | |
B. sb.delete(0, sb.size()); | |
C. sb.delete(0, sb.length()); | |
D. sb.removeAll(); | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 83 | |
Class StaticField { | |
static int i = 7; | |
public static void main(String[] args) { | |
StaticFied obj = new StaticField(); | |
obj.i++; | |
StaticField.i++; | |
obj.i++; | |
System.out.println(StaticField.i + " "+ obj.i); | |
} | |
} | |
What is the result? | |
A. 10 10 | |
B. 8 9 | |
C. 9 8 | |
D. 7 10 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 84 | |
Which two are valid array declaration? | |
A. Object array[]; | |
B. Boolean array[3]; | |
C. int[] array; | |
D. Float[2] array; | |
Correct Answer: AC | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 85 | |
Given: | |
class Overloading { | |
int x(double d) { | |
System.out.println("one"); | |
return 0; | |
} | |
String x(double d) { | |
System.out.println("two"); | |
return null; | |
} | |
double x(double d) { | |
System.out.println("three"); | |
return 0.0; | |
} | |
public static void main(String[] args) { | |
new Overloading().x(4.0); | |
} | |
} | |
What is the result? | |
A. one | |
B. two | |
C. three | |
D. Compilation fails. | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 86 | |
Given: | |
public class MainMethod { | |
void main() { | |
System.out.println("one"); | |
} | |
static void main(String args) { | |
System.out.println("two"); | |
} | |
public static void main(String[] args) { | |
System.out.println("three"); | |
} | |
void main(Object[] args) { | |
System.out.println("four"); | |
} | |
} | |
What is printed out when the program is excuted? | |
A. one | |
B. two | |
C. three | |
D. four | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 87 | |
Given: | |
public class ScopeTest { | |
int j, int k; | |
public static void main(String[] args) { | |
ew ScopeTest().doStuff(); } | |
void doStuff() { | |
nt x = 5; | |
oStuff2(); | |
System.out.println("x"); | |
} | |
void doStuff2() { | |
nt y = 7; | |
ystem.out.println("y"); | |
or (int z = 0; z < 5; z++) { | |
ystem.out.println("z"); | |
ystem.out.println("y"); | |
} | |
Which two items are fields? | |
A. j | |
B. k | |
C. x | |
D. y | |
E. z | |
Correct Answer: AB | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 88 | |
A method is declared to take three arguments. A program calls this method and passes only two arguments. | |
What is the results? | |
A. Compilation fails. | |
B. The third argument is given the value null. | |
C. The third argument is given the value void. | |
D. The third argument is given the value zero. | |
E. The third argument is given the appropriate falsy value for its declared type. | |
F. An exception occurs when the method attempts to access the third argument. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 89 | |
public class ForTest { | |
public static void main(String[] args) { | |
int[] arrar = {1,2,3}; | |
for ( foo ) { | |
} | |
} | |
} | |
Which three are valid replacements for foo so that the program will compiled and run? | |
A. int i: array | |
B. int i = 0; i < 1; i++ | |
C. ;; | |
D. ; i < 1; i++ | |
E. ; i < 1; | |
Correct Answer: ABC | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 90 | |
Given: | |
public class SampleClass { | |
public static void main(String[] args) { | |
AnotherSampleClass asc = new AnotherSampleClass(); SampleClass sc = new SampleClass(); | |
sc = asc; | |
System.out.println("sc: " + sc.getClass()); | |
System.out.println("asc: " + asc.getClass()); | |
}} | |
class AnotherSampleClass extends SampleClass { | |
} | |
What is the result? | |
A. sc: class Object | |
asc: class AnotherSampleClass | |
B. sc: class SampleClass | |
asc: class AnotherSampleClass | |
C. sc: class AnotherSampleClass | |
asc: class SampleClass | |
D. sc: class AnotherSampleClass | |
asc: class AnotherSampleClass | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 91 | |
Given the code fragment: | |
int b = 3; | |
if ( !(b > 3)) { | |
System.out.println("square "); | |
}{ | |
System.out.println("circle "); | |
} | |
System.out.println("..."); | |
What is the result? | |
A. square... | |
B. circle... | |
C. squarecircle... | |
D. Compilation fails. | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 92 | |
What is the proper way to defined a method that take two int values and returns their sum as an int value? | |
A. int sum(int first, int second) { first + second; } | |
B. int sum(int first, second) { return first + second; } | |
C. sum(int first, int second) { return first + second; } | |
D. int sum(int first, int second) { return first + second; } | |
E. void sum (int first, int second) { return first + second; } | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 93 | |
Which two are Java Exception classes? | |
A. SecurityException | |
B. DuplicatePathException | |
C. IllegalArgumentException | |
D. TooManyArgumentsException | |
Correct Answer: AC | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 94 | |
Given the for loop construct: | |
for ( expr1 ; expr2 ; expr3 ) { | |
statement; | |
} | |
Which two statements are true? | |
A. This is not the only valid for loop construct; there exits another form of for loop constructor. | |
B. The expression expr1 is optional. it initializes the loop and is evaluated once, as the loop begin. | |
C. When expr2 evaluates to false, the loop terminates. It is evaluated only after each iteration through the loop. | |
D. The expression expr3 must be present. It is evaluated after each iteration through the loop. | |
Correct Answer: BC | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
The for statement have this forms: | |
for (init-stmt; condition; next-stmt) { | |
body | |
} | |
There are three clauses in the for statement. | |
The init-stmt statement is done before the loop is started, usually to initialize an iteration variable. The condition | |
expression is tested before each time the loop is done. The loop isn't executed if the boolean expression is | |
false (the same as the while loop). The next-stmt statement is done after the body is executed. It typically | |
increments an iteration variable. | |
QUESTION 95 | |
public class StringReplace { | |
public static void main(String[] args) { | |
String message = "Hi everyone!"; | |
System.out.println("message = " + message.replace("e", "X")); } | |
} | |
What is the result? | |
A. message = Hi everyone! | |
B. message = Hi XvXryonX! | |
C. A compile time error is produced. | |
D. A runtime error is produced. | |
E. message = | |
F. message = Hi Xveryone! | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 96 | |
Which two statements are true for a two-dimensional array? | |
A. It is implemented as an array of the specified element type. | |
B. Using a row by column convention, each row of a two-dimensional array must be of the same size | |
C. At declaration time, the number of elements of the array in each dimension must be specified | |
D. All methods of the class Object may be invoked on the two-dimensional array. | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 97 | |
Which three statements are benefits of encapsulation? | |
A. allows a class implementation to change without changing the clients | |
B. protects confidential data from leaking out of the objects | |
C. prevents code from causing exceptions | |
D. enables the class implementation to protect its invariants | |
E. permits classes to be combined into the same package | |
F. enables multiple instances of the same class to be created safely | |
Correct Answer: ABD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Explanation: | |
QUESTION 98 | |
Which code fragment cause a compilation error? | |
A. float flt = 100F; | |
B. float flt = (float) 1_11.00; | |
C. float flt = 100; | |
D. double y1 = 203.22; | |
float flt = y1; | |
E. int y2 = 100; | |
float flt = (float) y2; | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Exception in thread "main" java.lang.Error: Unresolved compilation problem: | |
Type mismatch: cannot convert from double to float | |
QUESTION 99 | |
Given the code fragment: | |
String[] colors = {"red", "blue", "green", "yellow", "maroon", "cyan"}; | |
A. for (String c:colors) { | |
if (c.length() != 4) { | |
continue; | |
} | |
System.out.print(c + ", "); | |
} | |
B. for (String c:colors[]) { | |
if (c.length() <= 4) { | |
continue; | |
} | |
System.out.print(c + ", "); | |
} | |
C. for (String c: String[] colors) { | |
if (c.length() >= 3) { | |
continue; | |
} | |
System.out.print(c + ", "); | |
} | |
D. for (String c:colors) { | |
if (c.length() != 4) { | |
System.out.print(c + ", "); | |
continue; | |
} | |
} | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Exception in thread "main" java.lang.Error: Unresolved compilation problem: | |
Type mismatch: cannot convert from double to float | |
QUESTION 100 | |
Given: | |
class X { | |
static void m (int[] i) { | |
i[0] += 7; | |
} | |
public static void main (String[] args) { | |
int[] j = new int[1]; | |
j[0] = 12; | |
m(j); | |
System.out.println(j[0]); | |
} | |
} | |
A. 7 | |
B. 12 | |
C. 19 | |
D. Compilation fails. | |
E. An exception is thrown at runtime. | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 101 | |
Given: | |
class MarksOutOfBoundsException extends IndexOutOfBoundsException { } | |
public class GradingProcess { | |
void verify(int marks) throws IndexOutOfBoundsException { if (marks > 100) { | |
throw new MarksOutOfBoundsException(); | |
} | |
if (marks > 50) { | |
System.out.print("Pass"); | |
} else { | |
System.out.print("Fail"); | |
} | |
} | |
public static void main(String[] args) { | |
int marks = Integer.parseInt(args[2]); | |
try { | |
new GradingProcess().verify(marks); | |
} catch (Exception e) { | |
System.out.print(e.getClass()); | |
} | |
} | |
} | |
And the command line invocation: | |
java GradingProcess 89 50 104 | |
What is the result? | |
A. Pass | |
B. Fail | |
C. class MarksOutOfBoundsException | |
D. class IndexOutOfBoundsException | |
E. class Exception | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 102 | |
Given: | |
1. interface Pet { } | |
2. class Dog implements Pet { } | |
3. class Beagle extends Dog { } | |
Which three are valid? | |
A. Pet a = new Dog(); | |
B. Pet b = new Pet(); | |
C. Dog f = new Pet(); | |
D. Dog d = new Beagle(); | |
E. Pet e = new Beagle(); | |
F. Beagle c = new Dog(); | |
Correct Answer: ADE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 103 | |
Given the code fragment: | |
StringBuilder sb = new StringBuilder(); | |
sb.append("World"); | |
Which fragment prints Hello World? | |
A. sb.insert(0, "Hello "); | |
System.out.println(sb); | |
B. sb.append(0, "Hello "); | |
System.out.println(sb); | |
C. sb.add(0, "Hello "); | |
System.out.println(sb); | |
D. sb.set(0, "Hello "); | |
System.out.println(sb); | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 104 | |
Given: | |
package pkg1; | |
class Bb { } | |
public class Ee { | |
private Ee() { } | |
} | |
package pkg2; | |
final class Ww; | |
package pkg3; | |
public abstract class Dd { void m() { } } | |
And, | |
1. package pkg4; | |
2. import pkg1.*; | |
3. import pkg2.*; | |
4. import pkg3.*; | |
5. // insert a class definition here | |
Which two class definitions, when inserted independently at line 5, enable the code to compile? | |
A. class Cc extends Bb { } | |
B. class Cc extends Ww { } | |
C. class Cc extends Ee { } | |
D. class Cc extends Dd { } | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 105 | |
Given the code fragment: | |
class Student { | |
String name; | |
int age; | |
} | |
And, | |
1. public class Test { | |
2. public static void main (String[] args) { | |
3. Student s1 = new Student(); | |
4. Student s2 = new Student(); | |
5. Student s3 = new Student(); | |
6. s1 = s3; | |
7. s3 = s2; | |
8. s2 = null; | |
9. } | |
10. } | |
Which statement is true? | |
A. After line 8, three objects are eligible for garbage collection. | |
B. After line 8, two objects are eligible for garbage collection. | |
C. After line 8, one object is eligible for garbage collection. | |
D. After line 8, none of the objects are eligible for garbage collection. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 106 | |
Given: | |
public class Test { | |
public static void main (String[] args) { | |
char[] arr = {97, '\t', 'e', '\n', 'i', '\t', 'o'}; | |
for (char var: arr) { | |
System.out.print(var); | |
} | |
System.out.print("\nThe length is :" + arr.length); | |
} | |
} | |
What is the result? | |
A. a e | |
The length is : 2 | |
B. a e | |
i o | |
The length is : 4 | |
C. aeio | |
The length is : 4 | |
D. a e | |
i o | |
The length is : 7 | |
E. Compilation fails. | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 107 | |
Given the class definitrions: | |
class Shape { } | |
class Square extends Shape { } | |
Given the variable declarations: | |
Shape shape1 = null; | |
Square square1 = null; | |
Which four compile? | |
A. shape1 = (Square) new Square(); | |
B. shape1 = new Square(); | |
C. square1 = (Square) new Shape(); | |
D. square1 = new Shape(); | |
E. square1 = new Square(); | |
shape1 = square1; | |
F. shape1 = new Shape(); | |
square1 = shape1; | |
Correct Answer: ABCE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 108 | |
Given the code fragments: | |
9. class Student { | |
10. int rollnumber; | |
11. String name; | |
12. List courses = new ArrayList(); | |
13. // insert code fragment here | |
14. public String toString() { | |
15. return rollnumber + " : " + name + " : " + courses; | |
16. } | |
17. } | |
And, | |
public class Test { | |
public static void main (String[] args) { | |
List cs = new ArrayList(); | |
cs.add("Java"); | |
cs.add("C"); | |
Student s = new Student(123,"Fred",cs); | |
System.out.println(s); | |
} | |
} | |
Which code fragment, when inserted at line 13, enables class Test to print 123 : Fred : [Java, C] ? | |
A. private Student(int i, String name, List cs) { | |
/* initialization code goes here */ | |
} | |
B. public void Student(int i, String name, List cs) { | |
/* initialization code goes here */ | |
} | |
C. Student(int i, String name, List cs) { | |
/* initialization code goes here */ | |
} | |
D. Student(int i, String name, ArrayList cs) { | |
/* initialization code goes here */ | |
} | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 109 | |
Given: | |
public class Test2 { | |
public static void main (String[] args) { | |
int ar1[] = {2, 4, 6, 8}; | |
int ar2[] = {1, 3, 5, 7, 9}; | |
ar2 = ar1; | |
for (int e2 : ar2) { | |
System.out.print(" " + e2); | |
} | |
} | |
} | |
What is the result? | |
A. 2 4 6 8 | |
B. 2 4 6 8 9 | |
C. 1 3 5 7 | |
D. 1 3 5 7 9 | |
E. Compilation fails | |
F. An exception is thrown at runtime | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 110 | |
public class Test2 { | |
public static void doChange(int[] arr) { | |
for (int pos=0; pos < arr.length; pos++) { | |
arr[pos] = arr[pos] + 1; | |
} | |
} | |
public static void main (String[] args) { | |
int[] arr = {10, 20, 30}; | |
doChange(arr); | |
for (int x : arr) { | |
System.out.print(x + ", "); | |
} | |
doChange(arr); | |
System.out.print(arr[0] + ", " + arr[1] + ", " + arr[2]); } | |
} | |
What is the result? | |
A. 11, 21, 31, 11, 21, 31 | |
B. 11, 21, 31, 12, 22, 32 | |
C. 12, 22, 32, 12, 22, 32 | |
D. 10, 20, 30, 10, 20, 30 | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 111 | |
Given: | |
public class Natural { | |
private int i; | |
void disp() { | |
while (i <= 5) { | |
for (int i = 1; i <= 5; ) { | |
System.out.print(i + " "); | |
i++; | |
} | |
i++; | |
} | |
} | |
public static void main (String args[]) { | |
new Natural().disp(); | |
} | |
} | |
A. Prints 1 2 3 4 5 once | |
B. Prints 1 3 5 once | |
C. Prints 1 2 3 4 5 five times | |
D. Prints 1 2 3 4 5 six times | |
E. Compilation fails | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 112 | |
Given: | |
public class CheckIt { | |
public static void main (String[] args) { | |
if (doCheck()) { | |
System.out.print("square "); | |
} | |
System.out.print("..."); | |
} | |
public static int doCheck() { | |
return 0; | |
} | |
} | |
A. square... | |
B. ... | |
C. Compilation fails. | |
D. An exception is thrown at runtime. | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 113 | |
class Test { | |
public static void main (String[] args) { | |
int day = 1; | |
switch (day) { | |
case "7": | |
System.out.print("Uranus"); | |
case "6": | |
System.out.print("Saturn"); | |
case "1": | |
System.out.print("Mercury"); | |
case "2": | |
System.out.print("Venus"); | |
case "3": | |
System.out.print("Earth"); | |
case "4": | |
System.out.print("Mars"); | |
case "5": | |
System.out.print("Jupiter"); | |
} | |
} | |
} | |
Which two modifications, made independently, enable the code to compile and run? | |
A. adding a break statement after each print statement | |
B. adding a default section within the switch code-block | |
C. changing the string literals in each case label to integer | |
D. changing the type of the variable day to String | |
E. arranging the case labels in ascending order | |
Correct Answer: CD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 114 | |
Given: | |
class X { | |
static void m(StringBuilder sb1) { | |
sb1.append("er"); | |
} | |
public static void main (String[] args) { | |
StringBuilder sb2 = new StringBuilder("moth"); | |
m(sb2); | |
System.out.println(sb2); | |
} | |
} | |
What is the result? | |
A. moth | |
B. er | |
C. mother | |
D. Compilation fails. | |
E. An exception is thrown at run time | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 115 | |
Given: | |
public class DoWhile1 { | |
public static void main (String[] args) { | |
int i = 2; | |
do { | |
System.out.println(i); | |
} while (--i); | |
} | |
} | |
What is the result? | |
A. 1 | |
B. 2 | |
C. An exception is thrown at runtime | |
D. The loop executes infinite times | |
E. Compilation fails | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Exception in thread "main" java.lang.Error: Unresolved compilation problem: | |
Type mismatch: cannot convert from int to Boolean | |
QUESTION 116 | |
Given: | |
class X { | |
private X() { } | |
void one() { } | |
} | |
public class Y extends X { | |
private Y() { } | |
public static void main (String[] args) { | |
new Y().one(); | |
} | |
} | |
Which change will make this code compile? | |
A. Add the public modifier to the declaration of class X | |
B. Remove the private modifier from the X() constructor | |
C. Add the protected modifier to the declaration of the one() method | |
D. Remove the Y() constructor | |
E. Remove the private modifier from Y() constructor | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 117 | |
Given the code fragment: | |
class Test2 { | |
int fvar; | |
static int cvar; | |
public static void main(String[] args) { | |
Test2 t = new Test2(); | |
// insert code here to write field variables | |
} | |
} | |
Which two code fragments, inserted independently, enable the code to compile? | |
A. t.fvar = 200; | |
B. cvar = 400; | |
C. fvar = 200; | |
cvar = 400; | |
D. this.fvar = 200; | |
this.cvar = 400; | |
E. t.fvar = 200; | |
Test2.cvar = 400; | |
F. this.fvar = 200; | |
Test2.cvar = 400; | |
Correct Answer: AD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 118 | |
Given: | |
public class App { | |
public static void main(String[] args) { | |
char[] arr = {'A', 'e', 'I', 'O', 'u'}; | |
int count = 0; | |
for (int i = 0; i < arr.length; i++) { | |
switch (arr[i]) { | |
case 'A': | |
continue; | |
case 'a': | |
count++; | |
break; | |
case 'E': | |
count++; | |
break; | |
case 'I': | |
count++; | |
continue; | |
case 'O': | |
count++; | |
break; | |
case 'U': | |
count++; | |
} | |
} | |
System.out.print("Total match found: " + count); | |
} | |
} | |
What is the result? | |
A. Total match found: 1 | |
B. Total match found: 2 | |
C. Total match found: 3 | |
D. Total match found: 5 | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 119 | |
Given: | |
public class Series { | |
private boolean flag; | |
public void displaySeries() { | |
int num = 2; | |
while (flag) { | |
if (num % 7 == 0) | |
flag = false; | |
System.out.print(num); | |
num += 2; | |
} | |
} | |
public static void main (String[] args) { | |
new Series().displaySeries(); | |
} | |
} | |
What is the result? | |
A. 2 4 6 8 10 12 | |
B. 2 4 6 8 10 12 14 | |
C. Compilation fails | |
D. The program prints multiple of 2 infinite times | |
E. The program prints nothing | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 120 | |
Given: | |
public class MarkList { | |
int num; | |
public static void graceMarks(MarkList obj4) { | |
obj4.num += 10; | |
} | |
public static void main (String[] args) { | |
MarkList obj1 = new MarkList(); | |
MarkList obj2 = obj1; | |
MarkList obj3 = null; | |
obj2.num = 60; | |
graceMarks(obj2); | |
} | |
} | |
How many objects are created in the memory at runtime? | |
A. 1 | |
B. 2 | |
C. 3 | |
D. 4 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 121 | |
Given: | |
class X { | |
String str = "default"; | |
int ivalue = 17; | |
X(String s) { | |
str = s; | |
} | |
X(int i) { | |
ivalue = i; | |
} | |
void print() { | |
System.out.println(str + " " + ivalue); | |
} | |
public static void main(String[] args) { | |
new X("hello").print(); | |
new X(92).print(); | |
} | |
} | |
What is the result? | |
A. default 17 | |
hello 92 | |
B. hello 92 | |
default 17 | |
C. hello 17 | |
default 92 | |
D. default 92 | |
hello 17 | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 122 | |
Given: | |
abstract class X { | |
public abstract void methodX(); | |
} | |
interface Y { | |
public void methodY(); | |
} | |
Which two code fragments are valid? | |
A. class Z extends X implements Y { | |
public void methodZ() { } | |
} | |
B. abstract class Z extends X implements Y { | |
public void methodZ() { } | |
} | |
C. class Z extends X implements Y { | |
public void methodX() { } | |
} | |
D. abstract class Z extends X implements Y { | |
} | |
E. class Z extends X implements Y { | |
public void methodY() { } | |
} | |
Correct Answer: BD | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 123 | |
Which four statements are true regarding exception handling in Java? | |
A. In multicatch blocks, the subclass catch handler must be caught after the superclass catch handler. | |
B. A try block must be followed by either a catch or finally block | |
C. The Exception class is the superclass of all errors and exception in the Java language | |
D. A single catch block can handle more than one type of exception | |
E. A checked exception must be caught explicitly | |
F. In a catch block than can handle more than one exception, the subclass exception handler must be caught | |
before the superclass exception handler | |
Correct Answer: BDEF | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 124 | |
Given the code fragment: | |
class MySearch { | |
public static void main(String[] args) { | |
String url = "http://www.domain.com/index.html"; | |
if (XXXX) { | |
System.out.println("Found"); | |
} | |
} | |
} | |
Which code fragment, replace with XXXX, enables the code to print Found? | |
A. url.indexOf("com") != -1 | |
B. url.indexOf("com") | |
C. url.indexOf("com") == 19 | |
D. url.indexOf("com") != false | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 125 | |
Which three statements are true about the structure of a Java class? | |
A. A class can have only one private constructor. | |
B. A method can have the same name as a field. | |
C. A class can have overloaded static methods. | |
D. A public class must have a main method. | |
E. The methods are mandatory components of a class. | |
F. The fields need not be initialized before use. | |
Correct Answer: BCF | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 126 | |
A. | |
B. | |
C. | |
D. | |
Correct Answer: | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 127 | |
class Lang { | |
private String category = "procedura1"; | |
public static void main (String[] args) { | |
Lang obj1 = new Lang(); | |
Lang obj2 = new Lang(); | |
if (obj1.category == obj2.category) { | |
System.out.println("Equal"); | |
} else { | |
System.out.println("Not equal"); | |
} | |
if (obj1.category.equals(obj2.category)) { | |
System.out.println("Equal"); | |
} else { | |
System.out.println("Not equal"); | |
} | |
} | |
} | |
What is the result? | |
A. Equal | |
Not equal | |
B. Not equal | |
Equal | |
C. Equal | |
Equal | |
D. Not equal | |
Not equal | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 128 | |
Given the code fragment: | |
public static void main(Stirng[] args) { | |
int x = 353; | |
int j = x++; | |
switch (j) { | |
case 317: | |
case 353: | |
case 367: | |
System.out.println("Is a prime number."); | |
case 353: | |
case 363: | |
System.out.println("Is a palindrome."); | |
break; | |
default: | |
System.out.println("Invalid value."); | |
} | |
} | |
What is the result? | |
A. Compilation fails | |
B. Is a prime number. | |
C. Is a palindrome. | |
D. Is a prime number. | |
Is a palindrome. | |
E. Invalid value. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Exception in thread "main" java.lang.Error: Unresolved compilation problems: | |
Duplicate case | |
Duplicate case | |
QUESTION 129 | |
Given the code fragment: | |
boolean log1 = (1 < 9) && (1 > 5); | |
boolean log2 = (3 == 4) || (3 == 3); | |
System.out.println("log1:" + log1 + "\nlog2:" + log2); | |
What is the result? | |
A. log1: false | |
log2: true | |
B. log1: true | |
log2: true | |
C. log1: false | |
log2: false | |
D. log1: true | |
log2: false | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 130 | |
Given: | |
public class Case { | |
public static void main(String[] args) { | |
String product = "Pen"; | |
product.toLowerCase(); | |
product.concat(" BOX".toLowerCase()); | |
System.out.print(product.substring(4,6)); | |
} | |
} | |
What is the result? | |
A. box | |
B. cbo | |
C. bo | |
D. nb | |
E. An exception is thrown at runtime | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6 at | |
java.lang.String.substring(Unknown Source) | |
QUESTION 131 | |
Given: | |
class Cake { | |
int model; | |
String flavor; | |
Cake() { | |
model = 0; | |
flavor = "Unknown"; | |
} | |
} | |
public class Test { | |
public static void main(String[] args) { | |
Cake c = new Cake(); | |
bake1(c); | |
System.out.println(c.model + " " + c.flavor); | |
bake2(c); | |
System.out.println(c.model + " " + c.flavor); | |
} | |
public static Cake bake1(Cake c) { | |
c.flavor = "Strawberry"; | |
c.model = 1200; | |
return c; | |
} | |
public static void bake2(Cake c) { | |
c.flavor = "Chocolate"; | |
c.model = 1230; | |
return; | |
} | |
} | |
What is the result? | |
A. 0 Unknown | |
0 Unknown | |
B. 1200 Strawberry | |
1200 Strawberry | |
C. 1200 Strawberry | |
1230 Chocolate | |
D. Compilation fails | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 132 | |
Given: | |
class X { | |
static void m(String s1) { | |
s1 = "acting"; | |
} | |
public static void main(String[] args) { | |
String s2 = "action"; | |
m(s2); | |
System.out.println(s2); | |
} | |
} | |
What is the result? | |
A. acting | |
B. action | |
C. Compilation fails | |
D. An exception is thrown at runtime | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 133 | |
Given: | |
public class Painting { | |
private String type; | |
public String getType() { | |
return type; | |
} | |
public void setType(String type) { | |
this.type = type; | |
} | |
public static void main (String[] args) { | |
Painting obj1 = new Painting(); | |
Painting obj2 = new Painting(); | |
obj1.setType(null); | |
obj2.setType("Fresco"); | |
System.out.print(obj1.getType() + " : " + obj2.getType()); } | |
} | |
A. : Fresco | |
B. null : Fresco | |
C. Fresco : Fresco | |
D. A NullPointerException is thrown at runtime | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 134 | |
Which two statement correctly describe checked exception? | |
A. These are exceptional conditions that a well-written application should anticipate and recover | |
from. | |
B. These are exceptional conditions that are external to the application, and that the application | |
usually cannot anticipate or recover from. | |
C. These are exceptional conditions that are internal to the application, and that the application | |
usually cannot anticipate or recover from. | |
D. Every class that is a subclass of RuntimeException and Error is categorized as checked | |
exception. | |
E. Every class that is a subclass of Exception, excluding RuntimeException and its subclasses, is | |
categorized as checked exception. | |
Correct Answer: AE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 135 | |
Given the code fragment: | |
System.out.println( 28 + 5 <= 4 + 29 ); | |
System.out.println( ( 28 + 5 ) <= ( 4 + 29) ); | |
What is the result? | |
A. 28false29 | |
true | |
B. 285 < 429 | |
true | |
C. true | |
true | |
D. Compilation fails | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 136 | |
Given: | |
public class Access { | |
private int x = 0; | |
private int y = 0; | |
public static void main(String[] args) { | |
Access accApp = new Access(); | |
accApp.printThis(1, 2); | |
accApp.printThat(3, 4); | |
} | |
public void printThis(int x, int y) { | |
x = x; | |
y = y; | |
System.out.println("x:" + this.x + " y:" + this.y); | |
} | |
public void printThat(int x, int y) { | |
this.x = x; | |
this.y = y; | |
System.out.println("x:" + this.x + " y:" + this.y); | |
} | |
} | |
A. x:1 y:2 | |
x:3 y:4 | |
B. x:0 y:0 | |
x:3 y:4 | |
C. x:3 y:4 | |
x:0 y:0 | |
D. x:3 y:4 | |
x:1 y:2 | |
Correct Answer: | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 137 | |
Given: | |
public class Calculator { | |
public static void main(String[] args) { | |
int num = 5; | |
sum; | |
do { | |
sum += sum; | |
} while ((num--) > 1); | |
System.out.println("The sum is " + sum + "."); | |
} | |
} | |
What is the result? | |
A. The sum is 2. | |
B. The sum is 14. | |
C. The sum is 15. | |
D. The loop executes infinite times. | |
E. Compilation fails. | |
Correct Answer: | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
Exception in thread "main" java.lang.Error: Unresolved compilation problems: | |
The local variable sum may not have been initialized | |
The local variable sum may not have been initialized | |
QUESTION 138 | |
Given the code fragment: | |
5. // insert code here | |
6. | |
7. arr[0] = new int[3]; | |
8. arr[0][0] = 1; | |
9. arr[0][1] = 2; | |
10. arr[0][2] = 3; | |
11. | |
12. arr[1] = new int[4]; | |
13. arr[1][0] = 10; | |
14. arr[1][1] = 20; | |
15. arr[1][2] = 30; | |
16. arr[1][3] = 40; | |
Which two statements, when inserted independently at line 5, enable the code to compile? | |
A. int [][] arr = null; | |
B. int [][] arr = new int[2]; | |
C. int [][] arr = new int[2][]; | |
D. int [][] arr = new int[][4]; | |
E. int [][] arr = new int[2][0]; | |
F. int [][] arr = new int[0][4]; | |
Correct Answer: CE | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 139 | |
Given the code fragment: | |
12. for (int row = 4; row > 0; row--) { | |
13. int col = row; | |
14. while (col <= 4) { | |
15. System.out.print(col); | |
16. col++; | |
17. } | |
18. System.out.println(); | |
19. } | |
What is the result? | |
A. 4 | |
34 | |
234 | |
1234 | |
B. 4 | |
43 | |
432 | |
4321 | |
C. 4321 | |
432 | |
43 | |
4 | |
D. 4567 | |
345 | |
23 | |
1 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 140 | |
Given: | |
public class Test3 { | |
public static void main(String[] args) { | |
double[] array = {10, 20.23, 'c', 300.00f}; | |
for (double d : array) { | |
d = d + 10; | |
System.out.print(d + " "); | |
} | |
} | |
} | |
What is the result? | |
A. 20.0 30.23 109.0 310.0 | |
B. 20.0 30.23 c10 310.0 | |
C. Compilation fails. | |
D. An exception is thrown at runtime. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 141 | |
Given: | |
public class Test { | |
int sum = 0; | |
public void doCheck(int number) { | |
if (number %2 == 0) { | |
break; | |
} else { | |
for (int i = 0; i < number; i++) { | |
sum +=i; | |
} | |
} | |
} | |
public static void main(String[] args) { | |
Test obj = new Test(); | |
System.out.print("Red " + obj.sum); | |
obj.doCheck(2); | |
System.out.print("Orange " + obj.sum); | |
obj.doCheck(3); | |
System.out.print("Green " + obj.sum); | |
} | |
} | |
What is the result? | |
A. Red 0 | |
Orange 0 | |
Green 3 | |
B. Red 0 | |
Orange 0 | |
Green 6 | |
C. Red 0 | |
Orange 1 | |
Green 4 | |
D. Compilation fails | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 142 | |
Given this code in a file Traveler.java: | |
class Tours { | |
public static void main (String [] args) { | |
System.out.print("Happy Journey! " + args[1]); | |
} | |
} | |
public class Traveler { | |
public static void main (String[] args) { | |
Tours.main(args); | |
} | |
} | |
And the commands: | |
javac Traveler.java | |
java Traveler Java Duke | |
What is the result? | |
A. Happy Journey! Duke | |
B. Happy Journey! Java | |
C. An exception is thrown at runtime. | |
D. The program fails to execute due to a runtime error. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 143 | |
Which statement is true about the default constructor of a top-level class? | |
A. It can take arguments. | |
B. It has private access modifier in its declaration. | |
C. It can be overloaded. | |
D. The default constructor of a subclass always invokes the no-argument constructor of its superclass. | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 144 | |
Given: | |
public class X implements Z { | |
public String toString() { | |
return "X "; | |
} | |
public static void main(String[] args) { | |
Y myY = new Y(); | |
X myX = myY; | |
Z myZ = myX; | |
System.out.print(myX); | |
System.out.print((Y)myX); | |
System.out.print(myZ); | |
} | |
} | |
class Y extends X { | |
public String toString() { | |
return "Y "; | |
} | |
} | |
interface Z { } | |
A. X X X | |
B. X Y X | |
C. Y Y X | |
D. Y Y Y | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 145 | |
Given: | |
public class Vowel { | |
private char var; | |
public static void main (String[] args) { | |
char var1 = 'a'; | |
char var2 = var1; | |
var2 = 'e'; | |
Vowel obj1 = new Vowel(); | |
Vowel obj2 = obj1; | |
obj1.var = 'i'; | |
obj2.var = 'o'; | |
System.out.println(var1 + ", " + var2); | |
System.out.print(obj1.var + ", " + obj2.var); | |
} | |
} | |
What is the result? | |
A. a, e | |
i, o | |
B. a, e | |
o, o | |
C. e, e | |
i, o | |
D. e, e | |
o, o | |
Correct Answer: B | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 146 | |
class Star { | |
public void doStuff() { | |
System.out.println("Twinkling Star"); | |
} | |
} | |
interface Universe { | |
public void doStuff(); | |
} | |
class Sun extends Star implements Universe { | |
public void doStuff() { | |
System.out.println("Shining Sun"); | |
} | |
} | |
public class Bob { | |
public static void main(String[] args) { | |
Sun obj2 = new Sun(); | |
Star obj3 = obj2; | |
((Sun) obj3).doStuff(); | |
((Star) obj2).doStuff(); | |
((Universe) obj2).doStuff(); | |
} | |
} | |
What is the result? | |
A. Shining Sun | |
Shining Sun | |
Shining Sun | |
B. Shining Sun | |
Twinkling Star | |
Shining Sun | |
C. Compilation fails. | |
D. A ClassCastException is thrown at runtime. | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 147 | |
Given the code fragments: | |
public class TestA extends Root { | |
public static void main(String[] args) { | |
Root r = new TestA(); | |
System.out.println(r.method1()); // line n1 | |
System.out.println(r.method2()); // line n2 | |
} | |
} | |
class Root { | |
private static final int MAX = 20000; | |
private int method1() { | |
int a = 100 + MAX; // line n3 | |
return a; | |
} | |
protected int method2() { | |
int a = 200 + MAX; // line n4 | |
return a; | |
} | |
} | |
Which line cause a compilation error? | |
A. line n1 | |
B. line n2 | |
C. line n3 | |
D. line n4 | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 148 | |
Given: | |
public class VarScope { | |
public static void main (Stirng[] args) { | |
String color = "red"; | |
int qty = 10; | |
if (color.equals("red")) { // line n1 | |
int amount = qty * 10; | |
} else if (color.equals("green")) { | |
int amount = qty * 15; // line n2 | |
} else if (color.equals("blue")) { | |
int amount = qty * 5; // line n3 | |
} | |
System.out.print(amount); // line n4 | |
} | |
} | |
Which line causes a compilation error? | |
A. line n1 | |
B. line n2 | |
C. line n3 | |
D. line n4 | |
Correct Answer: D | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 149 | |
Given: | |
public class Test { | |
public static void main(String[] args) { | |
int i = 1; | |
do { | |
if ( i % 2 == 0) | |
continue; | |
if (i == 5) | |
break; | |
System.out.print(i + "\t"); | |
i++; | |
} while (true); | |
} | |
} | |
What is the result? | |
A. 1 3 | |
B. 2 4 | |
C. The program prints nothing. | |
D. Prints 1 infinite times. | |
E. Prints 1 once and the loop executes infinite times. | |
Correct Answer: E | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 150 | |
Which three statements are true regarding exception handling in Java? | |
A. A try block can be followed by multiple finally blocks. | |
B. A try block can be followed by a catch or finally block. | |
C. In multiple catch blocks, the superclass catch handler must be caught after the subclass catch handler | |
D. An unchecked exception must be caught explicitly. | |
E. A finally block can be written before the catch block. | |
F. Any Exception subclass can be used as the parent class of a user-defined exception. | |
Correct Answer: BCF | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 151 | |
public class Test { | |
public static void main (String[] args) { | |
int i = 25; | |
int j = i++ + 1; | |
if (j % 5 == 0) { | |
System.out.println(j + " is divisible by 5"); | |
} else { | |
System.out.println(j + " is not divisible by 5"); | |
} | |
System.out.println("Done"); | |
} | |
} | |
What is the result? | |
A. Compilation fails. | |
B. 25 is divisible by 5 | |
Done | |
C. 26 is not divisible by 5 | |
Done | |
D. 27 is not divisible by 5 | |
Done | |
Correct Answer: C | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 152 | |
Given the code fragment: | |
1. class Test { | |
2. public static void main(String[] args) { | |
3. Test t = new Test(); | |
4. int[] arr = new int[10]; | |
5. arr = t.subArray(arr, 0, 2); | |
6. } | |
7. // insert code fragment here | |
8. } | |
Which method definition can be inserted at line 7 to enable the code to compile? | |
A. public int[] subArray(int[] src, int start, int end) { return src; | |
} | |
B. public int subArray(int src, int start, int end) { | |
return src; | |
} | |
C. public int[] subArray(int src, int start, int end) { | |
return src; | |
} | |
D. public int subArray(int[] src, int start, int end) { | |
return src; | |
} | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: | |
QUESTION 153 | |
Given: | |
public class Test { } | |
From which class does the Java compiler implicitly derive Test? | |
A. Object | |
B. Class | |
C. An anonymous class | |
D. Objects | |
Correct Answer: A | |
Section: (none) | |
Explanation | |
Explanation/Reference: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment