Theory Questions on BlueJ/Java
(Note: Questions are collected from different ICSE Text Books, Question BANK and Specimen Paper. This page is update frequently, so visit this page frequently. (*) marks Questions are may not be so important according to ICSE Syllabus or ICSE Exam point of view).
[ Last Updated on : Sunday, March 25, 2012 ]

Select a Topic

[1] Introduction to a Java [2] Concept of Object & Class
[3] Class as the Basis of all Computation [4] Constructors
[5] Functions [6] Class as a User Define Type
[7] Decision Making [8] Iteration
[9] Using Library Class [10] Encapsulation
[11] Arrays [12] Operation of File
Program Output Fill in the Blanks
Multiple Choice Questions  

Introduction to Java & Blue Environment

[ICSE Syllabus on this Topic]
Not mention anything about this topic. but these questions are must be known by students.

Q. Why is Java often termed as a platform?
Ans: Platform is the environment in which programs execute. Instead of interacting with the Operating System directly, Java programs runs on a virtual machine provided by Java, therefore Java is often referred to as a platform also.
Q. What is a bytecode?
Ans: Bytecode is a set of pseudo mechanic language instructions that are understood by the JVM (Java Virtual Machine) and are independent of the underlying hardware.
Q. What do you understand by JVM?
Ans: JVM or Java Virtual Machine is an abstract machine designed to be implemented on top of existing processors. It hides the underlying OS from Java application. Programs written in Java are compiled into Java byte-code, which is then interpreted by a special java Interpreter for a specific platform. Actually this Java interpreter is known as Java Virtual Machine (JVM).
Q. What is JDK (Java Development Kit)?
Ans: The Java development kit comes with a collection of tools that are used for developing and running java programs.
Q. What are Java APIs?
Ans: The Java APIs (Application Program Interface) consist of libraries of pre-compiled code that programmers can use in their application.
Q. Write the five characteristics of Java/BlueJ?
Ans: 1. Write Once Run Anywhere 2. Light weight code 3. Security 4. Built in Graphics 5. Object Oriented Language 6. Support Multimedia 7. Platform Independent. 8. Open Product.
Q. What do you know about BlueJ?
Ans: BlueJ is a Java development environment. It is an IDE (Integrated Development Environment), which includes an editor a debugger and a viewer.
Q. How you create, compile and execute a program in Java or BlueJ? Explain your answer?
Ans: Create: Click on new class button from BlueJ editor, then type the class name a program icon will be created. double click on it, a program editor will be open, erase the code and type your program coding. Compile: click the compile button on the left of the window or right click on the class icon and select compile from the menu options. Execute: Right click on the class icon and select new class name option. A dialogue box appears type the name of the object. A object icon will be created at the bottom. Right click on the object icon and select the method we want to execute.
Q. The two types of Java programs/applications are? [2007]
Ans: The two types of Java Applications are 'Internet Applets' and 'Stand alone application'.
Q. State the distinguishing features of Java and C++?
Ans: (i) Java does not support operator overloading.
(ii) Java does not use pointers.
(iii) There are no header files in Java.
(iv) Java does not have template classes as in C++.
Q. State the differences between Syntax errors and Logical errors.
Ans: The compiler can only translate a program if the program is syntactically correct; otherwise the compilation fails and you will not be able to run your program. Syntax refers to the structure of your program and the rules about that structure.
The second type of error is a run-time error, so-called because the error does not appear until you run the program. In Java, run-time errors occur when the interpreter is running the byte code and something goes wrong.
Q. "Object is an instance of a class", explain
Ans: Object of a class contains data and functions provided in a class. it possesses all the features of a class. Hence object is termed as instance of a class.
Q. Name four basic features of JAVA.
Ans: Basic features of Java as follows:
i) It is an object oriented language.
ii) Java program is both compiled and interpreted.
iii) Java program can be application or applet.
iv) java is case sensitive language, i.e. it distinguished upper and lower case letters.
Q. Differentiate between Compiler and Interpreter.
Ans: Compiler convert source code to machine language whole at a time. Interpreter converts program from high level language to machine level language line by line or statement by statement.
Q. Java uses compiler as well as interpreter, explain.
Ans: Java compiler converts Java source code to byte code. This byte code is further converted into machine code to make it applicable for the specific platform by using interpreter.
Q. Differentiate between Source code and Byte code.
Ans: Source code is the program developed in Java Language, which is input to a computer through the keyboard. Compiler converts source code to byte code for interpretation.
Q. Differentiate between Testing and Debugging.
Ans: Testing is the process of checking program logic manually to ensure whether it contains any error or not. Debugging is the process of removing errors from a program.

Elementary Concepts of Object & Class

[ICSE Syllabus on this Topic]
Modeling entities and their behavior by objects. A class as a specification of objects and as an object factory, computation as message passing/function call between objects (many example should be done to illustrate this). Object encapsulate state (attribute) and have behaviors (functions). Class as a user defined type.

Q. What is an Object? [2006]
Ans: An Object is an identifiable entity with some characteristics and behavior. E.g. take a class 'Car'. A car class has characteristics like colour, gears, power, length etc. now we create the object of that class 'Car' namely 'Indica'.
Q. What is OOP? What are the features/concepts in OOP's? [2007]
                  OR
Name any two OOP'S principles. [2005]
Ans: The Object Oriented Programming Paradigm is the latest in the software development and the most adopted one in the programming development. The Paradigm means organising principle of a program. It is an approach to programming. The concepts of OOP's are: (1) Data Abstraction (2) Data Encapsulation (3) Modularity (4) Inheritance (5) Polymorphism.
Q. Explain all the Concepts of OOP's?
Ans: Abstraction: It refers to the act of representing essential features without including the background details or explanation. Encapsulation: It is the way of combining both data and the function that operates on the data under a single unit. Modularity: It is the property of a system that has been decomposed into a set of cohesive and loosely couple modules. Inheritance: It is the capability of one class of thing to inherit properties from another class. Polymorphism: It is the ability for a message or data to be processed in more then one form.
Q. What are the advantages of OOP's?
Ans: (1) Elimination of redundant coding system and usage of existing classes through inheritance. (2) Program can be developed by sharing existing modules. (3) Possibilities of multiple instance of an objects without any interference. (4) Security of data values from other segment of the program through data hiding.
Q. What is Class? How Object is related to the Class?
Ans: A Class represent a set of Objects that share common characteristics and behavior. Objects are instance of a class. The Object represents the abstraction representation by the class in the real sense.
Q. What is the need of a class in Java?
Ans: Classes in Java are needed to represent real-world entities, which have data type properties. Classes provide convenient methods for packing together a group of logical related data items and functions that work on them. In java the data items are called fields & the functions are called methods.
Q. What are Methods? How are these related to an Objects?
Ans: A Method is an operation associated to an Object. The behavior of an Object is represented through associated function, which are called Methods.
Q. Point out the differences between Procedural Programming and Object Oriented Programming.
Ans: Procedural programming aims more at procedures. The emphasis is a doing things rather then the data being used. In procedural Programming parading data are shared among all the functions participating thereby risking data safety and security. Object Oriented Programming is based on principles of data hiding, abstraction, inheritance and polymorphism. It implements programs using classes and objects, In OOP's data and procedure both given equal importance. Data and functions are encapsulated to ensure data safety and security.
Q. What is an abstraction?
Ans: An abstraction is a named collection of attributes and behaviors required to represent an entity or concept for some particular problem domain.
Q. What is inheritance and how it is useful in Java. [2008]
Ans: It is process by which objects of one class acquire the properties of objects of another class. Inheritance supports the concepts of hierarchical representation. In OOP the concepts of inheritance provides the idea of reusability.
Q. What role does polymorphism play as java feature?
Ans: It mean the ability to take more than one form. For example, an operation, many types of data used in the operation.
Q. What is Data hiding?
Ans: Data Hiding means restricting the accessibility of data associated with an object in such a way that it can be used only through the member methods of the object.
Q. What are nested classes?
Ans: It is possible to define a class within another class, such classes are known as nested classes. A nested class has access to the members including private members of the class in which it is nested. However the enclosing class not have access to the members of the nested class.
Q. Differentiate between base and derived class. [2008]
Ans: BASE CLASS - A class from which another class inherits (Also called SUPER CLASS)
DERIVED CLASS - A class inheriting properties from another class. (Also called SUB CLASS)

