文档库 最新最全的文档下载
当前位置:文档库 › Java_SCJP_Marcus_Green_SCJP_Exam_1

Java_SCJP_Marcus_Green_SCJP_Exam_1

Java_SCJP_Marcus_Green_SCJP_Exam_1
Java_SCJP_Marcus_Green_SCJP_Exam_1

Java Programmer Certification Mock Exam No 1

Last Updated 17 Oct 2000

This is my mock Exam No 1 based on the Objectives for the Sun Java Programmers Exam. It was created by Marcus Green (mail@https://www.wendangku.net/doc/a818567398.html,) and may be freely distributed so long as it is unmodified. Please email me if you have any corrections or comments, but please read this document first

https://www.wendangku.net/doc/a818567398.html,/getanswers.htm

If you obtained this exam from some other source please email me to let me know and check out the latest version at https://www.wendangku.net/doc/a818567398.html,

It really does come with answers

Yes, this is a long document (around 35 pages), if you cannot see the answers then you have not got the entire document, try reloading it untill you can see the answer to Question 60 and the words "End of document". The answers contain references to approximately which objective the question relates to. If you have a query about any of these questions, please, please include the full answer with the question.

Why not discuss this exam with other people ?

You can post a message on the discussion forum at https://www.wendangku.net/doc/a818567398.html,/discus (scroll down the messages to find the create new conversation button). You could also send me your question but I get heaps of email and my answer is likely to be slow and terse.

How does this compare with the real thing?

As of 5 Oct 200 the question format has changed very slightly. You will now get more questions that include snippets (though the ratio may be similar to this mock exam). Each question will also tell you how many of the options you need to pick. You can read more about these revisions at https://www.wendangku.net/doc/a818567398.html,/faq/ExamUpdate.htm. You should assume that the real thing will be harder though many people have told me that they get similar marks in the real thing to my exams..

Where can you find other Mock Exams?

Check out my FAQ at https://www.wendangku.net/doc/a818567398.html,/faq/jcertfaq.htm for links to other mock exams You will find links to many good mock exams that add up to hundreds of questions. You can check out my second mock exam that contains 60 question at https://www.wendangku.net/doc/a818567398.html,/mockexams/exam2.htm

If you think you have found an error:-

Please include which exam you are referring to, ie 1 or 2 (and maybe soon 3)

Read the questions carefully

I have tried to make the questions unambiguous (the meaning should be obvious), but make sure you have read what I have written now what you think I might have written. Thus if it says "Classes can be declared with the private modifier ", it means It is possible to declare a class with the private modifier and not that all classes in all situations can be declared as private. Each question may have one or more correct Answers.

Questions

Question 1)

Which of the following lines will compile without warning or error.

1) float f=1.3;

2) char c="a";

3) byte b=257;

4) boolean b=null;

5) int i=10;

Answer to Question 1

Question 2)

What will happen if you try to compile and run the following code

public class MyClass {

public static void main(String arguments[]) { amethod(arguments);

}

public void amethod(String[] arguments) {

System.out.println(arguments);

System.out.println(arguments[1]);

}

}

1) error Can't make static reference to void amethod.

2) error method main not correct

3) error array must include parameter

4) amethod must be declared with String

Answer to Question 2

Question 3)

Which of the following will compile without error

1)

import java.awt.*;

package Mypackage;

class Myclass {}

2)

package MyPackage;

import java.awt.*;

class MyClass{}

3)

/*This is a comment */

package MyPackage;

import java.awt.*;

class MyClass{}

Answer to Question 3

Question 4)

A byte can be of what size

1) -128 to 127

2) (-2 power 8 )-1 to 2 power 8

3) -255 to 256

4)depends on the particular implementation of the Java Virtual machine Answer to Question 4

Question 5)

What will be printed out if this code is run with the following command line? java myprog good morning

public class myprog{

public static void main(String argv[])

{

System.out.println(argv[2])

}

}

1) myprog

2) good

3) morning

4) Exception raised: "https://www.wendangku.net/doc/a818567398.html,ng.ArrayIndexOutOfBoundsException: 2" Answer to Question 5

Question 6)

Which of the following are keywords or reserved words in Java?

1) if

2) then

3) goto

4) while

5) case

Answer to Question 6

Question 7)

Which of the following are legal identifiers

1) 2variable

2) variable2

