0% found this document useful (0 votes)
12 views65 pages

C PGM

The document provides an overview of conditional statements and loops in Java, including the syntax and usage of if statements, else clauses, nested if statements, and while loops. It also covers logical operators, the conditional operator, switch statements, and shorthand operators like increment and decrement. Additionally, it introduces the do statement and highlights the differences between while and do loops in terms of execution frequency.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views65 pages

C PGM

The document provides an overview of conditional statements and loops in Java, including the syntax and usage of if statements, else clauses, nested if statements, and while loops. It also covers logical operators, the conditional operator, switch statements, and shorthand operators like increment and decrement. Additionally, it introduces the do statement and highlights the differences between while and do loops in terms of execution frequency.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 65

C SARANYA

ASSISTANT PROFESSOR
DEPT OF CSE
KIT-KALAIGNARKARUNANIDHI
INSTITUTE OF TECHNOLOGY-CBE.
Conditions and Loops
• The if Statement
The if Statement
• The Java if statement has the following syntax:
if (boolean-condition)
statement;
• If the Boolean condition is true, the statement
is executed; if it is false, the statement is
skipped
• This provides basic decision making capabilities
Tempreture
class Temperature {
static final int THRESHOLD = 65;

public static void main(String[] args) {


InputRequestor input = new InputRequestor();
int temperature =
input.requestInt(“Enter the
temperature:”);
System.out.println(“Current temperature “+
temperature);
if (temperature < THRESHOLD)
System.out.println(“It’s cold in here!”);
}
}
If statement flow diagram
if (condition)
statement;

condition

true

statement
Boolean Expressions
• The condition of an if statement must evaluate to a
true or false result
• Java Operator
has several equality
Meaningand relational operators:
== equal to
!= not equal to
< less than
<= less than or equal to
> greater than
>= greater than or equal to

• More complex Boolean expressions are also possible


Block Statements
• Several statements can be grouped together into a block
statement
• Blocks are delimited by braces
• A block statement can be used wherever a statement is called
for in the Java syntax

if (boolean-condition){
statement1;
statement2;

}
Example - Temperature2
class Temperature2 {
static final int THRESHOLD = 65;

public static void main(String[] args) {


InputRequestor input = new InputRequestor();
int temperature =
input.requestInt(“Enter the
temperature:”);
System.out.println(“Current temperature “+
temperature);
if (temperature < THRESHOLD) {
System.out.println(“It’s cold in here!”);
System.out.println(“But we’ll survive.”);
}
}
}
If .. Else Statement
• An else clause can be added to an if statement to
make it an if-else statement:

if (condition)
statement1;
else
statement2;

• If the condition is true, statement1 is executed; if the


condition is false, statement2 is executed
Example - Temperature3
class Temperature3 {
static final int FREEZING_POINT = 32;

public static void main(String[] args) {


InputRequestor input = new InputRequestor();
int temperature =
input.requestInt(“Enter temperature:”);
if (temperature <= FREEZING_POINT)
System.out.println(“It’s freezing!”);
else
System.out.println(“Above freezing.”);
}
}
If/else flow diagram
if (condition)
statement1;
else
statement2;

true
condition

statement1 statement2
Nested If statements
• Since an “If” statement is a statement, it can appear inside another
if statement.

if (condition1)
if (condition2)
statement;

• It can also appear in an “else” clause

if (condition1)
statement1;
else if (condition2)
statement2;
Nested If Example
// Reads 2 integers and compares them
class CompareExample {
public static void main(String[] args) {
InputRequestor input = new InputRequestor();
int a = input.requestInt(“First number:”);
int b = input.requestInt(“Second number:”);
if (a != b){
if (a > b)
System.out.println(a+” is greater”);
else
System.out.println(b+” is greater”);
}else
System.out.println(“the numbers are equal”);
}
}
Checking your Input
• When requesting input from the user, keep in mind that the input may be
invalid.
• It is good practice to check the validity of user input

