1 . Consider the following line of code:
[code lang=”java”]
public class Test{
public void main(){
System.out.println("Hi");
}
public static void main (String [] args)
{
Test t=new Test();
t.main();
}
}
[/code]
What will be happen if you compile and run above code?
- It will not compile
- It will not run
- It will compile but will not run
- It will output “Hi”
2 . After execution of the code fragment below, what are the value of the variables x1, y1, and z1?
[code]
int x=10; int y =10; int z=10; int x1, y1, z1;
x1=++y;
y1=z++;
z1=z;
[/code]
Choose the one below:
- x1 = 10 , y1 = 10 and z1=10
- x1 = 10, y1 = 11, and z1=10
- x1=10, y1 = 10, and z1=11
- x1=11, y1=10, and z1=11
3 . What will be the output?
[code lang=”java”]
Class Test{
public int addTest(int x, int y)
{
x=x+1; y=y+1;
int z=(x+y);
return z;
}
public static void main(String [] args)
{
int x=10; int y=10; int z=0;
Test t=new Test();
z= t.addTest(x,y);
System.out.println("x="+x+", y="+y+", z="+z);
}
}
[/code]
Choose the one below:
- x=10, y=10, z=22
- x=11, y=11, z=22
- x=10, y=10, z=20
- x=11, y=11, z=20
4 . What will be the output of the program.?
Assume that MyList class is declared in MyList.java
and ListManager class is declared in ListManager.java file.
[code lang=”java”]
public class MyList{
int size=1;
public static void main(String [] args)
{
MyList list=new MyList();
list.size=10;
ListManager lm=new ListManager();
lm.expandList(list);
System.out.println("list.size="+list.size);
}
} //end of MyList
public class ListManager{
public void expandList(MyList l)
{
l.size=l.size+10;
}
}//end of ListManager
[/code]
Choose the one below:
- list.size=0
- list.size=10
- list.size=11
- list.size=20
5 . If int x = -1 then which of the following expression results in a positive value in x?
- x=x>>>32
- x=x>>>5
- x=x>>5
- x=~x
6 . Which of the following lines of code would print “Equal” when you run it?
- int x=1; float y=1.0F; if(x==y){ System.out.println(“Equal”);}
- int x=1; Integer y= new Integer(1); if(x==y) { System.out.println(“Equal”);}
- Integer x=new Integer(1); Integer y=new Intger(1); if(x==y){ System.out.println(“Equal”);}
- String x=”1″; String y=”1″; if (x==y) { System.out.println(“Equal”);}
7 . Which of the following declarations are correct for the top level class?
- public synchronized class MyTest extends Thread
- private class MyTest extends Thread
- public abstract class MyTest extends Thread
- class MyTest extends Thread
8 . Consider the following lines of code:
[code lang=”java”]
class Test{
String x;
public void testDemo(int n)
{
String y;
if ( n>0) {
y="Hello";
}
System.out.println(x+y);
}
public static void main(String [] args)
{
Test test=new Test();
test.testDemo(2);
}
}
[/code]
What will happen if you try to compile and run above code?
- It will produce compiler warning that variable y may not have been initialized
- It will produce compiler warning that variable x may not have been initialized
- It will output “Hello”
- It will output “nullHello”
9 . Consider that Parent and Child classes are defined in two different files as below:
[code lang=”java”]
class Parent{
public Parent(){
System.out.println("I am Parent");
}
}
class Child extends Parent{
public Child(int x){
System.out.println("I am Child");
}
public static void main(String [] args){
Child c=new Child(10);
}
}
[/code]
What will be output if you try to compile and run above code?
- It will not compile.
- It will compile successfully. It will output “I am Parent” and then “I am Child.”
- It will compile successfully. It will output “I am Child” and then “I am Parent.”
- It will compile successfully, but will not run.
10 . Consider following code:
[code lang=”java”]
public class MyList{
static int size;
public expandList(int newSize){
ListExpander lexp=new ListExpander();
Vector expandedList=lexp.expand();
class ListExpander{
public Vector expand(){
Vector v=new Vector(this.size+newSize);
return v;
}
}
}
}
[/code]
What will happen if you attempt to compile above code?
- compiler error, “cannot refer inside an inner class to a static variable.”
- compiler error, “cannot refer inside an inner class to to a non-final variable newSize defined in a different method.”
- Both of the above
- None of the above
11 . Consider following code:
[code lang=”java”]
public class Parent{
public int size =0;
static class InnerClass{
public void incrementParentSize(){
XXX=XXX+10;
}
}
}
[/code]
In above code, how can you access ‘size’ variable (of outer class Parent) inside innerclass at the place of ‘XXX’ ?
- super.size
- this.size
- Parent.size
- Can not access it
12 . Assume that Parent and Child classes are in different files:
[code lang=”java”]
public class Parent{
public Parent(int x, int y)
{
System.out.println("Created Parent");
}
}//end of Parent class
public class Child extends Parent{
public Child(int x, int y){
//
}
public Child(int x, int y, int z){
System.out.println("Creating child");
this(x,y);
}
public static void main(String [] args){
Child c=new Child(1,2,3);
}
}
[/code]
What will happen if you try to compile and run above program?
- It will compile successfully. It will output “Created Parent” and then “Creating child”
- It will compile successfully. It will output “Creating child” and then “Created Parent”
- It will not compile giving warning, “Explicit constructor invocation must be first statement in constructor.”
- It will not compile giving warning, “Expression is not a valid block statement.”
13 . Consider following code:
[code lang=”java”]
public class OuterClass{
class InnerClass{
}
public void innerClassDemo(){
//Explicit instance of InnerClass
}
}
[/code]
In above code, how can you explicitly create an instance of InnerClass?
- InnerClass i=InnerClass();
- InnerClass i=OuterClass.InnerClass();
- InnerClass i=new OuterClass ().new InnerClass();
- OuterClass.InnerClass i=new OuterClass.InnerClass();
14 . Please select valid array declaration(s):
- int x[20];
- int []x=new int[20];
- int [][] x=new int [20][];
- int [][][] x=new int[20][20][20];
- int [] x={1,2,3};
15 . Consider following code:
[code lang=”java”]
public class Test{
protected void demo() throws NumberFormatException, ArrayIndexOutOfBoundsException {
//something here
}
public void demo(String s){
//something here
}
}//end of Test class
[/code]
Please select true statement(s) for demo code?
- It is an example of overloading method
- It is an example of overriding method
- Both of the above
- None of the above
16 . For the following code, please consider that super class is defined in question #15:
[code lang=”java”]
public class MyTest extends Test{
private void demo() throws IndexOutOfBoundsException, ClassNotFoundException
{
//something here
}
}//end of MyTest class
[/code]
What will happen if you try to compile above code ?
- It will compile successfully.
- Compiler error: Exception java.lang.ClassNotFoundException in throws clause of void MyTest.demo() is not compatible with void Test.demo().
- Compiler error: Cannot reduce visibility of the inherited method from Test.
- Both B and C
17 . Consider the following code:
[code lang=”java”]
public class Test{
public void demo(String [] list){
try{
String s=list[list.length+1];
System.out.println(s);
}catch(ArrayIndexOutOfBoundException e){
return;
}finally{
System.out.println("Finally here.");
}
public static void main(String [] args){
Test t=new Test();
String [] list={"one","two"};
t.demo(list);
System.out.println("Done!");
}
}//end of Test class
[/code]
What happen if you try compile and run above code ?
- It will not compile.
- It will output “null” and then “Finally here.”
- It will output “Done!”
- It will output “Finally here” and then “Done!”
18 . Please consider following code:
[code lang=”java”]
public class Test{
public static void demo(String s)
{
debug("In demo:"+s);
}
private void debug(String s){
System.out.println(s);
}
public static void main(String [] args){
Test.demo("Hello");
}
}
[/code]
What will happen if you try to compile and run above code ?
- It will compile successfully, but will not run.
- It will compile successfully, and outputs “In demo:Hello.”
- It will not compile with error message “Can not make a static reference to the instance method named.”
- None of the above
19 . Consider the following code:
[code lang=”java”]
/** File Drawable.java */
public interface Drawable{
public void draw();
public void fill();
} /** End of file Drawable.java*/
/** File Circle.java */
public class Circle implements Drawable{
int center=0;
public void draw(){
System.out.println("Drawing circle");
}
public static void main(String [] args){
Circle c=new Circle();
c.draw();
}
} /** End of file Circle.java */
[/code]
If you attempt to compile and run Circle class what will be output?
- It will compile successfully, and outputs “Drawing circle.”
- It will not compile, and reports error: “class Circle must implement inherited abstract method void Drawable.fill.”
- It will not compile, and reports error: “Method Drawable.fill requires a body instead of a semicolon.”
- None of the above
20 . What will be the output?
[code lang=”java”]
int x=2; int y=3; int z=4;
if(x>2){
System.out.println("Tested x");
}if(y<3){
System.out.println("Tested y");
}if (z<=3){
System.out.println("Tested z");
}
[/code]
Choose the one below:
- Tested x.
- Tested y.
- Tested z.
- None of the above.
21 . Consider the following code:
[code lang=”java”]
for( int i=0;i<2;i++)
{
for(int j=i;j<3; j++)
{
if (i==j)
{
continue;
}
System.out.println("i="+i+" j="+j);
}
}
[/code]
Which lines would be part of the output?
- i = 0 j = 1
- i = 0 j = 2
- i = 1 j = 2
- None of the above
22 . Consider the following code:
[code lang=”java”]
int j=0;
for( int i=0;i<2;i++)
{
for (j=i; j<3; j++)
{
continue;
}
System.out.println("i = "+i+" j = "+j);
}
[/code]
Which lines would be part of the output?
- i = 0 j = 0
- i = 1 j = 1
- i = 0 j = 3
- i = 1 j =3
23 . Consider the following code:
[code lang=”java”]
int i=0; int j=0;
for( i=0;i<2;i++)
{
for (j=i; j<3; j++)
{
break;
}
System.out.println("i = "+i+" j = "+j);
}
[/code]
Which lines would be part of the output?
- i = 0 j = 0
- i = 1 j = 1
- i = 0 j = 3
- i = 1 j = 3
24 . Consider the following code:
[code lang=”java”]
int i, j=0;
outer:
for( i=0;i<2;i++)
{
for (j=i; j<3; j++)
{
continue outer;
}
System.out.println("i = "+i+" j = "+j);
}
[/code]
Which lines would be part of the output?
- i = 0 j = 0
- i = 1 j = 1
- i = 0 j = 3
- None of the above
25 . Consider the following code:
[code lang=”java”]
int i, j=0;
for( i=0;i<2;i++)
{
inner:
for ( j=i; j<3; j++)
{
break inner;
}
System.out.println("i = "+i+" j = "+j);
}
[/code]
Which lines would be part of the output?
- i = 0 j = 0
- i = 1 j = 1
- i = 0 j = 3
- None of the above
26 . What will be the output?
[code lang=”java”]
Thread currentThread=Thread.currentThread();
int priority = currentThread.getPriority();
Thread t1=new Thread();
t1.setPriority(9);
ThreadGroup tgrp=new ThreadGroup();
tgrp.setMaxPriority(10);
Thread t2=new Thread(tgrp,"t2");
System.out.println("Priority of t1="+t1.getPriority());
System.out.println("Priority of t2="+t2.getPriority());
[/code]
Choose the one below:
- Priority of t1=5 and Priority of t2=10
- Priority of t1=9 and Priority of t2=10
- Priority of t1=9 and Priority of t2=5
- Neither of above
27 . Consider the following code:
[code lang=”java”]
/** File Thread1.java */
class Thread1 implements Runnable{
public void run(){
System.out.println("Running Thread1");
}} /** End of file Thread1.java */
/** Thread2.java */
class Thread2 extends Thread{
public void run(){
System.out.println("Running Thread2");
}
public static void main(String [] args){
Thread1 t1= new Thread1();
Thread t2=new Thread2(t1);
t1.start();
t2.start();
}
}
/** End of Thread2.java*/
[/code]
If you try to compile and run above code what will be result?
- “Running thread1” following “Running thread2”
- “Running thread2” following “Running thread1”
- It will not compile because in Thread1 and Thread2 start() is not defined .
- It will not compile because constructor invoked to create Thread2 with arguments (Thread1) is not defined
28 . Consider the following code:
[code lang=”java”]
class MyThread extends Thread{
public void run(){
System.out.println("Done");
}
public void demo(){
System.out.println("Demo");
}
public static void main(String args[]){
MyThread th=new MyThread();
th.run();
th.stop();
th.demo();
}
}
[/code]
What will happen if you try to compile and run above code?
- It will throw an exception at th.run() because run() was called before calling start().
- It will throw an exception at th.demo() because Thread variable th was already stopped calling stop().
- It will output “Done” following “Demo”
- Neither of the above.
29 . Please consider following code:
[code]
String s1=" 5 + 5 = 10 ";
s1.trim();
s1.replace(‘+’, ‘-‘);
[/code]
How many String objects will be created after executing above code?
- 1
- 2
- 3
- 4
30 . What will be the output?
[code lang=”java”]
String s="Hi";
StringBuffer sb=new StringBuffer(s);
String s1=new String("There");
StringBuffer sb1=new StringBuffer(s1);
if(s==sb){
System.out.println("s==sb");
}if(s.equals(sb)){
System.out.println("s.equals(sb)");
}if(s1.equals(sb1)){
System.out.println("s1.equals(sb1)");
}
[/code]
Choose the one below:
- . It will not compile at if(s==sb) because operands on both side are not compatible
- A. It will print s1.equals(sb1)
- B. It will print s.equals(sb)
- C. It will compile successfully, but it will not output anything
31 . Consider that following code is declared in BussyThread.java file
[code lang=”java”]
public class BussyThread extends Thread{
public void run(){
for(int i=0;i<10; i++){
i=i-1;
}//end of for loop
}//end of run()
public static void main(String args[]){
BussyThread b1=new BussyThread();
BussyThread b2=new BussyThread();
b1.start();
b2.start();
}
}//end of class
[/code]
Above code will start two threads b1 and b2. Select True statements for above code?
- Only b1 thread will get chance to run
- Only b2 thread will get chance to run
- Both thread will get chance to run sharing CPU time
- Neither of the thread will be able to run.
32 . What changes in run() method of BussyThread will enable both threads to run?
- adding yield() into run method
- adding try{sleep(1000);}catch (InterruptedException e){} into run method
- adding wait(1000) into run method
- Neither of the above
33 . Consider the following classes are in MyThread.java, YourThread.java, and Driver.java files:
[code lang=”java”]
public class MyThread implements Runnable{
public void run(){
System.out.println("Running MyThread");
}
}//end of MyThread
public class YourThread extends Thread{
public YourThread(Runnable r){
super(r);
}
public void run(){
System.out.println("Running YourThread");
}
}//end of YourThread
public class Driver{
public static void main(String args []){
MyThread t1= new MyThread();
YourThread t2 = new YourThread(t1);
t2.start();
}
}//end of class
[/code]
If you try to run Driver class what will be result?
- It will output “Running MyThread.”
- It will output “Running YourThread.”
- It will output both “Running MyThread,” and “Running YourThread.”
- It will not run.
34 . Consider following code:
[code lang=”java”]
String s=null;
String t="null";
if (s==t)
{
System.out.println("s equal to t");
}else
{
System.out.println("s not equal to t");
}
[/code]
what will result if you try to compile and run above code?
- it compiles successfully, but throws NullpointerException at if (s==t)
- It will not compile.
- It compiles successfully and output “s equal to t”
- It compiles successfully and output “s not equal to t”
35 . Consider the following code:
[code lang=”java”]
public void demo(){
String s[];
if (s.equals(null))
{
System.out.println("s is null");
}else
{
System.out.println("s is not equal");
}
}
[/code]
What will be result if you try to compile and run above code?
- Compile error produced, “variable s may not have been initialized.”
- It compile successfully, but throws NullpointerException at if ( s.equals(null) )
- It compile successfully, and outputs “s is null.”
- It compile successfully, and outputs “s is not null.”
36 . Consider the following code:
[code lang=”java”]
public class MyList
{
private static final int MAX_SIZE = 10;
private Object [] list = new Object[MAX_SIZE];
public void add(Object obj)
{
int size=list.length;
if(size >= MAX_SIZE)
{
class ListExpander
{
public void expand()
{
Object temp [] = list;
list = new Object[size+MAX_SIZE];
for ( i=0;i<temp.length; i++)
{
list[i]=temp[i];
}
}//end of public void expand()
} end of class ListExpander
ListExpander listEx = new ListExpander();
listExp.expand();
list[size] = obj;
}//end of if
}//end of add
}//end of class MyList
[/code]
What will be result if you try to compile and run the above code?
- Compiler error reported, “Cannot refer inside an inner class to a non-final variable ‘size’ defined in a different method.”
- Compiler error reported, “Cannot refer inside an inner class to a private member variable ‘list’ defined in enclosing class MyList.”
- Compiler error reported, “Cannot refer inside an inner class to a static member variable MAX_SIZE defined in enclosing class MyList.”
- It compiles and runs successfully.
37 . Consider following example of an inner class:
[code lang=”java”]
public class MyTest{
public String publicVariable = "a";
private String privateVariable = "b";
public static int SIZE = 0;
private static int MAX_SIZE = 0;
public static DemoHelper{
public demo{
System.out.println("Demo = "+XXX);
}
}
}//end of inner class
}
[/code]
which variable of the MyTest class will be able to use in place of XXX?
- publicVariable
- privateVariable
- SIZE
- MAX_SIZE
38 . What will be result if you try to compile and run following code?
[code lang=”java”]
public class Record extends String{}
[/code]
Choose the one below:
- Compiler error reported, “Can not extend a final class.”
- Compiler error reported, “Must implement method int compareTo(Object).”
- Compile and run successfully.
- None of the above.
39 . Consider the following two classes:
[code lang=”java”]
public class Parent{
protected void demo() throws Exception{}
} // end of Parent class
public class Child extends Parent{
private void demo() {}
}
[/code]
What will be result if you try to compile above two classes?
- Compiler object for the method of a Child class, “Can not reduce the visibility of the inherited method.”
- Compiler object for demo() method of a Child class, “Inherited method is not compatible with void Parent.demo() throws Exception.”
- Compile successfully.
- None of the above
40 . Consider the following two classes:
[code lang=”java”]
public class Parent{
protected void demo() {}
} // end of Parent class
public class Child extends Parent{
public void demo() throws Exception{}
}
[/code]
What will be result if you try to compile above two classes?
- Compiler object for the method of a Child class, “Can not widen the visibility of the inherited method.”
- Compiler object for demo() method of a Child class, “Exception java.lang.Exception in throws clause of void Child.demo() is not compatible with void Parent.demo().”
- Compile successfully
- None of the above
41 . Consider the following two classes:
[code lang=”java”]
public class Parent{
protected void demo() {}
} // end of Parent class
public class Child extends Parent{
public int demo()
{return 0;}
}
[/code]
What will be result if you try to compile above two classes?
- Compiler object for the method of a Child class, “Can not widen the visibility of the inherited method.”
- Compiler object for the method of a Child class, “Return type is not compatible with void Parent.demo().”
- Compile successfully.
- None of the above
42 . Consider the following two classes:
[code lang=”java”]
public class Parent{
protected static void demo() {}
} // end of Parent class
public class Child extends Parent{
public void demo() {}
}
[/code]
What will be result if you try to compile above two classes?
- Compiler object for the method of a Child class, “Can not widen the visibility of the inherited method.”
- Compiler object for the method of a Child class, “inherited method void Child.demo() is not compatible with void Parent.demo().”
- Compiler object for the method of a Child class, “The instance method can not override the static method from Parent.”
- Compile successfully.
43 . Consider that class Employee and Salesman are in different file called Employee.java and Salesman.java:
[code lang=”java”]
/** Employee.java file*/
public class Employee{
int salary=1000;
public int getSalary(){
return salary;
}
}
/** End of Employee.java file*/
/** Salesman.java file*/
public class Salesman extends Employee{
int commission =100;
public int getSalary(){
return salary+commission;
}
public static void main(String [] args){
Salesman sm = new Salesman();
Employee em = sm;
System.out.println(em.getSalary());
}
}
/** End of Salesman.java file*/
[/code]
What will be result if you try to compile and run above code?
- Compiler error reported , “Type mismatch: Cannot convert from Salesman to Employee.”
- It compile successfully and outputs 1000.
- It compiles successfully and outputs 1100.
- None of the above
44 . Considering following code what will be the result if you try to compile the following code:
[code lang=”java”]
public abstract class Test{
public void demo(){
System.out.println("demo");
}
}
[/code]
Choose the one below:
- It will compile successfully.
- Compiler error reported, “An abstract method must be defined.”
- Compiler error reported, “Invalid declaration of class.”
- None of the above
45 . Considering following code what will be the result if you try to compile the following code:
[code lang=”java”]
public class Test{
public abstract void demo();
}
[/code]
Choose the one below:
- Compiler error reported, “Method requires a body instead of semicolon.”
- Compiler error reported, “Abstract methods are only defined by abstract classes.”
- Compile successfully.
- None of the above.
46 . The GenericList has the following method:
[code lang=”java”]
public void addItem(Object item)
[/code]
You are writing a class GroceryList that extends GenericList. Which of the following would be legal declarations of overloading methods?
Choose the one below:
- public void addItem(Vector item)
- public void addItem(Object [] items) throws Exception
- protected void addItem(Object item)
- All of the above
47 . What will be result if you try to compile the following code?
[code lang=”java”]
public class Parent{
String name=null;
public Parent(String n){
name=n;
}
}
public class Child extends Parent{
String type="X";
}
[/code]
Choose the one below:
- Compile successfully.
- Compiler error reported, because Parent class did not declare constructor with arguments ().
- Compiler error reported, because Child class did not declare a constructor.
- Both of the above B and C
48 . What will be legal statement in the following method?
[code lang=”java”]
public void demo(int x){
XXX y=10;
}
[/code]
Choose the one below:
- public int
- int
- final int
- static int
49 . What will be result if you try to compile and run following code fragement?
[code lang=”java”]
public void demo (String [] args){
int i=1;
for(int i=0;i<args.length;i++)
{
System.out.println(args[i]);
}
}
[/code]
Choose the one below:
- Compile successfully, but throws IndexOutOfBoundException during runtime.
- Compile error reported, “Local name i is already defined.”
- Throws NullPointerException during runtime
- None of the above
Answers
1 : 4 is correct.
2 : 4 is correct.
3 : 1 is correct.
4 : 4 is correct.
5 : 2 & 4 is correct.
6 : 1 & 4 is correct.
7 : 3 & 4 is correct.
8 : 1 is correct.
9 : 2 is correct.
10 : 2 is correct.
11 : 4 is correct.
12 : 3 & 4 is correct.
13 : 3 & 4 is correct.
14 : 2,3,4 & 5 is correct.
15 : 1 is correct.
16 : 4 is correct. This is an example of overriding method.
17 : 4 is correct.
18 : 3 is correct.
19 : 2 is correct.
20 : 4 is correct.
21 : 1,2 & 3 is correct.
22 : 3 & 4 is correct.
23 : 1 & 2 is correct.
24 : 4 is correct.
25 : 1 & 2 is correct.
26 : 3 is correct.
27 : 4 is correct.
28 : 3 is correct.
29 : 3 is correct.
30 : 1 is correct.
31 : 3 is correct.
32 : 1 & 2 is correct.
33 : 2 is correct.
34 : 4 is correct.
35 : 1 is correct.
36 : 1 is correct.
37 : 3 & 4 is correct.
38 : 1 is correct.
39 : 1 is correct.
40 : 2 is correct.
41 : 2 is correct.
42 : 3 is correct.
43 : 3 is correct.
44 : 1 is correct.
45 : 2 is correct.
46 : 1 & 2 is correct.
47 : 2 is correct.
48 : 2 & 3 is correct.
49 : 2 is correct.
Leave a Reply