3) _whatavariable

4) _3_

5) $anothervar

6) #myvar

Answer to Question 7

Question 8)

What will happen when you compile and run the following code?

public class MyClass{

static int i;

public static void main(String argv[]){

System.out.println(i);

}

}

1) Error Variable i may not have been initialized

2) null

3) 1

4) 0

Answer to Question 8

Question 9)

What will happen if you try to compile and run the following code?

public class Q {

public static void main(String argv[]){

int anar[]=new int[]{1,2,3};

System.out.println(anar[1]);

}

}

1) 1

2) Error anar is referenced before it is initialized

3) 2

4) Error: size of array must be defined

Answer to Question 9

Question 10)

What will happen if you try to compile and run the following code?

public class Q {

public static void main(String argv[]){

int anar[]=new int[5];

System.out.println(anar[0]);

}

}

1) Error: anar is referenced before it is initialized

2) null

3) 0

4) 5

Answer to Question 10

Question 11)

What will be the result of attempting to compile and run the following code? abstract class MineBase {

abstract void amethod();

static int i;

}

public class Mine extends MineBase {

public static void main(String argv[]){

int[] ar=new int[5];

for(i=0;i < ar.length;i++)

System.out.println(ar[i]); }

}

1) a sequence of 5 0's will be printed

2) Error: ar is used before it is initialized

3) Error Mine must be declared abstract

4) IndexOutOfBoundes Error

Answer to Question 11

Question 12)

What will be printed out if you attempt to compile and run the following code ?

int i=1;

switch (i) {

case 0:

System.out.println("zero");

break;

case 1:

System.out.println("one");

case 2:

System.out.println("two");

default:

System.out.println("default");

}

1) one

2) one, default

3) one, two, default

4) default

Answer to Question 12

Question 13)

What will be printed out if you attempt to compile and run the following code?

int i=9;

switch (i) {

default:

System.out.println("default");

case 0:

System.out.println("zero");

break;

case 1:

System.out.println("one"); case 2:

System.out.println("two");

}

1) default

2) default, zero

3) error default clause not defined

4) no output displayed

Answer to Question 13

Question 14)

Which of the following lines of code will compile without error 1)

int i=0;

if(i) {

System.out.println("Hello");

}

2)

boolean b=true;

boolean b2=true;

if(b==b2) {

System.out.println("So true");

}

3)

int i=1;

int j=2;

if(i==1|| j==2)

System.out.println("OK");

4)

int i=1;

int j=2;

if(i==1 &| j==2)

System.out.println("OK");

Answer to Question 14

Question 15)

What will be output if you try to compile and run the following code, but there is

no file called Hello.txt in the current directory?.

import java.io.*;

public class Mine {

public static void main(String argv[]){

Mine m=new Mine();

System.out.println(m.amethod());

}

public int amethod() {

try {

FileInputStream dis=new FileInputStream("Hello.txt"); }catch (FileNotFoundException fne) {

System.out.println("No such file found");

return -1;

}catch(IOException ioe) {

} finally{

System.out.println("Doing finally");

}

return 0;

}

}

1) No such file found

2 No such file found ,-1

3) No such file found, Doing finally, -1

4) 0

Answer to Question 15

Question 16)

Which of the following statements are true?

1) Methods cannot be overriden to be more private

2) Static methods cannot be overloaded

3) Private methods cannot be overloaded

4) An overloaded method cannot throw exceptions not checked in the base class

Answer to Question 16

Question 17)

What will happen if you attempt to compile and run the following code?

1) Compile and run without error

2) Compile time Exception

3) Runtime Exception

class Base {}

class Sub extends Base {}

Base b=new Base();

Sub s=(Sub) b;

}

}

Answer to Question 17

Question 18)

Which of the following statements are true?

1) System.out.println( -1 >>> 2);will output a result larger than 10

2) System.out.println( -1 >>> 2); will output a positive number

3) System.out.println( 2 >> 1); will output the number 1

4) System.out.println( 1 <<< 2); will output the number 4

Answer to Question 18

Question 19)

You are browsing the Java HTML documentation for information on the

java.awt.TextField component. You want to create Listener code to respond to focus events. The only Listener method listed is addActionListener. How do you go about finding out about Listener methods?

1) Define your own Listener interface according to the event to be tracked

2) Use the search facility in the HTML documentation for the listener needed

