Thursday, 1 December 2016

CONTROL STRUCTURES- if and switch

CONTROL STRUCTURES
Control Flow Statements: There are the situtations when a programmer requires taking decision or to iterate
block of statements for specific number of time, there we use control flow statements.

Control flow statements,however, breakup the flow of execution by decision making, looping, and branching, by execute condition
expressions for particular blocks of code.

ecision making structures have one or more conditions to be evaluated or tested by the program, along with a statement or statements that are to be executed if the condition is determined to be true, and optionally, other statements to be executed if the condition is determined to be false.
Following is the general form of a typical decision making structure found in most of the programming languages −
Decision Making

Control flow structure are of three types :
1. Sequence Control Structure
2. Selection Control Structure
3. Iteration Control Structure (loops)

Sequence Control Structure : Sequence construct means the statements are being executed sequentially. It is a default flow of statement from top to bottom.
Selection Control Structure: When the execution of the statement(s) depends upon a condition test then it is
called selection flow of control. If a condition evaluates to true, one course of action is followed other wise another
course of action is followed. It is achieved by if......else conditional statement and switch ........ case conditional
statement.
if statement:
Syntax:
if (conditional expression)
{
Statement Block;
}
Condition
?
An if statement consists of a Boolean expression followed by one or more statements.

Syntax

Following is the syntax of an if statement −
if(Boolean_expression) {
   // Statements will execute if the Boolean expression is true
}
If the Boolean expression evaluates to true then the block of code inside the if statement will be executed. If not, the first set of code after the end of the if statement (after the closing curly brace) will be executed.

Flow Diagram

If Statement
int x = 10;

      if( x < 20 ) {
         System.out.print("This is if statement");
      }
   }
}
This will produce the following result −

Output

This is if statement. 
 
An if statement can be followed by an optional else statement, which executes when the Boolean expression is false.

Syntax