int numberOfItems =
input.requestInt(“Enter number of items:”);
if (numberOfItems < 0) {
System.out.println(
“Number of items must be positive!”);
} else {
double price = numberOfItems * ITEM_PRICE;
System.out.println(“The total price is:“ +price);
}
Conditions and
Loops
• Boolean Expressions
Logical Operators
• Boolean expressions may be combined using logical
operators
• There are three logical operators
Operator in Java:
Operation
! Logical NOT
&& Logical AND
|| Logical OR

• They all take Boolean operands and produce Boolean results


• Logical NOT is unary (one operand), but logical AND and OR
are binary (two operands)
Logical NOT
• The logical NOT is also called logical negation
or logical complement
• If a is true, !a is false; if a is false, then !a is
true
a !a
• Logical expressions
false can be shown using truth
true
tables true false
Logical AND
• The expression a && b is true if both a and
b are true, and false otherwise
• Truth tables show all possible combinations of
all terms
a b a && b
false false false
false true false
true false false
true true true
Logical OR
• The expression a || b is true if a or b or
both are true, and false otherwise

a b a || b
false false false
false true true
true false true
true true true
Logical Operators
• Logical operators are used to form more complex
logical expressions
if (a<1 || a%2!=0)
System.out.println(
“The input should be an even even number!”);

• Logical operators have precedence relationships


between themselves and other operators
Logical Operators
• Full expressions can be evaluated using truth
tables
a < 1 a%2!=0 a<1 || a%2=0
false false false
false true false
true false false
true true true
Boolean variables
•boolean
Boolean
b, c;
expressions can be assigned to
b =Boolean
(x > 17);variables
c = (x>17) && (x<60);

boolean b, c;
b = (x > 17);
• Boolean variables are Boolean expressions
c = b && (x<60);
if (c)
System.out.println(“x is in range”);
Example - RightTriangle
// Receives the length of the edges of a triangle
// and determine if this is a right triangle
class RightTriangle {
public static void main(String[] args) {
InputRequestor input = new InputRequestor();
float a = input.requestInt(“Edge1:”);
float b = input.requestInt(“Edge2:”);
float c = input.requestInt(“Hypotenuse:”);
boolean test = a*a+b*b == c*c;
if (test)
System.out.println(“It’s a right triangle”);
else
System.out.println(“It’s not a right
triangle”);
}
}
conditions and loops

• The while Statement


The while statement
• A while statement has the following syntax:
while (condition)
statement;
• If the condition is true, the statement is executed; then the
condition is evaluated again
• The statement is executed over and over until the condition
becomes false
• If the condition of a while statement is false initially, the
statement is never executed
• Therefore, we say that a while statement executes zero or
more times
While statement flow diagram
while (condition)
statement;

condition

true

statement
Example - Counter
// Counts from 1 to 5
class Counter {
static final int LIMIT = 5;

public static void main(String[] args) {


int count = 1;
while (count <= LIMIT) {
System.out.println(count);
count = count + 1;
}
System.out.println(“done”);
}
}
Examples - Factors
// Gets an integer and prints its factors
class FactorsExample {
public static void main(String[] args) {
InputRequestor input = new InputRequestor();
int a = input.requestInt(“Enter a number:”);
int i = 1;
System.out.println(“The divisors of “+a+”
are:”);
while (i <= a) {
if (a%i == 0) {
System.out.println(i);
}
i = i + 1;
}
}
}
Infinite Loops
• The body of a while loop must eventually
make the condition false
• If not, it is an infinite loop, which will execute
until the user interrupts the program
• This is a common type of logical error --
always double check that your loops will
terminate normally
Example - Forever
// This program contains an infinite loop
class Forever {
static final int LIMIT = 25;

public static void main(String[] args) {


int count = 1;
while (count <= LIMIT) {
System.out.println(count);
count = count - 1;
}
}
}
conditions and loops