Class as the Basis of all Computation

[ICSE Syllabus on this Topic]
Objects encapsulates state and behavior- numerous example, member variables, attributes or features. Variable define states, Member functions/operation/methods/messages defines behaviors. Class as abstractions for set of objects, class as an object factory, concept of type, primitive data types, composite data types. Variable declaration for both types, difference between the two types. Objects as instance of a class. Modeling by composition.

Q. What are keywords? can keywords be used as a identifiers?
Ans: Keywords are the words that convey a special meaning to the language compiler. No, keywords can never be used as identifiers.
Q. What is an identifier? What is the identifier formatting rule of Java? OR What are the rules for naming a variable?
Ans: Identifiers are names given to different parts of a program e.g. variables, functions, classes etc. The identifiers in Java.
(i) Can contains alphabets, digits, dollar sign and underscore.
(ii) Must not start with a digit.
(iii) Can not be a Java keywords.
(iv) Can have any length and are case-sensitive.
Q. Why keyword is different from identifiers?
Ans: Keywords are predefine sets of words that have a special meaning for the Java compiler. Identifiers on the other hand are created by Java programmers in order to give names to variables, function, classes etc.
Q. State the difference between Token and Identifier.[2008]
Ans: The smallest individual unit of a program is known as Token. The following Tokens are available in Java: Keywords, Identifiers, Literals, Punctuations, Operators.
Identifiers are names given to different parts of a program e.g. variables, functions, classes etc. The identifiers in Java.
Q. What are literals? How many types of integer literals are available in Java?
Ans: A literal is sequence of characters used in a program to represent a constant value. For example 'A' is a literal that represents the value A of type char, and 17L is a literal that represents the number 17 as value of type long. Different types of literals available in Java, they are: Integer literal, Float literal, Boolean literal, Character literal, String literal and null literal.
Q. What is an integer constant? Write integer forming rule of Java.
Ans: Integer constants are whole numbers without any decimal part. The rule for forming an integer constants is: An integer constant must have at least one digit and cannot contain a decimal point. It may contains + or - sign. A number with no sign is interpreted to be positive.
Q. What do you mean by Escape sequence and name few escape sequences in Java?
Ans: Java have certain nongraphic characters (nongraphic characters are those characters that can not be typed directly from keyboard e.g. backspace, tab, carriage return etc.). Those nongraphic character can be represented by escape sequence. An escape sequence is represented by backslash followed by one or more character. The few escape sequence characters are: \n for new line, \t for Horizontal Tab, \v for Vertical Tab, \b for Backspace, \" for Double Quotes etc.
Q. How many integer constants are allowed in Java? How are they written?
Ans: Java allows three types of integer constants: Octal (base 8), Decimal (base 10), and Hexadecimal (base 16). An Octal integer must be started with a zero '0', a Hexadecimal integer starts with a '0X', all others are treated as decimal integer constant.
Q. What is meant by a floating constant in Java? How many ways can a floating constant be represented into?
Ans: Floating constants are real numbers. A floating constant can either be a fractional or in exponent form.
Q. Differentiate between Integer and Floating type constants.
Ans: Integer constants are the whole numbers (without decimal points). e.g. 1231. Floating point constants are fractional numbers (number with decimal points). e.g. 14.2356
Q. Write the following real constants into fractional form: 0.113E04, 0.417E-04, 0.4E-05, 0.123E02
Ans: 0.113E04 becomes 1130, 0.417E-04 becomes .0000417, 0.4E-05 becomes .000004, 0.123E02 becomes 12.3
Q. What is a type or 'Data Type'? How this term is related to programming?
Ans: A type or datatype represents a set of possible values. When we specify that a variable has certain type, we are saying what values the expression can have. For example to say that a variable is of type int says that integer values in a certain range can be stored in that variable.
Q. What is primitive data type? Name its different types.
Ans: Primitive data types are those that are not composed of other data types. Numeric Integral, Fractional, character and boolean are different primitive data types.
Q. State the two kind on data types? [2006]
Ans: The two types of data types are: Primitive and non-primitive/composite/user define data types. The primitive data types are: byte, short, int, long, float, double, char and Boolean. The non-primitive/reference data types are: class, array and interface.
Q. Write down the names of three primitive and three non-primitive/reference data types in Java/BlueJ.
Ans: The primitive data types are: byte, short, int, long, float, double, char and Boolean. The non-primitive/reference data types are: class, array and interface.
Q. How many bytes occupied by the following data types: byte, short, int, long, float, double, char, boolean.
Ans: char-2 byte, byte-1 byte, short-2 bytes, int-4 bytes, long-8 bytes, float-4 bytes, double-8 bytes, boolean-Java reserve 8 bits but only use 1 bit.
Q. What is the range of the following data types: byte, short, int, long, float, double, char, boolean.
Ans: byte -> -128 to 127
short -> -32768 to 32767
int -> -231 to 231-1
long ->-263 to 263-1
float -> -3.4x1038 to 3.4x1038
double -> -1.7x10308 to 1.7x10308
char -> 0 to 65536
boolean - > true or false
Q. What is the largest and smallest value for floating point primitive data types float?
Ans: The smallest value is -3.4E+38 and largest values is 3.4E+38 of floating point data type.
Q. What is Token? What are the tokens available in Java? [2008]
Ans: The smallest individual unit of  a program is known as Token. The following Tokens are available in Java:- Keywords, Identifiers, Literals, Punctuations, Operators.
Q. What do you mean by variables?    [2006]
Ans: A variable is a named memory location, which holds a data value of a particular data types. E.g. double p;
Q. What do you mean by variables? What do you mean by dynamic initialization of a variable?
Ans: A variable is a named memory location, which holds a data value of a particular data types. When a method or functions is called and the return value is initialise to a variable is called dynamic initialisation. example double p=Math.pow(2,3);
Q. What is the function of an operator?
Ans: Operators are special symbols that represent operations that can be carried out on variables, constants or expressions.
Q. What do you mean by operator and write the name of all operators given in your textbook.
Ans: The operations are represented by operators and the object of the operations are referred to as operands. The types of Operators available in Java are: 1. Arithmetic 2. Increment/Decrement 3. Relational 4. Logical 5. Shift 6. Bitwise 7. Assignment 8. Conditional 9. [] operator 10. new operator 11. (type) cast Operator 12. () operator. 13. dot operator.
Q. What are arithmetic operators?
Ans: Arithmetical operators are used for various mathematical calculations. The result of an arithmetical expression is a numerical values. Arithmetical operators are of following types: Unary and Binary operators.
Q. Write major difference between the unary and binary operators?
Ans: The operators that acts on one operand are referred to as Unary Operator. There are two Unary operators Unary + operator and Unary - operator. The operators that acts upon two operands are referred to as Binary Operator. The Binary Operators are Addition(+), Subtraction (-), Multiplication (*), Division (/) and Modulus (%).
Q. What is increment operator? What are postfix and prefix increment operators?
Ans: The '++' operator is called increment operator. The increment operators add 1 to its operand. These are two types (i) Prefix and (ii) Postfix The prefix version comes before the operand for e.g. ++a, where as postfix comes after the operand e.g. a++
Q. Find the value of x after evaluating x += x++ + --x + 4 where x=3 before the evaluation. Explain your answer.
Ans: Result is 13, because x++ is 3, --x is 2 + 4 the answer is 9 add this with x that is 3 it becomes 12 and due to pre increment of x++ the result becomes 13.
Q. What do you mean by Relational Operators.
Ans: Relational operators are used to determine the relationship between different operands. These are used in work of compression also. The relational expression (condition) returns 0 if the relation is false and return 1 if the relation is true. < (less then), > (greater then), <= (less then equals to), >= (greater then equals to), == (equals to), != (not equals to).
Q. What is Logical operators?
Ans: The logical operators combine the result of or more then two expressions. The mode of connecting relationship in these expressions refers as logical and the expressions are called logical expression. The logical expression returns 1 if the result is true otherwise 0 returns. The logical operators provided by Java are && Logical AND, || Logical OR, ! Logical NOT.
Q. What do you man by Assignment Statement or Assignment Operator? 
Ans: Assignment operator is represent by symbol '='. It takes the value on the right and stores it in the variable on the left side. for example x = y + 30
Q. What do you mean by Shift operators? OR Differentiate between Shift LEFT and Shift RIGHT operators.
Ans: A Shift operators performs bit manipulation on data by shifting the bits of its first operand right to left. The shift operators available in Java are:
(1)   >>     shift bits of right by distance. (signed shifting)
(2)   <<     shift bits of left by distance.   (signed shifting)
(3)   >>>   shift bits of right by distance  (unsigned shifting)
Q. Differentiate between Shift LEFT and Shift RIGHT operators.
Ans: Shift LEFT (<<) operatr shifts the bit pattern of the operand towards left by defined number of bits. Shift RIGHT (>>) operator shifts the bit pattern of the operand towards right by defined number of bits.
e.g. 13>>2   is 3
binary value of 13 is 1101>>2   is 0011 is equivalent to 3. Similarly LEFT shift (<<) operator is also work.
Q. What do you mean by Bitwise operators?
Ans: The Bitwise operations are performed by Bitwise operator. The Bitwise operations calculate each bit of their result by comparing the corresponding bits of the two operands.
(a) The AND operator &
(b) The OR operator |
(c) The XOR operator ^
(d) The compliment operator ~
Q. Illustrate '?' operator with an example? [2009]
Ans: It is a conditional operator, that stores a value depending upon a condition. This operator is also known as ternary operator. The syntax for this operator is expression1?expression2:expression3 . and the example is  bonus=sales>15000?250:50;
Q. What is the purpose of new operator?     [2006]
Ans: We can use new operator to create a new objects or new array. 
Ex. myClass obj = new myClass();
int arr[] = new int[5];
Q. What do you mean by precedence? Illustrate with the help of example.
Ans: Precedence is the order in which a program evaluates the operations in a formula or expression. All operators have precedence value. An operator with higher precedence value is evaluated first then the operator having lower precedence value. consider the following example 
  x = 5 + 4 *6;