Following is the syntax of an if...else statement −
if(Boolean_expression) { // Executes when the Boolean expression is true }else { // Executes when the Boolean expression is false } If the boolean expression evaluates to true, then the if block of code will be executed, otherwise else block of code will be executed.

Flow Diagram

If Else Statement
 

int x = 30;

      if( x < 20 ) {
         System.out.print("This is if statement");
      }else {
         System.out.print("This is else statement");
      } 

Output

This is else statement
 
if-else
Syntax:
if (conditional expression)
{
Statement Block;
}
else
{
Statement Block;
}
Block of Statement-1
Block of Statement-2
Nested if else
These control structures are used to test for multiple conditions as against the simple if statement which
can be used to test a single condition.:
Syntax:
if (conditional expression1)
{
statements1;
}
else if (conditional expression2)
{
statements2;
}
else if (conditional expression3)
{
statements3;
}
else
{
statements4;
}

The if...else if...else Statement

An if statement can be followed by an optional else if...else statement, which is very useful to test various conditions using single if...else if statement.
When using if, else if, else statements there are a few points to keep in mind.
  • An if can have zero or one else's and it must come after any else if's.
  • An if can have zero to many else if's and they must come before the else.
  • Once an else if succeeds, none of the remaining else if's or else's will be tested.

Syntax

Following is the syntax of an if...else statement −
if(Boolean_expression 1) {
   // Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2) {
   // Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3) {
   // Executes when the Boolean expression 3 is true
}else {
   // Executes when the none of the above condition is true.
}

Example

public class Test {

   public static void main(String args[]) {
      int x = 30;

      if( x == 10 ) {
         System.out.print("Value of X is 10");
      }else if( x == 20 ) {
         System.out.print("Value of X is 20");
      }else if( x == 30 ) {
         System.out.print("Value of X is 30");
      }else {
         System.out.print("This is else statement");
      }
   }
}
This will produce the following result −

Output

Value of X is 30 
 

Syntax

The syntax for a nested if...else is as follows −
if(Boolean_expression 1) { // Executes when the Boolean expression 1 is true if(Boolean_expression 2) { // Executes when the Boolean expression 2 is true } } You can nest else if...else in the similar way as we have nested if statement.

Example

public class Test { public static void main(String args[]) { int x = 30; int y = 10; if( x == 30 ) { if( y == 10 ) { System.out.print("X = 30 and Y = 10"); } } } } This will produce the following result −

Output

X = 30 and Y = 10
 

(b) switch: This selection statement allows us to test the value of an expression with a series of character or
integer values. On finding a matching value the control jumps to the statement pertaining to that
value and the statement is executed, till the break statement is encountered or the end of switch is
reached.
The syntax of the switch statement is as follows:
switch (Variable/Expression)
{
case Value1 :
statements Block 1 ;
break ;
case Value2 :
statements Block 2
break ;
default:
statements Block 3
}
The following rules apply to a switch statement −
  • The variable used in a switch statement can only be integers, convertable integers (byte, short, char), strings and enums.
  • You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.
  • The value for a case must be the same data type as the variable in the switch and it must be a constant or a literal.
  • When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached.
  • When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.
  • Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached.
  • A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.

Flow Diagram

Switch Statement

Example

public class Test {

   public static void main(String args[]) {
      // char grade = args[0].charAt(0);
      char grade = 'C';

      switch(grade) {
         case 'A' :
            System.out.println("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}
Compile and run the above program using various command line arguments. This will produce the following result −

Output

Well done
Your grade is C

Conditional Operator ( ? : )
Conditional operator is also known as the ternary operator.
This operator consists of three operands and is used to evaluate Boolean expressions.
 The goal of the operator is to decide, which value should be assigned to the variable.
The operator is written as:
variable x = (expression) ? value if true : value if false

The ? : Operator

We have covered conditional operator ? : in the previous chapter which can be used to replace if...else statements. It has the following general form −
Exp1 ? Exp2 : Exp3;
Where Exp1, Exp2, and Exp3 are expressions. Notice the use and placement of the colon.
To determine the value of the whole expression, initially exp1 is evaluated.
  • If the value of exp1 is true, then the value of Exp2 will be the value of the whole expression.
  • If the value of exp1 is false, then Exp3 is evaluated and its value becomes the value of the entire expression.
Following is an example:

public class Test { public static void main(String args[]){ int a, b; a = 10; b = (a == 1) ? 20: 30; System.out.println( "Value of b is : " + b ); b = (a == 10) ? 20: 30; System.out.println( "Value of b is : " + b ); } } This will produce the following result: Value of b is : 30 Value of b is : 20


Switch Statement in Java A switch statement allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case. Syntax The syntax of enhanced for loop is: switch(expression){ case value : //Statements break; //optional case value : //Statements break; //optional //You can have any number of case statements. default : //Optional //Statements } The following rules

The following rules apply to a switch statement:  The variable used in a switch statement can only be integers, convertable integers (byte, short, char), strings and enums.  You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.  The value for a case must be the same data type as the variable in the switch and it must be a constant or a literal.  When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached.  When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.  Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached.

 A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.

char grade = 'C'; switch(grade) { case 'A' : System.out.println("Excellent!"); break; case 'B' : case 'C' : System.out.println("Well done");
break; case 'D' : System.out.println("You passed"); case 'F' : System.out.println("Better try again"); break; default : System.out.println("Invalid grade"); } System.out.println("Your grade is " + grade);

The ? : Operator: We have covered conditional operator ? : in the previous chapter which can be used to replace if...else statements. It has the following general form: Exp1 ? Exp2 : Exp3; Where Exp1, Exp2, and Exp3 are expressions. Notice the use and placement of the colon. To determine the value of the whole expression, initially exp1 is evaluated.  If the value of exp1 is true, then the value of Exp2 will be the value of the whole expression.  If the value of exp1 is false, then Exp3 is evaluated and its value becomes the value of the entire expression.

parse Method and Type Casting

Variable Declaration:
In Java, all variables must be declared before they can be used. The basic form of a variable declaration is:
DataType identifier [ = value][, identifier [= value] ...] ;
Here, The DateType is one of Java's data types. The identifier is the name of the variable. To declare more than one variable
of the specified type, use a comma-separated list.
Note: Java variable names are case sensitive, so MySum and mySum are not same variable.
Example:
int x, y, z; // declares three integers type (int) x, y, and z.
int d = 3, e, f = 5; // declares three more integer with
initialization byte z = 34; // initializes z.
double pi = 3.14; // declares an approximation of pi.
char ch = 'H'; // the variable x has the value 'x'.
parse methods: parse() methods helps to parse string into different numeric types. These are :
parse methods: parse() methods helps to parse string into different numeric types. These are :
Method Syntax Usage
parseByte() Byte.parseByte(string) To convert a string value to byte type
parseShort() Short.parseShort(string) To convert a string value to type short
parseInt() Integer.parseInt(string) To convert a string value to Integer type
parseLong() Long.parseLong() To convert a string value to Long type
parseFloat() Float.parseFloat() To convert a string value to Float type
pareseDouble() Double.parseDouble() To convert a string value to Double type
Type Conversion:
The process of converting one predefined type into another is called Type Conversion. These are of two types:
a) Implicit type conversion
b) Explicit type conversion
 Implicit Type Conversion:
In this conversion java compiler converts all operands up to the type of largest datatype.
The implicit type conversion wherein datatypes are promoted to higher data type is called Coercion.
 Explicit Type Conversion:
An explicit type conversion is user defined that forces an expression to be of specific type.
Syntax :
(DataType) expression
Example :
int x=10, y=15;
(float) ((x+y)/2);
BOOLEAN (LOGICAL) EXPRESSION
Expression that result either true or false is known as boolean expression. It is the combination of constants,
variables, logical and relational operators.
For example:
(a>b) && (a>c)
(m+n) > b || (c+d) > a

Data Types: Primitive and Reference Data tyes

 Data Types

Primitive Data Types: The Java programming language is statically typed, which means that all variables must first
be declared before they can be used. A primitive type is predefined by the language and is named by a reserved
keyword. The eight primitive data types supported by the Java programming language are:





Byte data type is a 8-bit signed two's complement integer.
Minimum value is -128 (-2^7)
Maximum value is 127 (inclusive)(2^7 -1)
Default value is 0
Byte data type is used to save space in large arrays, mainly in place of integers, since a byte is four times
smaller than an int.
Example : byte a = 100 , byte b = -50






short:
int:
long:
float:
double:
boolean:
char:

Shor
t data type is a 16-bit signed two's complement integer.
Minimum value is -32,768 (-2^15)
Maximum value is 32,767(inclusive) (2^15 -1)
Short data type can also be used to save memory as byte data type. A short is 2 times smaller than an int
Default value is 0.
Example : short s= 10000 , short r = -20000





• Int data type is a 32-bit signed two's complement integer.





• Long data type is a 64-bit signed two's complement integer.
Minimum value is -9,223,372,036,854,775,808.(-2^63)
Maximum value is 9,223,372,036,854,775,807 (inclusive). (2^63 -1)
This type is used when a wider range than int is needed.
Default value is 0L.
Example : int a = 100000L, int b = -200000L




• Float data type is a single-precision 32-bit IEEE 754 floating point.
Float is mainly used to save memory in large arrays of floating point numbers.
Default value is 0.0f.
Float data type is never used for precise values such as currency.
Example : float f1 = 234.5f




• double data type is a double-precision 64-bit IEEE 754 floating point.
This data type is generally used as the default data type for decimal values. generally the default choice.
Double data type should never be used for precise values such as currency.
Default value is 0.0d.
Example : double d1 = 123.4




• boolean data type represents one bit of information.
There are only two possible values : true and false.
This data type is used for simple flags that track true/false conditions.
Default value is false.
Example : boolean one = true




• char data type is a single 16-bit Unicode character.
Minimum value is '\u0000' (or 0).
Maximum value is '\uffff' (or 65,535 inclusive).
Char data type is used to store any character.
Example . char myLtr = 'P'
Minimum value is - 2,147,483,648.(-2^31)
Maximum value is 2,147,483,647(inclusive).(2^31 -1)
Int is generally used as the default data type for integral values unless there is a concern about memory.
The default value is 0.
Example : int a = 100000, int b = -200000
Reference Data Types: Reference variables are created using defined constructors of the classes. They are used to access
objects. These variables are declared to be of a specific type that cannot be changed.
For example, Student, Employee etc.




Class objects, and various type of array variables come under reference data type.
Default value of any reference variable is null.
A reference variable can be used to refer to any object ofthe declared type or any compatible type.
Example : Animal animal = new Animal("Elephant");

PROGRAMMING FUNDAMENTALS

RAD: Rapid Application Development is software programming technique that allows quick development of software application.
Integrated Development Environment (IDE): It is a software tool to help programmer to edit, compile, interpret and debug the program in the same environment. i.e Eclipse,NetBeans, VB etc.
Byte code: A byte code is machine instruction that the Java compiler generates and Java interpreter executes. When the compiler compiles a .java file, it produces a series of byte codes and stores them in a .class file. The Java interpreter (JVM) can execute the byte codes stored in the .class file.
JVM: Java Virtual Machine (JVM) is a program which behaves as interpreter and translates the byte code into machine language as they go called just in time compilation.
Source Code: The core program or text which is written in a language like C,C++ or Java is called source code.
Object Code: The program which only is understood by the computer in the form of machine instructions or binary instructions called object code. In Java JVM is used to generate object code in the form of byte code.
GUI: A graphical user interface (GUI) presents a pictorial interface to a program. GUI allows the user to spend less time trying to remember which keystroke sequences do what and spend more time using the
program in a productive manner.

Programming Fundamentals

Token
The smallest individual unit in a program is known as Token. Java has the following types of tokens:
keyword, Identifier, literal, punctuators and operators.
Keywords
Keywords are words that have a specific predefined meaning in Java. They cannot be used as variable
names. They are also known as reserve words. Eg. void, private, if, while etc.
Literals:
Items having fixed data values are referred to as Literals. They are also known as Constants. Various types of literals available in Java are :
 Integer literals
 Floating literals
 Boolean literals
 Character literals
 String literals
 Null literals
Variable: Variable is a named storage location in computer memory whose contents can change during a
program run. The characteristics of a variable are:
(i) It has a valid name.
(ii) It is capable of storing values.
(iii) It provides temporary storage.
(iv) It is capable of changing its value during program execution.
(v) Each variable must declare before use along with its data type.
Punctuators: The following nine ASCII charaters are the separators: ( ) { } [ ]
: ; , ? .
Operators: Operators are special symbols that perform specific operations on one, two, or three operands, and
then return a result.
Atithmetic operators:+ - * / %
Relational Operators :> ,< ,=, >= ,<= ,<> ,!=
Logical Operators:&&, || ,!

Data type: Data type states the way the values of that type are stored in memory, and the range for that type. There
are two data types available in Java:
• Primitive Data Types
• Reference/Object Data Types, !
01Programming Fundamentals
05 Control Structures
06 Java IDE Programming I-II-III
07 Programming Guidelines
08 Database Management System
09 MySQL
10 Function in MySQL
11 IT Applications
12 Sample Papers with Marking Scheme.