Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

An SCJP 1.4 certification primer: Sample questions from the Whizlabs Java Certification (SCJP 1.4) Exam Simulator

Return to article.

Try your hand at the sample questions below for a free preview of what to expect from the SCJP exam. These questions and answers are provided courtesy of Whizlabs Software, a company that specializes in IT certification training software. See the article Resources to learn more about Whizlabs and other organizations that offer IT certification training.

Question 1

What will happen when you attempt to compile and run the following code? (Assume that the code is compiled and run with assertions enabled.)

      

	public class AssertTest
	{
		public void methodA(int i)
		{
			assert i >= 0 : methodB();
			System.out.println(i);
		}
	
		public void methodB()
		{
			System.out.println("The value must not be negative");
		}

		public static void main(String args[])
		{
			AssertTest test = new AssertTest();
			test.methodA(-10); 
		}	
	}	


Choices

A. It will print -10.

B. It will result in an assertion error showing the message: "The value must not be negative".

C. The code will not compile.

D. None of the above.

Correct choice: C

Explanation: Choice C is correct. An assert statement can take one of these two forms:

assert Expression1; 
assert Expression1 : Expression2;

In the second form, the second part of the statement must be an expression, that is, Expression2. In this code, the methodB() returns void, which is not an expression and hence it results in a compile-time error. The code will compile if methodB() returns any value such as int or String. Also, in both forms of the assert statement, Expression1 must have type boolean or a compile-time error will occur.

Question 2

What is displayed when the following code is executed?


class Parent
{
	private void method1()
	{
		System.out.println("Parent's method1()");
	}

	public void method2()
	{
		System.out.println("Parent's method2()");
		method1();
	}

}

class Child extends Parent
{
	public void method1()
	{
		System.out.println("Child's method1()");		
	}

	public static void main(String args[])
	{
		Parent p = new Child();
		p.method2();
	}
}


Choices

A. Compile-time error

B. Run-time error

C. Prints:

Parent's method2()
Parent's method1() 

D. Prints:

Parent's method2()
Child's method1() 

Correct choice: C

Explanation: Choice C is correct. The code will compile and run without error. The variable p refers to the Child class object. The statement p.method2() on execution will first look for method2() in the Child class. Since there is no method2() in the child class, the method2() of Parent class will be invoked, which will result in "Parent's method2()" being printed.

Note that from the method2(), there is a call to method1(). Because method1() of the Parent class is private, it will be invoked. Had method1() of the Parent class been public, protected, or friendly (default), the Child's method would have been called.

Source: Whizlabs Java Certification (SCJP 1.4) Exam Simulator. Whizlabs Software was cofounded by the author of this article.

Return to article.