Introduction to Java & BlueJ Environment


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 [2010]

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.


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.


Conditionals and non-nested loops


Q. What is a statement?
Ans: Statements are the instructions given to 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) statementif(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.
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.

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 Exampleif(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.
  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.
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.


Elementary Concepts of Object & Class


Q. What is an Object?

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?     OR
Q. Name any two OOP'S principles.

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 than 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.

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.

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


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.

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. 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 of 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 127short -> -32768 to 32767int -> -231 to 231-1long ->-263 to 263-1float -> -3.4x1038 to 3.4x1038double -> -1.7x10308 to 1.7x10308char -> 0 to 65536boolean - > 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?

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?

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 3binary 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?

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?

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?

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?

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 value. 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.

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.

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.

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("are you?");







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? 
Ans: Constructor is used create an instance of of a class, This can be also called creating an object.0

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? 
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 a 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.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;  }}




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. [2010]
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 Time 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


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) data type? [2009]
Ans: Yes, we can refer to a class not having a main() method as user-defined data type. 

Q. What is the difference between primitive data types and composite data types?
Ans: (i) primitive data types are built-in data types. Java provides these data types. User-defined data types are created by users. (ii) The size of primitive data types are fixed. The size of user-defined data types are variable. (iii) Primitive data types are available in all parts of Java programs. The availability of user-defined data types depends upon their scope. 

Q. Compare a class as a user defined data type and class as an application?
Ans: In Java, all functionality is enclosed in classes. But in order for a class to be user-defined data type, 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 data type. Such classes (containing main() method) are more analogues to application than a data type.

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





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?                          
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.
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 Statementint i=0;while(i<=10){  i++;  if(i==5)    break;  System.out.println(i);}e.g. of Continue Statementint 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.
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.
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]   ORQ. What do you meant by an endless loop? Give an example.
Ans: Infinite loop is an endless loop whose number of iterations are not 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 of times. 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.