3) Move up the hierarchy in the HTML documentation to locate methods in base classes

4) Subclass awt.event with the appropriate Listener method

Answer to Question 19

Question 20)

What will be displayed when you attempt to compile and run the following code

//Code start

import java.awt.*;

public class Butt extends Frame{

public static void main(String argv[]){

Butt MyBut=new Butt();

}

Butt(){

Button HelloBut=new Button("Hello");

Button ByeBut=new Button("Bye");

add(HelloBut);

add(ByeBut);

setSize(300,300);

setVisible(true);

//Code end

1) Two buttons side by side occupying all of the frame, Hello on the left and Bye on

the right

2) One button occupying the entire frame saying Hello

3) One button occupying the entire frame saying Bye

4) Two buttons at the top of the frame one saying Hello the other saying Bye

Answer to Question 20

Question 21)

What will be output by the following code?

public class MyFor{

public static void main(String argv[]){

int i;

int j;

outer:

for (i=1;i <3;i++)

inner:

for(j=1; j<3; j++) {

if (j==2)

continue outer;

System.out.println("Value for i=" + i + " Value for j=" +j);

}

}

}

1) Value for i=1 value for j=1

2) Value for i=2 value for j=1

3) Value for i=2 value for j=2

4) Value for i=3 value for j=1

Answer to Question 21

Question 22)

If g is a graphics instance what will the following code draw on the screen?.

g.fillArc(45,90,50,50,90,180);

1) An arc bounded by a box of height 45, width 90 with a centre point of 50,50, starting

at an angle of 90 degrees traversing through 180 degrees counter clockwise.

2) An arc bounded by a box of height 50, width 50, with a centre point of 45,90 starting

at an angle of 90 degrees traversing through 180 degrees clockwise.

3) An arc bounded by a box of height 50, width 50, with a top left at coordinates of 45,

90, starting at 90 degrees and traversing through 180 degrees counter clockwise.

4) An arc starting at 45 degrees, traversing through 90 degrees clockwise bounded by a

box of height 50, width 50 with a centre point of 90, 180.

Answer to Question 22

Question 23)

Which of the following methods can be legally inserted in place of the comment //Method Here ? class Base{

public void amethod(int i) { }

}

public class Scope extends Base{

public static void main(String argv[]){

}

//Method Here

}

1) void amethod(int i) throws Exception {}

2) void amethod(long i)throws Exception {}

3) void amethod(long i){}

4) public void amethod(int i) throws Exception {}

Answer to Question 23

Question 24)

Which of the following will output -4.0

1) System.out.println(Math.floor(-4.7));

2) System.out.println(Math.round(-4.7));

3) System.out.println(Math.ceil(-4.7));

4) System.out.println(Math.min(-4.7));

Answer to Question 24

Question 25)

What will happen if you attempt to compile and run the following code?

Integer ten=new Integer(10);

Long nine=new Long (9);

System.out.println(ten + nine);

int i=1;

System.out.println(i + ten);

1) 19 followed by 20

2) 19 followed by 11

3) Error: Can't convert java lang Integer

4) 10 followed by 1

Answer to Question 25

Question 26)

If you run the code below, what gets printed out?

String s=new String("Bicycle");

int iBegin=1;

char iEnd=3;

System.out.println(s.substring(iBegin,iEnd));

1) Bic

2) ic

3) icy

4) error: no method matching substring(int,char)

Answer to Question 26

Question 27)

If you wanted to find out where the position of the letter v (ie return 2) in the string s containing "Java", which of the following could you use?

1) mid(2,s);

2) charAt(2);

3) s.indexOf('v');

4) indexOf(s,'v');

Answer to Question 27

Question 28)

Given the following declarations

String s1=new String("Hello")

String s2=new String("there");

String s3=new String();

Which of the following are legal operations?

1) s3=s1 + s2;

2) s3=s1-s2;

3) s3=s1 & s2;

4) s3=s1 && s2

Answer to Question 28

Question 29)

What is the result of the following operation?

System.out.println(4 | 3);

1) 6

2) 0

3) 1

4) 7

Answer to Question 29

Question 30)

public class MyClass1 {

public static void main(String argv[]){ }

/*Modifier at XX */ class MyInner {}

}

What modifiers would be legal at XX in the above code?

1) public

2) private

3) static

4) friend

Answer to Question 30

