Wednesday 24 June 2015

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.



1 2 345 6 7