• More conditionals
The Conditional Operator
• Java has a conditional operator that evaluates a
Boolean condition that determines which of two
expressions is evaluated
• The result of the chosen expression is the result of the
entire conditional operator
• Its syntax is:
condition ? expression1 :
expression2
• If the condition is true, expression1 is evaluated; if it is
false, expression2 is evaluated
The Conditional Operator
• It is similar to an if-else statement, except that
it is an expression that returns a value
int max = (a > b) ? a : b;
• For example:

• If a is greater that b, then a is assigned to max;


otherwise, b is assigned to max
• The conditional operator is ternary, meaning it
requires three operands
The Conditional Operator
• Another example:
System.out.println ("Your change is " + count +
((count == 1) ? "Dime" : "Dimes”));

• If count equals 1, "Dime" is printed,


otherwise "Dimes" is printed
Another Selection Statement
• The if and the if-else statements are selection statements,
allowing us to select which statement to perform next based on
some Boolean condition

• Another selection construct, called the switch statement,


provides another way to choose the next action

• The switch statement evaluates an expression, then attempts


to match the result to one of a series of values

• Execution transfers to statement list associated with the first


value that matches
The switch Statement
• The syntax of the switch statement is:
switch (expression) {
case value1:
statement-list1
case value2:
statement-list2
case …
}
The switch Statement
• The expression must evaluate to an integral
value, such as an integer or character
• The break statement is usually used to
terminate the statement list of each case,
which causes control to jump to the end of the
switch statement
• A default case can be added to the end of
the list of cases, and will execute if no other
case matches
/**
The switch Statement
* A client that enables you to connect to the
* bank server and make remote banking operations...
*/
public class BankClient {
public static final int VIEW_BALANCE = 1;
public static final int VIEW_SAVINGS = 2;
public static final int CASH_TRANSFER = 3;
public static final int VIEW_LAST_OPERATIONS =
4;
// ...
The switch Statement
// Inside the main loop of the client:
int option =
InputRequestor.requentInt(“Enter your choice:”);
switch(option) {
case VIEW_BALANCE:
showBalance();
break;
case VIEW_SAVINGS:
showSavings();
break;
default:
output.showMessage(“No such option!”);
}
conditions and loops

Shorthand Operators
Shorthand Operators
• Many operations are very commonly used
x = x + 1;
sum = sum + x;

• Java has shorthand notations for these


– increment and decrement operators
– assignment operators
The Increment and Decrement Operators

• The increment operator (++) adds one to its


integer or floating point operand
• The decrement operator (--) subtracts one
count++;
• The statement
count = count + 1;
is essentially equivalent to
The Increment and Decrement Operators

• The increment and decrement operators can be


applied in prefix (before the variable) or postfix
(after the variable) form
• When used alone in a statement, the prefix and
count++;
postfix forms are basically equivalent. That is,
++count;

is equivalent to
The Increment and Decrement Operators

• When used in a larger expression, the prefix


and postfix forms have a different effect
• In both cases the variable is incremented
(decremented)
Expressions Operation Value Of expression
• But the value used in the larger expression
count++ add 1 old value
depends
++count
on the
add 1
form new value
count-- subtract 1 old value
--count subtract 1 new value
The Increment and Decrement Operators
• If count currently contains 45, then
total = count++;

assigns 45 to total and 46 to count


• If count
total currently
= ++count; contains 45, then

assigns the value 46 to both total and


count
The Increment and Decrement Operators
• If sum contains 25, what does this
statement print?
System.out.println (sum++ + " " +
++sum + " " +
sum + " " +
sum--);

• Prints the following result:


25 27 27 27

• sum contains 26 after the line is complete


Assignment Operators
• Often we perform an operation on a variable,
then store the result back into that variable
• Java provides assignment operators that
simplify
sum that process
+= value;

• For example, the statement


sum = sum + value;

is equivalent to
Assignment Operators
• There are many such assignment operators,
always written as op= , such as:
Operator Example Equivalent to
+= x+=y x = x + y
-= x-=y x = x - y
*= x*=y x = x * y
/= x/=y x = x / y
%= x%=y x = x % y
Assignment Operators
• The right hand side of an assignment operator
can be a complete expression
• The entire right-hand expression is evaluated
first, /=
result then combined with the additional
total-MIN;

operation
result = result / (total-MIN);
• Therefore
result /= total-MIN;

is equivalent to
conditions and loops

More Repetition
More Repetition Constructs
• In addition to while loops, Java has two
other constructs used to perform repetition:
– the do statement
– the for statement

• Each loop type has its own unique


characteristics
• You must choose which loop type to use in
each situation
The do Statement
• The do statement has the following syntax:
do
statement
while (condition);
• The statement is executed until the condition
becomes false
• It is similar to a while statement, except that its
termination condition is evaluated after the loop body
The do Statement
• The key difference between a do loop and a while
loop is that the body of the do loop will execute at
least once

• If the condition of a while loop is false initially, the


body of the loop is never executed

• Another way to put this is that a while loop will


execute zero or more times and a do loop will
execute one or more times
Do Statement Example
// Gets an integer and prints its factors
class AvgExample {
public static void main(String[] args){
InputRequestor input = new InputRequestor();
double x, sum=0, count=-1;
do {
x = input.RequestDouble(“Next number:”);
sum += x;
count++;
} while (x != 0);
// 0 is a flag indicating end of input
System.out.println(“The average is
“+sum/count);
}
}
The do Statement flow diagram

statement

true
condition

false
The for Statement
• Many loops have a common pattern, captured
by the for statement
• The syntax of the for loop is
for (intialization; condition;
increment)
statement;
• This is equivalent to
initialization;
while (condition) {
The for Statement: examples
• Examples:
for (int count=1; count < 75; count++) {
System.out.println (count);
}

for (int num=1; num <= max; num = num * 2) {


System.out.println (“Next power of 2: “ + num);
}
The for Statement
• The initialization is always performed once
• The condition of a for statement is tested
prior to executing the loop body (like in the
while statement)
• Therefore, a for loop will execute zero or
more times
• For loops are well suited for cases where the
number of iterations is known beforehand
• The increment is executed after each iteration
of the loop
Omitting parts in a for Statement
• Each expression in the header of a for loop is
optional
– If the initialization is left out, no initialization is
performed
– If(;;)
for the condition is left out,
{// an infinite loopit is always considered
to be true, and therefore
System.out.println makes an infinite loop
(“beep”);
}
– If the increment is left out, no increment
// compute a value count
foroperation
(; countis<performed
max ; count ++ ) {
• Both semi-colons are always required
System.out.println (count);
}
The for Statement flow diagram
initialization

false
condition

true

statement

increment
Multiplication Table Example
class MultiplicationTable {
public static void main(String[] args){
for(int j=1 ; j <= 10 ; j++) {
for(int k=1 ; k <= 10 ; k++)
System.out.print(j*k);
System.out.println();
}
}
}
The break and continue
statements
• The break statement, which we used with
switch statements, can also be used inside a
loop
• When the break statement is executed,
control jumps to the statement after the loop
(the condition is not evaluated again)
• A similar construct, the continue
statement, can also be executed in a loop
• When the continue statement is executed,
control jumps to the end of the loop and the
Break and Continue Example
class AvgExample2 {
public static void main(String[] args){
InputRequestor in = new InputRequestor();
double x, sum = 0; count = 0;
while(true){
x = in.RequestDouble();
if (x == 0)
break;
if (x < 0) {
System.out.println(“Only positive numbers!”);
continue;
}
sum += x ;
count ++ ;
} // continued on next page
Break and Continue Example (2)
System.out.println(“The average is “+sum/count);

}
}
Why do
class Mystery {
We Need Indentation?
public static void main(String[] args) {
InputRequestor in = new InputRequestor();
int dimension =
in.requestInt(“Please enter the dimension”);

for (int j = 0; j < dimension; j++) {


for (int k = 1; k < dimension - j; k++) {
System.out.print(" ");
}
for (int k = 0; k < j; k++) {
System.out.print("*");
}
System.out.println();
}}}

You might also like