Question 31)

How would you go about opening an image file called MyPicture.jpg

1) Graphics.getGraphics("MyPicture.jpg");

2) Image image=Toolkit.getDefaultToolkit().getImage("MyPicture.jpg");

3) Graphics.openImage("MyPicture");

4) Image m=new Image("MyPicture");

Answer to Question 31

Question 32)

An Applet has its Layout Manager set to the default of FlowLayout. What code would be correct to change to another Layout Manager.

1) setLayoutManager(new GridLayout());

2) setLayout(new GridLayout(2,2));

3) setGridLayout(2,2);

4) setBorderLayout();

Answer to Question 32

Question 33)

What will happen when you attempt to compile and run the following code?.

1) It will compile and the run method will print out the increasing value of i.

2) It will compile and calling start will print out the increasing value of i.

3) The code will cause an error at compile time.

4) Compilation will cause an error because while cannot take a parameter of true.

class Background implements Runnable{

int i=0;

public int run(){

while(true){

i++;

System.out.println("i="+i);

} //End while

return 1;

}//End run

}//End class

Answer to Question 33

Question 34)

You have created an applet that draws lines. You have overriden the paint operation and used the graphics drawLine method, and increase one of its parameters to multiple lines across the screen. When you first test the applet you find that the news lines are redrawn, but the old lines are erased. How can you modify your code to allow the old lines to stay on the screen instead of being cleared.

1) Override repaint thus

public void repaint(Graphics g){

paint(g);

}

2)Override update thus

public void update(Graphics g) {

paint(g);

}

3) turn off clearing with the method setClear();

4) Remove the drawing from the paint Method and place in the calling code

Answer to Question 34

Question 35)

What will be the result when you attempt to compile and run the following code?. public class Conv{

public static void main(String argv[]){

Conv c=new Conv();

String s=new String("ello");

c.amethod(s);

}

public void amethod(String s){

char c='H';

c+=s;

System.out.println(c);

}

}

1) Compilation and output the string "Hello"

2) Compilation and output the string "ello"

3) Compilation and output the string elloH

4) Compile time error

Answer to Question 35

Question 36)

Given the following code, what test would you need to put in place of the comment line? //place test here

to result in an output of

Equal

public class EqTest{

public static void main(String argv[]){

EqTest e=new EqTest();

}

EqTest(){

String s="Java";

String s2="java";

//place test here {

System.out.println("Equal");

}else

{

System.out.println("Not equal");

}

}

}

1) if(s==s2)

2) if(s.equals(s2)

3) if(s.equalsIgnoreCase(s2))

4)if(s.noCaseMatch(s2))

Answer to Question 36

Question 37)

Given the following code

import java.awt.*;

public class SetF extends Frame{

public static void main(String argv[]){

SetF s=new SetF();

s.setSize(300,200);

s.setVisible(true);

}

}

How could you set the frame surface color to pink

1)s.setBackground(Color.pink);

2)s.setColor(PINK);

3)s.Background(pink);

4)s.color=Color.pink

Answer to Question 37

Question 38)

How can you change the current working directory using an instance of the File class called FileName?

1) FileName.chdir("DirName")

2) FileName.cd("DirName")

3) FileName.cwd("DirName")

4) The File class does not support directly changing the current directory.

Answer to Question 38

If you create a TextField with a constructor to set it to occupy 5 columns, what difference will it make if you use it with a proportional font (ie Times Roman) or a fixed pitch typewriter style font (Courier).

1)With a fixed font you will see 5 characters, with a proportional it will depend on the width of the characters

2)With a fixed font you will see 5 characters,with a proportional it will cause the field to expand to fit the text

3)The columns setting does not affect the number of characters displayed

4)Both will show exactly 5 characters

Answer to Question 39

Question 40)

Given the following code how could you invoke the Base constructor that will print out the string "base constructor";

class Base{

Base(int i){

System.out.println("base constructor");

}

Base(){

}

}

public class Sup extends Base{

public static void main(String argv[]){

Sup s= new Sup();

//One

}

Sup()

{

//Two

}

public void derived()

{

//Three

}

}

1) On the line After //One put Base(10);

2) On the line After //One put super(10);

3) On the line After //Two put super(10);

4) On the line After //Three put super(10);

Answer to Question 40

Given the following code what will be output?