The value of this expression is 29 not 54 or 34. Multiplication has been performed first in this expression.
Q. What is operands?
Ans: An operator acts on different data items/entities called operands.
Q. What do you mean by constant? How you declare a variable as constant variables.
Ans: The memory variables/locations whose values can not be changed within the program is called constants. The keyword final makes a variable as constants.
Q. Which class is used for using different mathematical function in Java program? [2007]
Ans: The class used for different mathematical functions in Java is java.lang.Math
Q. Write down the equivalent expression for the mathematical expression   (a) (cos x/tan-1 x)+x    (b) |ex - x|
Ans: (Math.cos(x)/Math.atan(x)) + x      and   Math.abs(Math.exp(x)-x)
Q. What is the difference between these two function Math.ceil() and Math.rint(), explain with example.
Ans: Math.ceil() this function returns the smallest whole number greater then or equal to the given number. e.g. Math.ceil(12.85) gives output 13 and Math.ceil(12.35) also gives output 13. Where as the Math.rint() returns the roundup nearest integer value. e.g. Math.rint(12.85) gives output 13 but Math.rint(12.35) gives output 12.
Q. What do you mean by type conversion? What is the difference between implicit and explicit type conversion explain with example.
Ans: The process of converting one predefined type into another is called Type Conversion.
A implicit type conversion is a conversion performed by the compiler. The Java compiler converts all operands up to the type of the largest operand. This is also known as type promotion. e.g. 'c'-32  is converted to int type. Where as an explicit type conversion is user defined that forces an expression to be of specific type, this also known as type casting. e.g. (float)(x+y/2)
Q. What is coercion? How it is implemented?
Ans: Implicit type conversion of an expression is termed as coercion. A implicit type conversion is a conversion performed by the compiler. The Java compiler converts all operands up to the type of the largest operand. This is default type conversion.
Q. What do you mean by type casting? What is the type cast operator? [2007]
Ans: The explicit conversion of an operand to a specific type is called type casting. The operator that converts its operand to a specified type is called the typecast operator. The typecast operator is ( ) in Java and is used as (type-to-be-converted-in)
Q. Explain the methods print() and println()?
Ans: A computer program is written to manipulate a given set of data and to display or print the results. Java supports two output methods that can be used to send the results to the screen. print() method println() method.
The print() method sends information into a buffer. This buffer is not flushed until a new line (or end-of-line) character is sent. As a result print() method prints output on one line.
The println() method by contrast takes the information provided and displays it on a line followed by a line feed.
Q. What is an Expression? Explain its different types.
Ans: An Expression is any statement which is composed of one or more operands and return a vale. It may be combination of operators, variables and constants. There are three different types of expressions.
(1) Constant Expressions: 8 * 12 /2
(2) Integral Expressions: formed by connecting integer constants x = (a + b)/2
(3) Logical Expressions: a > b    or a!=b
Q. Mention two different styles of expressing a comment in a program. [2005]
Ans: The two ways of inserting a comments in a program are:
  (i) using //                     single line comments
  (ii) using /*     */           multiple line comments
Q. Differentiate between operator and expression.        [2005]
Ans: The operations are represented by operators and the object of the operations are referred to as operands. The expression is any valid combination of operators, constant and variables.
Q. What is a compound Statement? Give an Example.        [2005]
Ans: It is a block of code containing more then one executable statement. In Java the { } is called block and the statements written under {} is called compound statements or block statement. The { } opening and closing braces indicates the start and end of a compound statement.
  for(int i=1;i<=5;i++)
  {
    System.out.println("Hello");
    System.out.println("How");
    System.out.println("are you?");
  }
 
 
 
 
 
 

Use of Constructor

[ICSE Syllabus on this Topic]
Default constructor, Constructor with arguments, default initializing. Overloading constructor.

Q. What is constructor?
Ans: A constructor is a Member function that automatically called, when the object is created of that class. It has the same name as that of the class name and its primary job is to initialise the object to a legal value for the class.
Q. Why do we need a constructor as a class member? [2007]
Ans: Constructor is used create an instance of of a class, This can be also called creating an object.
Q. Why does a constructor should be define as public?
Ans: A constructor should be define in public section of a class, so that its objects can be created in any function.
Q. Explain default constructor? [2006]
Ans: The constructor that accepts no parameter is called the default constructor. If we do not explicitly define a constructor for a class., then java creates a default constructor for the class. The default constructor is often sufficient for simple class but not for sophisticated classes.
Example:
  class ant
  {
    int i;
    public static void main()
    ant nc=new ant();
  }
the line new ant() creates an object and calls the default constructor, without it we have no method to call to build our objects. once you create a constructor with argument the default constructor becomes hidden.
Q. Explain the Parameterised constructor?
Ans: If we want to initialise objects with our desired value, we can use parameters with constructor and initialise the data members based on the arguments passed to it . Constructor that can take arguments are called Parameterised constructor.
Example:
  public class result
  {
    int per;
    int tot;
    public result (int percentage)
    {
      per=percentage;
      tot=0;
    }
  }
Q. Give an syntax/example of constructor overloading. Define a class, which accept roll number and marks of a student. Write constructor for the class, which accepts parameter to initialise the data member. Also take care of the case where the student has not appeared for the test where just the roll number is passed as argument.
Ans: class student
  {
    int roll;
    float marks;
    student(int r, float m)                 // constructor with two argument.
    {
      roll=r;
      marks=m;
    }
    student(int r)                            // constructor with one argument
    {
      roll=r;
      marks=0;
    }
    student()                                  // default constructor
    {
      roll=0;
      marks=0;
    }
  }
Q. Mention some characteristics of constructors.
Ans: The special characteristics of constructors are:
(i) Constructors should be declared in the public section of the class. (ii) They are invoked automatically when an object of the class is created. (iii) They do not have any return type and cannot return any values. (iv) Like any other function, they can accept arguments. (v) A class can have more than one constructor. (vi) Default constructor do not accept parameters. (vii) If no constructor is present in the class the compiler provides a default constructor.
Q. State the difference between Constructor and Method.  [2005]
Ans: The function has a return type like int. but the constructor has no return type. The function must be called in programs where as constructor automatically called when the object of that class is created.
Q. Enter any two variables through constructor parameters and write a program to swap and print the values.   [2005]
class swap
{
  int a,b;
  swap(int x,int y)
  {
    a=x;
    b=y;
  }
  public void main(String args[])
  {
    int t=a;
    a=b;
    b=t;
    System.out.out.println("the value of a and b after swaping : "+a+" "+b);
  }
}
 Q. What are the types of Constructors used in a class?