public class Pass{

static int j=20;

public static void main(String argv[]){

int i=10;

Pass p = new Pass();

p.amethod(i);

System.out.println(i);

System.out.println(j);

}

public void amethod(int x){

x=x*2;

j=j*2;

}

}

1) Error: amethod parameter does not match variable

2) 20 and 40

3) 10 and 40

4) 10, and 20

Answer to Question 41

Question 42)

What code placed after the comment //For loop would populate the elements of the array ia[] with values of the variable i.?

public class Lin{

public static void main(String argv[]){

Lin l = new Lin();

l.amethod();

}

public void amethod(){

int ia[] = new int[4];

//Start For loop

{

ia[i]=i;

System.out.println(ia[i]);

}

}

}

1) for(int i=0; i < ia.length() -1; i++)

2) for (int i=0; i< ia.length(); i++)

3) for(int i=1; i < 4; i++)

4) for(int i=0; i< ia.length;i++)

Answer to Question 42

Question 43)

What will be the result when you try to compile and run the following code? private class Base{

Base(){

int i = 100;

System.out.println(i);

}

}

public class Pri extends Base{

static int i = 200;

public static void main(String argv[]){

Pri p = new Pri();

System.out.println(i);

}

}

1) Error at compile time

2) 200

3) 100 followed by 200

4) 100

Answer to Question 43

Question 44)

What will the following code print out?

public class Oct{

public static void main(String argv[]){

Oct o = new Oct();

o.amethod();

}

public void amethod(){

int oi= 012;

System.out.println(oi);

}

}

1)12

2)012

3)10

4)10.0

Answer to Question 44

Question 45

What will happen when you try compiling and running this code?

public class Ref{

public static void main(String argv[]){

Ref r = new Ref();

r.amethod(r);

}

public void amethod(Ref r){

int i=99;

multi(r);

System.out.println(i);

}

public void multi(Ref r){

r.i = r.i*2;

}

}

1) Error at compile time

2) An output of 99

3) An output of 198

4) An error at runtime

Answer to Question 45

Question 46)

You need to create a class that will store a unique object elements. You do not need to sort these elements but they must be unique.

What interface might be most suitable to meet this need?

1)Set

2)List

3)Map

4)Vector

Answer to Question 46

Question 47)

Which of the following will successfully create an instance of the Vector class and add an element?

1) Vector v=new Vector(99);

v[1]=99;

2) Vector v=new Vector();

v.addElement(99);

3) Vector v=new Vector();

v.add(99);

4 Vector v=new Vector(100);

v.addElement("99");

Answer to Question 47

Question 48)

You have created a simple Frame and overridden the paint method as follows

public void paint(Graphics g){

g.drawString("Dolly",50,10);

}

What will be the result when you attempt to compile and run the program?

1) The string "Dolly" will be displayed at the centre of the frame

2) An error at compilation complaining at the signature of the paint method

3) The lower part of the word Dolly will be seen at the top of the frame, with the top hidden.

4) The string "Dolly" will be shown at the bottom of the frame.

Answer to Question 48

Question 49)

What will be the result when you attempt to compile this program?

public class Rand{

public static void main(String argv[]){

int iRand;

iRand = Math.random();

System.out.println(iRand);

}

}

1) Compile time error referring to a cast problem

2) A random number between 1 and 10

3) A random number between 0 and 1

4) A compile time error about random being an unrecognised method

Answer to Question 49

Question 50)

Given the following code

import java.io.*;

public class Th{

public static void main(String argv[]){

Th t = new Th();

t.amethod();

}

public void amethod(){

try{

ioCall();

}catch(IOException ioe){}

}

}

What code would be most likely for the body of the ioCall method

1) public void ioCall ()throws IOException{

DataInputStream din = new DataInputStream(System.in); din.readChar();

}

2) public void ioCall ()throw IOException{

DataInputStream din = new DataInputStream(System.in); din.readChar();

}

3) public void ioCall (){

DataInputStream din = new DataInputStream(System.in); din.readChar();

}

4) public void ioCall throws IOException(){

DataInputStream din = new DataInputStream(System.in);

din.readChar();

}

Answer to Question 50

Question 51)

What will happen when you compile and run the following code?

public class Scope{

private int i;

public static void main(String argv[]){

Scope s = new Scope();

s.amethod();

}//End of main

public static void amethod(){

System.out.println(i);

相关文档