Ans: The different types of constructors are as follows:
i. Default Constructors.
ii. Parameterized Constructor.
iii. Copy Constructors.
Q. Define Copy constructors. 
Ans: A copy constructors initializes the instant variables of an object by copying the initial value of the instant variables from another objects. e.g.
class xyz
{
  int a.b;
  xyz(int x,int z)
  {
    a=x;
    b=y;
  }
  xyz(xyz p)
  {
    a=p.x;
    b=p.y;
  }
 
 
 
 

User Define Functions

[ICSE Syllabus on this Topic]
Function as a way to define operations/methods/messages. Pure functions return values and do not change state, impure functions may return values but also change state, return type argument to function, function prototype and function signature, overloading. Variable of a class type as reference to an objects, invocation of function on objects through the reference, the concept of this. Argument passing in functions, pass by value, what happened when a reference is passed side effect.

Q. What is Function? Why do we use functions while programs handling?
Ans: A named unit of a group of programs statements. This unit can be invoked from other parts of the program.
Q. Define Function prototype?
Ans: The function prototype is the first line of the function definition that tells the program about the type of the value returned by the function and the number and types of arguments.
Q. What is the use of void before function name? [2007]
Ans: void data type specifies an empty set of values and it is used as the return type for functions that do not return a value. Thus a function that does not return a value is declared as follows. void <functions name> (parameter list)
Q. Explain Functions/Methods Definitions with syntax?
Ans: A function must be defined before it is used anywhere in the program.
[access specifier][modifier]return-type function-name (parameter list)
{
  body of the function
}
[access specifier] can be either Public, Protected or Private. [modifier] can be one of final, native, synchronize, transient, volatile. return-type specifies the type of value that the return statement of the function returns. It may be any valid Java data type. parameter list is comma separated list of variables of a function.
Q. Why main() function so special?
 Ans: The main() function is invoked in the system by default. hence as soon as the command for execution of the program is used, control directly reaches the main() function.
Q. Explain the function prototype and the signature?
Ans: The function prototype is the first line of the function definitions, that tells the program about the type of the value returned by the function and the number and type of the arguments. Function signature basically refers to the number and types of the arguments, it is the part of the prototype.
Q. Explain the function of a return statement? [2006]
Ans: The return statement is useful in two ways. First an immediately exit from the function is caused as soon as a return statement is encountered and the control back to the main caller. Second use of return statement is that it is used a value to the calling code.
Q. Write advantages of using functions in programs
Ans: (i) functions lessen the complexity of programs (ii) functions hide the implementation details (iii) functions enhance reusability of code
Q. Difference between Actual argument and Formal argument? [2007,2008]
Ans: The parameter that appears in function call statement are called actual argument and The parameter that appears in function definition are called formal parameter.
Q. What are static members?
Ans: The members that are declared static is called static members. These members are associated with the class itself rather then individual objects, the static members and static methods are often referred to as class variables and methods.
Q. What is the use of static in main() methods? [2007] 
Ans: (i) They can only call other static methods. (ii) They can only access static data. (iii) They can not refer to this or super in any way.
Q. What is call by value?   [2005]
Ans: (i) In call by value, the called functions creates its own work copy for the passed parameters and copies the passed values in it. Any changes that take place remain in the work copy and the original data remains intact.
Q. Explain the term "passed by reference"? [2007]
Ans: In passed by reference, the called function receives the reference to the passed parameters and through this reference, it access the original data. Any changes that take place are reflected in the original data.
Q. Differentiate between call by value and call by reference?
Ans: In call by value, the called functions creates its own work copy for the passed parameters and copies the passed values in it. Any changes that take place remain in the work copy and the original data remains intact. In call by reference, the called function receives the reference to the passed parameters and through this reference, it access the original data. Any changes that take place are reflected in the original data.
Q. Define an impure functions? [2006]
Ans: Impure Function change the state of the object arguments they have received and then return. The following functions is the example of an impure function: 
public static void increment(Time obj, double secs)
{
  time.seconds+=secs;
  return(Time);
}
Q. What is the difference between pure and impure functions? [2009]
Ans: Pure Function: These functions takes objects as an arguments but does not modify the state of the objects. The result of the pure function is the return value. Impure Function: These functions change the state of the object arguments they have received.
Q. How are following passed in Java?              [2005]
    (i) primitive types    (ii) reference types
Ans: (i) By value,     (ii) By reference.
Q. What does function overloading mean? What is its significance?
Ans: A Function name having several definitions in the same scope that are differentiable by the number or type of their arguments, is said to be an overloaded function. Function overloading not only implements polymorphism but also reduce the number of comparisons in a program and there by makes the programs run faster.
Q. Illustrate the concept of function overloading with the help of an example.  [2006]
Ans:- A function name having several definitions that are differentiable by the numbers or types of their arguments is known as function overloading. For example following code overloads a function area to computer areas of circle rectangle and triangle.
float area (float radius)            //circle
{    
    return (3.14 * radius * radius);
}
float area (float length, float breadth)  //rectangle
{
    return (length*breadth);
}
float area (float side1, float  side2, float side3) //area of triangle
{
    float s = (side1 + side2 + side3)/2;
    float ar = Math.sqrt(s * (s- side1)*(s-side2) *(s-side3));
    return (ar);
}
Q. What is this keyword? What is its significance? [2009]
Ans: The this keyword is used to refer to currently calling objects. The member functions of every objects have access to a sort of magic keyword name this, which points to the object itself. Thus any member function can find out the address of the object of which it is a member. The this keyword represents an object that invokes a member function. it stores the address of the object that invoking a member function and it is an implicit argument to the member function being invoked. The this keyword is useful in returning the object of which the function is a member.
Q. What do you mean by recursive function?
Ans: When a method is called inside its own definition the process is known as functions recursion and this function called recursive function.
Q. What is the difference between Methods and Functions?
Ans: The major difference between methods and functions is that methods called by the reference variables called objects where as the functions do not having any reference variables.

Class as a User Defined Types

[ICSE Syllabus on this Topic]
Class as a composite type, distinction between primitive type and composite of class type.

Q. What is data type?
Ans: Data types are means to identify the type of data and associated operations of handling it.
Q. What is composite (user define) data type? Explain with an example? [2007] [2009]
Ans: A composite datatype is that datatype that are based on fundamental or primitive datatypes. A 'class' is an example of composite datatypes.
class Date
{
  int dd, mm, yy;
  public Date()
  {
    dd=1;
    mm=1;
    yy=2005;
  }
}
Q. What is user define datatype?
Ans: A user defined datatype is a data type that is not a part of the language and is created by a programmer.
Q. Can you refer to a class as a user defined (composite) datatype? [2009]
Ans: Yes, we can refer to a class not having a main() method as user-defined datatype. 
Q. What is the difference between primitive datatypes and composite datatypes?
Ans: (i) primitive datatypes are built-in datatypes. Java provides these datatypes. User-defined datatypes are created by users. (ii) The size of primitive datatypes are fixed. The size of user-defined datatypes are variable. (iii) Primitive datatypes are available in all parts of Java programs. The availability of user-defined datatypes depends upon their scope. 
Q. Compare a class as a user defined datatype and class as an application?
Ans: In Java, all functionality is enclosed in classes. But in order for a class to be user-defined datatype, it should be act different from that of an application. i.e. it should not include main() method in it. Although we can create instance of classes containing main method, they should not be referred to as used-defined datatype. Such classes (containing main() method) are more analogues to application than a datatype.
Q. Where can the following members of a class be accessed? private, protected, public and default access. [2008]
Ans: Access specifier can be of following types:
(a) PUBLIC: Public members of a class are globally accessible.
(b) PRIVATE: Private members of a class be accessed by the member functions of the class only.
(c) PROTECTED: Protected members of a class are accessible in the package where the class is defined and in all the sub-classes of the class.
(d) Default (friendly) access: members with default (friendly) access can be used within the package where the class is defined.
Q. How are private member different from public member of a class.
Ans: Private members of a class are accessible in the member function of the class only, where as public members are accessible globally.
Q. How are protected members different from public and private members of a class.
Ans: Protected members of a class are accessible in all the classes in the same package and subclass in the other packages. private members of a class accessible in the member functions in the class only. Where as public members are accessible globally.
Q. Mention any two attributes required for class declaration. [2008]
Ans: The two attributes for class declaration are: 1. Access Specifier  2. Modifier 3. Class Name

Decision Making

[ICSE Syllabus on this Topic]
Application of if-then, if-then-else, switch (default, break).

Q. What is a statement?
Ans: Statements are the instructions given t the computer to perform any kind of action, as data movements, making decision or repeating action. Statements form the smallest executable unit and terminated with semi-colon.
Q. What are the three constructs that govern statement flow?
Ans: The three constructs that governs statement flow are: Sequence, Selection and Iteration constructs.
Q. What is a selection/conditional statement? Which selection statements does Java provides?
Ans: A selection statement is the one that is used to decide which statement should be execute next. This decision is based upon a test condition. The selection statements provided by Java are: if-else and switch. The conditional operator ?: can also be used to take simple decision.
Q. What is an 'if' statement? Explain with an example.
Ans: the 'if' statement helps in selecting one alternative out of the two. The execution of 'if' statement starts with the evaluation of condition. The 'if' statement therefore helps the programmer to test for the condition. General form of 'if' statement.
  if(expression) statement
if(marks>=80)
  System.out.println("Grade A");
Q. What is the significance of a test-condition in a if statement?
Ans: It is the test condition of an if statement that decides whether the code associated with the if part or the one associated with the else part should be executed. The former is executed if the test condition evaluates to true and the latter works if the condition evaluates to false.
Q. Write one advantage and one disadvantage of using ?: in place of an if.
Ans: Advantage: It leads to a more compact program. Disadvantage: Nested ?: becomes difficult to understand or manage.
Q. What do you understand by nested 'if' statements?
    OR
Q. Explain with an example the if-else-if construct. [2007]
Ans: A nested 'if' is an statement that has another 'if' in its body or in it's appearance. It takes the following general form.
if(ch>='A')
{
  if(ch<='Z')
    ++upcase;
  else
    ++other;
}
Q. What is the problem of dangling-else? When does it arise? What is the default dangling-else matching and how it be overridden?
Ans: The nested if-else statement introduces a source of potential ambiguity referred to as dangling-else problem. This problem arises when in a nested if statement, number of if's is more then the number of else clause. The question then arises, with which if does the additional else clause property match. For Example
if(ch>='A')
  if(ch<='Z')
    ++upcase;
else
  ++other;
The indentation in the above code fragment indicates that programmer wants the else to be with the outer if. However Java matches an else with the preceding unmatched if. One method for over-riding the default dangling-else matching is to place the last occurring unmatched if in a compound statement, as it is shown below.
if(ch>='A')
{
  if(ch<='Z')
    ++upcase;
}
else
  ++other;
Q. Compare and contrast IF with ?:
Ans: (i) Compare to IF sequence, ?: offer more concise, clean and compact code, but it is less obvious as compared to IF. (ii) Another difference is that the conditional operator ?: produces an expression, and hence a single value can be assigned, for larger expression If is more flexible. (iii) When ?: operator is used in its nested form, it becomes complex and difficult to understand.
Q. What is a switch statement? How is a switch statement executed?
Ans: Switch statement successively tests the value of an expression against a set of integers or character constants. When a match is found, the statements associated with the constants are executed. The syntax  switch(expression)
{
   case constants : statements; break;
   case constants : statements; break;
}
The expression is evaluated and its values are matched against the value of the constants specified in the case statements. When a match is found, the statements sequence associated with that case is executed until the break statement or the end of switch statement is reached.
Q. What is the significance of break statement in a switch statement?
Ans: In switch statement when a match is found the statement sequence of that case is executed until a 'break' statement is found or the end of switch is reached, when a 'break' statement is found program execution jumps to the line of code following the switch statement.
Q. What is a control variable in a switch case?
Ans: A control variable in switch case is one which guides the control to jump on a specified case. e.g. switch(x), here 'x' is the control variable.
Q. What is a "fall through"?
Ans: The term "fall through" refers to the way the switch statement executes its various case sections. Every statement that follows the selected case section will be executed unless a break statement is encountered.
Q. What is the effect of absence of break in a switch statement?
Ans: Absence of break statement in a switch statement leads to situation called "fall through" where once a  matching case is found the subsequence case blocks are executed unconditionally
Q. Write one limitation and one advantage of switch statement?
Ans: Advantage: More efficient in case a value is to be tested against a set of constants. Disadvantage: switch can test only for quality, so for the rest of comparisons one needs to use if-else.
Q. Discuss when does an if statement prove more advantageous then switch statement.
Ans: In the following case if statement proves to be more advantage over switch statement: (i) When a range of values need to be tested for. (ii) When relation between multiple variables needs to be tested. (iii) When multiple conditions need to be tested. (iv) When expressions having a data type other then integer or character need to be tested.
Q. When does switch statement prove more advantageous over an if statement?
Ans: The switch statement is more advantageous then the if statement when the test expression whose data type is either of byte, short, character, integer or long is to be tested against a set of constants. The reason being that the switch statement evaluates the expression once whereas the equivalent if statement evaluates the expression repeatedly.
Q. Explain, with the help of an example, the purpose of default in a switch statement. [2005]
Ans: The default section is an optional part of the switch statement and the statement written under default clause are executed when no matching case is found.
switch(n)
{
  case 1: System.out.println("Sunday"); break;
  case 2: System.out.println("Monday"); break;
  case 3: System.out.println("Tuesday"); break;
  case 4: System.out.println("Wednesday"); break;
  case 5: System.out.println("Thursday"); break;
  case 6: System.out.println("Friday"); break;
  case 7: System.out.println("Saturday"); break;
  default :  System.out.println("Invalid Input");
}
Q. Differentiate between if and switch statements. [2006]
Ans: Both are used as a selection statements, there are some difference in their operations. (i) switch can only test for equality, where as if can evaluate a relational or logical expression. (ii) it statement can handle ranges , where as switch case level must be a single value. (iii) if statement can handle floating point test also, where as the switch case labels must be an integer or character.

Concepts of Conditions and Loops

[ICSE Syllabus on this Topic]
Utilization of loops. Fixed number of Iteration. The for Loop, unknown number of Iteration - while, do-while loop, continue, break. Nested Loops.

Q. What are iteration statements? Name the iteration statements provided by Java?
Ans: Iteration statements are statements that allows a set of instructions to be executed repeatedly till some condition is satisfied. The iteration statements provided by Java are: for loop, while loop, do-while loop.
Q. What is the difference between entry controlled and exit controlled loop?                          or
What is the difference between while and do-while loop? 
Ans: while loop is known as entry controlled loop and do-while loop is known as exit-controlled loop. The differences between these two loops are: (1) In while loop the test expression is evaluated at the beginning where as in do-while loop test expression is evaluated at the bottom, after the body of the loop. (2) In while loop if the test expression is false loop does not continued but in do-while what ever the test expression the loop execute at least once.
Q. Explain the difference between break and continue with an example. [2005] [2008]
Ans: Both statements are used as a jumped statement. But there is a difference between Break and Continue statement. The break statement terminate the loop, but the continue statement skip the rest of the loop statement and continued the next iteration of the loop.
e.g. of Break Statement
int i=0;
while(i<=10)
{
  i++;
  if(i==5)
    break;
  System.out.println(i);
}
e.g. of Continue Statement
int i=0;
while(i<=10)
{
  i++;
  if(i==5)
    continue;
  System.out.println(i);
}
Q. Compare and discuss the suitability of three loops in different situation?
Ans: (i) The for loop should be preferred if number of iteration is known beforehand. (ii) The while loop should be preferred if the number iteration is dependent upon some control variable. (iii) The do-while loop should be preferred if the number of iterations is dependent upon user response.
Q. Explain the term for loop with an example. [2005]
Ans: In Java the 'for' statement is the most common iterative statement. the general syntax of the for loop is,
for(initialization; test-expression; increment)
{
  body of the loop
}
This loop is executed at initial value, condition and increment. Three statement separated by semi colons are placed with in the parenthesis. for example:
for(int i=1;i<=10;i++)
{
  System.out.println(i);
}
Q. State one similarity and one difference between while and do-while loop.    [2005]
Ans: Similarity: In both loops there is a chances to forget the increment statement inside the loop. Difference: In while loop the test expression is evaluated at the beginning where as in do-while loop test expression is evaluated at the bottom, after the body of the loop.
Q. What do you meant by an infinite loop? Give an example. [2008]
   OR
Q. What do you meant by an endless loop? Give an example.
Ans: Infinite loop is an endless loop whose number of iterations are not fixed.
eg: for(;;)
     System.out.println("java");
Q. Differentiate fixed and variable iterative type of loops.
Ans: Fixed type of iterative loop is created when the process is to be repeated for defined number oft imes. variable iterative loop repeats the process till a given condition is true.
Q. Differentiate Null loop and Infinite loop.
Ans: A Null loop does not contains any statement to repeat where as infinite loop repeats execution of the statements for endless iterations.
e.g. of null loops  for(int i=1;i<=10;i++);
e.g. for infinite loop  for(int i=10;i>=1;i++)
Q. What do you mean by delay loop?
Ans: A null loop is also called delay loop which does not repeat the execution of any statement but keeps the control engaged until the iterations are completed.

Using Library Classes

[ICSE Syllabus on this Topic]
Simple input, output. String, static variables and static methods, packages and import statements.

Q. What is the difference between byte oriented IO and character oriented IO? How are these two performed in Java?
                    OR
Q. What are the two ways of obtaining input in Java?
Ans: Bye oriented IO reads bytes of data or binary where there is no notation of datatypes. Character oriented IO on the other hand performs IO which is specially character oriented. In Java byte oriented IO is performed through data streams where as character oriented IO is performed through Readers and Writers.
Q. What is an Exception?
Ans: Exception in general refers to some contradictory or unusual situation which can be encountered while executing a program.
Q. What is exception and what is exception handling? [2008]
Ans: During program development there may be some cases where the programmer does not have the certainty that this code-fragment is going to work right, either because it accesses resources that do not exist or it goes out of range. These types of anomalous situations are generally called exception and the way to handle then is called exception handling.
Q. What are the advantages of Exception Handling?
Ans: (i) Exception handling separates error handling code from normal code. (ii) It clarifies the code and enhanced readability. (iii) It stimulates consequences as the error handling takes place at one place and in one manner. (iv) It makes for clear, robust, fault tolerant programs.
Q. When is Exception Handling required?
Ans: The exception handling is ideal for:
(i) Processing exceptional situations.
(ii) Processing exceptions for components that handle them directly.
(iii) Processing exceptions for widely used components that should not process their own exception.
Q. What do you mean by try block? How do you define it, give an example.
Ans: The try block is the one that contains the code that is to be monitored for the occurrence of an exception. A try block is defined by enclosing the statements  that might possible raise an exception in. For example if the formatting exception are to be handled while an integer is being read from the keyboard, then the following try block can be used:
int inData;
BufferedReader br=new BufferedReader( new InputStreamReader(System.in));
try
{
  inData=Integer.parseInt(br.readLine());
}
Q. What do you mean by catch block? How do you define it, give an example.
Ans: The catch block is the one that contains the code handle an exception. It must follow the try block. i.e. there should be no statement between the try and the catch blocks. If the catch block is written for the above try block then we may do it as follows:
int inData;
BufferedReader br=new BufferedReader( new InputStreamReader(System.in));
try
{
  inData=Integer.parseInt(br.readLine());
}
catch(NumberFormatException nfEx)
{
  System.out.println("Input format is incorrect");
}
Q. What is finally block? When and how it is used.
Ans: The finally block is one of the exception handling blocks. The code written in this block is always executed irrespective of whether an exception was reported or not, or even if it was handled successfully or not. The purpose of this block is to do cleaning up tasks, e.g. closing files etc.
Q. Write down the function of the following IO Exception classes: EOFExcpetion, FileNotFoundException, InterruptedIOException, IOException.
Ans: EOFException: Signals that an and of the file or end of the stream has been reached unexpectedly during input.
FileNotFoundException: Informs that a file could not be found.
InterruptedIOException: Warns that an IO operation has been interrupted.
IOException: Signals the an IO exception of some sort has occurs.
Q. What are wrapper classes? [2006]
Ans: Wrapper classes are the part or Java's standard library java.lang and these convert primitive datatypes into an object. to be more specific, a wrapper class wraps a value of primitive types in an object. Java provides the following wrapper classes: Boolean Integer, Float, Double, Character etc.
Q. Why do we need a wrapper class?
Ans: A wrapper class is needed to store primitive values in objects as well as in conversion from string to to primitive type.
Q. Distinguish between data type and wrapper class.
Ans: A data type starts with lowercase letter and wrapper class starts with uppercase letter.
Q. Define String?
Ans: A string is a set of two or more then two characters, a set of characters with the digit or a statement written with in double quotes. e.g. "Happy New Year", "Computer Application" etc.
Q. What is String Buffer? How we create a String Buffer?
Ans: String Buffer is a type of memory location, which allows reasonable space to contain a string such a way that any change brought affect the same string.
String Buffer is created as follows: StringBuffer p=new StringBuffer("Computer"); 
Q. Differentiate between String and StringBuffer objects.
Ans: The String object of Java is immutable, i.e. once created they can not be changed. if any change occurs in a String object, then original object string remains unchanged and a new String is created with the changed String. StringBuffer objects are mutable, on the other hand. That is these objects can be manipulated and modified as desired.
Q. Write down the purpose of the following string functions: toLowerCase(), toUpperCase(), replace(), trim(), equals(), length(), charAt(), concat(), substring(), indexOf(), compareTo().
Ans:  The purpose and syntax of the following string functions are:
toLowerCase(): This function converts all the characters of the string in lower case.
for example:
String n="AMITABH";
n=n.toLowerCase();
System.out.println(n);
toUpperCase(): This function converts all the characters of the string in upper case.
for example:
String n="amitabh";
n=n.toUpperCase();
System.out.println(n);
replace(): This function replace all the occurrence of a characters with another one.
String n="DAD";
n=n.replace('D','G');
System.out.println(n);
trim(): This function is used to remove all the white spaces at the beginning and end of string.
String n="AMIT    ";
n=n.trim();
System.out.println(n);
equals(): This function is used to compare two string and give true or false if they are equal.
String s1="AMIT";
String s2="amit";
System.out.print(s1.equals(s2));
length(): This function return the length characters present in the string.
String s="AMITABH";
System.out.print(s.length());
charAt(): This function return the nth character of the string.
String s="AMITABH";
System.out.print(s.charAt(2));
concat(): This function concatenate/join two strings.
String s1="AMITABH ";
String s2="BANERJEE"
System.out.print(s1.concat(s2));
substring(): This function returns the substring starting from the nth character of the string.
String s="AMITABH";
System.out.print(s.substringt(3));
This function also returns the substring starting from the mth character upto the nth character without including the nth character of the string.
String s="AMITABH";
System.out.print(s.substringt(2,4));
indexOf(): This function returns the position of the first occurrence a character in the string.
String s="AMITABH";
System.out.print(s.indexOf('A'));
This function also returns the position of the character from the nth position of the string.
String s="AMITABH";
System.out.print(s.indexOf('A',2));
compareTo(): This function returns negative if first string is less then second string, positive if greater and zero if equals.
String s1="AMIT";
String s2="SUMIT"
System.out.print(s1.compareTo(s2));
Q. What is the difference between equals() and equalsIgnoreCase() string functions?
Ans: Both the functions is used to compare strings, the difference being that equals() distinguishes between upper case and lower case version of a character, where as equalsIgnoreCase() carries out comparison ignoring the case of characters.
Q. Differentiate between equals() and compareTo() methods. [2006]
Ans: Both the functions is used to comparing two strings, the difference being that (i) equals() method only comparing two string and gives they are equal or not, where as compareTo() methods also gives whether first string is greater or smaller then second one. (ii) equals() methods returns a boolean value, where as compareTo() methods return integer value.
Q. Differentiate between toLowerCase() and toUpperCase() methods.   [2005]
Ans: The given two string method's change the case of the current string. The toLowerCase() method change the current string object to its equivalent Lower Case, where as toUpperCase() method change the current string object to its equivalent Upper Case.
Q. What is the difference between the length() and capacity() string function.
Ans: The function length() returns the number of character contains in a string. Where as capacity() returns the maximum number of character that can be stored in a string objects.
Q. Name some of the most used packages? [2007]
Ans: Language extensions java.lang, utilities java.utill, input-output  java.io, GUI java.awt and javax.applet, network services java.net etc.
Q. Define static members?
Ans: The members that are declared static are called static members. These members are associate with the class it self rather than individual objects.
Q. What are static variables?
Ans: Static variables are used when we want to have a variable common to all instances of a class.
Q. What are the restrictions of static methods?
Ans: (i) They can only call other static methods.
(ii) They can only access static data.
(iii) They cannot refer to 'this' or 'super' keywords in anyway.
Q. What are packages?       [2006]
Ans: Java contains extensive library of pre-written classes we can use in our programs. These classes are divided into groups called packages. Various packages in Java are: java.applet, java.awt, java.io, java.lang, java.new, java.util etc.
Q. What are the benefits of organizing classes into packages.
Ans: In packages classes can be unique compared to other programs and be easily be reused.
Q. What are Java API packages:
Ans: Java API packages provide a large number of class grouped into different packages according to functionality.
Q. What are system packages?
Ans: The packages which are organised in hierarchical structure are referred as system packages.
Q. Explain the method on importing a package member?
Ans: To import a member of package into the current file, put an import statement at the beginning of the file before any class definitions but after the package statement, if there is one .
Q. Describe the method to import entire package?
Ans: To import a member all the classes contained in a particular package, using the import statement with the asterisk(*) wild card character.
Q. Distinguish between Static variable (class variable) and member variable (instance variable)
(i) Declare with the static keyword.
(ii) Exist at class level and can be used even if no instance of class exist in memory.
(iii) Created when class is first referred to.
(iv) Destroyed when the program is over.
(v) Can be accessed using either the class name or name of any instance of the class.
(i) Declare without the static keyword.
(ii) Exist at instance level i.e. can not be used if there are no instance of class exist in memory.
(iii) Created with each instance.
(iv) Destroyed when the instance containing  them is destroyed.
(v) Can be accessed using the name of the instance only to which they belong.
Q. Explain instance variable. Give an Example. [2008]
Ans: A data member that is created for every objects of the class.
public class abc
{
  int a,b;     // instance variable or data member
}
Q. State the difference between == operator and equals() method. [2008]
Ans: ==: 1. It is a relational operator. 2. it tests the value on the right side with value on the left side.
equals(): 1. It is a string function. 2. It compares two strings and gives the value as true or false.

Encapsulation

[ICSE Syllabus on this Topic]
private, public, scope and visibility rules. packages and package level access.

Q. Explain the term 'Encapsulation' with an example? [2006]
Ans: The wrapping up to data and methods into a single units (called class) is known as encapsulation. For example an engine of car or any vehicle contains many small parts, which enables the entire machinery system to work. Encapsulation property hides the inner working of objects from the real world.
Q. What does a class encapsulate?
Ans: A class encapsulate Data Members that contains the information necessary to represent the class and Member Functions that perform operations on the data member.
Q. How does a class enforce information hiding?
Ans: Classes enforce information hiding by means of access specifier.
Q. What is initial class?
Ans: A java program contains many classes. But one class in a Java program contains the main() method. This class is called initial class.
Q. What is Class variable (Static Variable)?
Ans: A data member that is declared once for a class. All objects of that class type, share these data members, as there is single copy of them available in memory. Keyword 'Static' in the variable declaration makes a class variable.
Q. What is Instance variable? [2007] [2008]
Ans: A data member that is created for every objects of the class.
Q. What does the class consists of ?
Ans: A class consists of:
(i) Data members: It contain information necessary to represent that class .
(ii) Methods: It perform operations on the data members of the class.
Q. What is visibility modifiers?
Ans: It is also called access specifier. It defines which function or method is able to use this method.
Q. Define variable's scope (scope rule)?
Ans: The program parts in which a particular data value (e.g., variable) can be accessed is known as variable's scope.
Q. Define the term visibility?
Ans: Visibility is a related term which refers to whether one can use a variable from a given place in the program.
Q. Define the term Local variable and Global variable.
Ans: Local Variable: Variable declared inside a method or block.
Global Variable: Class variable which is available to the entire class.
Q. Mention the levels of scope and visibility offered by java?
Ans: (i) Data declared at the class level can be used by all methods in the class.
(ii) Data declared within a method can be used only in the method.
(iii) Data declared within a method is called local data.
(iv) Variable that are declared in block i.e., local variable are available to every method inside of the block.
(v) Variable declared in interior blocks are not available outside of that block.
(vi) Variable declared in exterior blocks are visible to the interior blocks.
Q. Explain the different types of access specifier?
Ans: Access specifier can be of following types:
(a) PUBLIC: It means that any one can call this method.
(b) PRIVATE: It means that only the methods in the same class are permitted to use this method.
(c) PROTECTED: It means that methods in this class and methods in any subclass may access this method.
Q. What are member variables? State their types?
Ans: Member variables are also known as Instance variables. These member variables are used to store value in the class. It may be public, private and protected, where private and protected members remains hidden from outside world and there by support data.
Q. What is meant by private visibility of a method? [2006]
Ans: PRIVATE visibility of a Method means that only the methods in the same class are permitted to use this method.

Arrays

[ICSE Syllabus on this Topic]
Array and their usage, sorting algorithm - selection sort and bubble sort, search in sorted array. The class objects compatible with all the class.

Q. What do you understand by Arrays? How you declare an Array?
Ans: An Array is a collection of variables of the same data type that are referenced by a common name. Array can be declared by the following statements: int n[]=new int[10];
Q. What are the different types of arrays?
(i) Single Dimensional Arrays: A list of items can be given one variable name using only one subscript and such a variable is called a single subscripted variable or a one or single dimensional array.
(ii) Multi Dimensional Arrays: This type of arrays are actually arrays of arrays.
Q. Why we use Arrays? or What are the Advantages of using Arrays.
Ans: The Advantages or Arrays are: (i) Easy to Specify. (ii) Free from run-time overload. (iii) Random access of elements. (iv) Fast Sequential Access.
Q. How can arrays be initialized?
Ans: Array can be initialized at the time of declaration by providing the value list at the same time.
Q. What do you understand by out-of-bound subscripts?
Ans: The subscripts other than 0 to n-1 for an array having n elements are called out-of-bounds subscripts.
Q. What do you mean by Binary Search?
Ans: This search technique searches the given ITEM in minimum possible compression. The Binary search requires the array must be sorted in any order. The search ITEM is compared with middle element of the array. If the ITEM is more then the middle element later part of the arrays becomes the new array segment. The same process is repeated until either the ITEM is found or the array segment is reduce to single element.
Q. Differentiate between linear search and binary search techniques? [2007]
Ans: In linear search each elements of the array is compared with the given item to be searched for one by one while binary search searches for the given item in a sorted array. The search segment reduces to half at every successive stage.
Q. State the conditions under which Binary Search is applicable?
Ans: For Binary Search The List must be sorted, lower bound upper bound and the sort order of the list must be known.
Q. Comment on the efficiency of linear search and Binary Search in relation to the number of element in the list being searched?
Ans: The Linear search compares the search item with each element of the array, one by one. If the search item happens to be in the  beginning of the array, the compressions are low, however if the element to be searched for is one of the last elements of the array, this search technique proves the worst as so many comparisons take place. The Binary search on the other hand, tries to locate the search item in minimum possible comparisons, provided the array is sorted. This technique proves efficient in nearly all the cases. 
Q. What do you mean by sorting?
Ans: Sorting of an array means arranging the array elements in a specified order.
Q. What is Selection sort?
Ans: In selection sort the smallest ( or largest depending upon the desired order) key from the remaining unsorted array is searched for and put in the sorted array. The process repeats until the entire array is sorted.
Q. What is Bubble sort?
Ans: In bubble sort the adjoining values are compared and exchanged if they are not in proper order. This process is repeated until the entire array is sorted.
Q. Which element is num[9] of the array num?        [2005]
Ans: 10th element. Because the first index number/subscript value of an array is 0. So 9th element is treated as the 10th element in an array.

Operations on File

[ICSE Syllabus on this Topic]
Stream - byte and character stream, files and operation on files. token and String Tokenizer and stream Tokenizer classes. 
[Note: no questions shall be asked in the theory paper from Operation on Files]

Q. What is File?
Ans: A file is a means of making data persistent. It is a set of bytes that is stored on a storage device and can be referred to by a name.
Q. What is Java Stream?
Ans: A stream in Java is a path along with data flows.
Q. Why is streams need?
Ans: All programs need to handle data flow to or from a file, a pipe or an I/O device. Stream are object representation of this flowing data and are used by java to carry out data interchanged in  a program.
Q. What is the role of Input Stream class?
Ans: InputStream class provides the basis for classes used to read binary data from a file, a pipe or an input device.
Q. What is the role of a Reader class?
Ans: Reader class provides the basis for classes used to read character data from a file or an input device.
Q. What is the role of Output Stream class?
Ans: OutputStream class provides the basis for classes used to write binary data to a file, a pipe or an output device.
Q. What is the role of a Writer Class?
Ans: Writer class provides the basis for classes used to write character data to a file, a pipe or an output device.
Q. Name the most commonly used classes for handling Byte oriented IO.
Ans: Classes for byte I/O are DataInputStream and DataOutputStream.
Q. Can we open an existing file for writing? If not, why?
Ans: When an existing file is to be opened for writing all the data of the file is truncated unless it is opened in the append mode using the following syntax:

  FileOutputStream file=new FileOutputStream("student.dat",true);

Q. What are Input and Output stream.
Ans: An input stream is a sequence of bytes flowing from data source or an input device to the program memory, where as output stream is a sequence of bytes flowing from the program memory to a data store or an output device.
Q. What is Buffer? What is buffered I/O?
Ans: A buffer represent a section of memory used as a staging area for input or output data? Buffered I/O is an input or output operation that uses temporary storage called a buffer to hold data before it is transferred from the source to the destination.
Q. What is Input Buffer? What is Output buffer?
Ans: An input buffer is used for sending a large chunk of data from a stream. the buffer is then accessed as needed and when emptied another chunk of data is read from the stream into the buffer. An output buffer is used to store up data to be written to a stream. Once the buffer is full, the data is sent to the stream all at once and the buffer is emptied to receive more data.
Q. What is the String Tokenizer?
Ans: A String Tokenizer can identify and parse (segregate) token in a string. String Tokenizer class is found in java.util package. String Tokenizer class also provides two methods that are immediately used for processing strings. (i) countToken() (ii) nextToken()
Q. What is the StreamTokenizer class used for?
Ans: A Stream Tokenizer takes an input stream and parses it into tokens, allowing the tokens to be read one at a time. When reading an input string supplied by a user we like to be able to analyze it token by token. To isolate such tokens, we use the String Tokenizer class. We can also use the string Tokenizer to process input from a file line by line.
Q. What is the difference between Text file and Binary file?
Ans: In text file data are stored as per a specific character encoding scheme. In binary files, data are stored in the form of bytes that are machine readable form.
Q. What is the significance of java.io package file?
Ans: The package java.io provides classes that encapsulate input and output stream in various forms. This package provides API that can be used to perform character/byte based data input/output in Java program.