0% found this document useful (0 votes)
6 views38 pages

Java Control-flow Sunulan 2024 Pylş

Uploaded by

dosiw40588
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views38 pages

Java Control-flow Sunulan 2024 Pylş

Uploaded by

dosiw40588
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Control Flow

Computer Engineering Department


Object Oriented Programming Course
Prof. Dr. Ahmet Sayar
Kocaeli University - Fall 2024
IF Statement
If Statement
if (CONDITION) {
STATEMENTS
} else {
STATEMENTS
}
Comparison operators
• x > y: x is greater than y
• x < y: x is less than y
• x >= y: x is greater than or equal to x
• x <= y: x is less than or equal to y

• x == y: x equals y
• ( equality: ==, assignment: = )
Boolean operators
• &&: logical AND
• ||: logical OR
Multibranch if-else
Statements
• syntax
if (Boolean_Expression_1)
Statement_1
else if (Boolean_Expression_2)
Statement_2
else if (Boolean_Expression_3)
Statement_3
else if …
else
Default_Statement
Compound Boolean
Expressions
• Boolean expressions can be combined using
the “and” (&&) operator.
• example
if ((score > 0) && (score <= 100))
...
• not allowed
if (0 < score <= 100)
...
Negating a Boolean
Expression
• A boolean expression can be negated using
the “not” (!) operator.
• syntax
!(Boolean_Expression)
• example
(a || b) && !(a && b)
which is the exclusive or
Nested Statements
• An if-else statement can contain any sort of
statement within it.
• In particular, it can contain another if-else
statement.
– An if-else may be nested within the “if”
part.
– An if-else may be nested within the “else”
part.
– An if-else may be nested within both parts.
Nested Statements, cont.
• syntax
if (Boolean_Expression_1)
if (Boolean_Expression_2)
Statement_1)
else
Statement_2)
else
if (Boolean_Expression_3)
Statement_3)
else
Statement_4);
The switch Statement
• The switch statement is a multiway branch
that makes a decision based on an integral
(integer or character) expression.

• The switch statement begins with the


keyword switch followed by an integral
expression in parentheses and called the
controlling expression.
The switch Statement, cont.
• The action associated with a matching
case label is executed.
• If no match is found, the case labeled
default is executed.
– The default case is optional, but
recommended, even if it simply prints
a message.
• Repeated case labels are not allowed.
The switch Statement, cont.
Switch Example
int i=1; // outputs for differing values of i : (0, 1, 2, 3)
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
default:
System.out.println("default");
}
Switch Variable Types
• We can apply Switch just on data type
compatible short, Short, byte, Byte, int,
Integer, char, Character or enum type.
• Evaluating String variables with a switch
statement have been implemented in Java SE
7, and hence it only works in java 7
• See your Java version in NetBeans
– Tools – Java Platforms
The Conditional Operator
if (n1 > n2)
max = n1;
else
max = n2;
can be written as
max = (n1 > n2) ? n1 : n2;
• The ? and : together are call the
conditional operator or ternary operator.
LOOPS
Java Loop Statements:
Outline
• The while Statement
• The do-while Statement
• The for Statement
the while Statement, cont.
The do-while Statement
• Also called a do-while loop
• Similar to a while statement, except that the
loop body is executed at least once
• syntax
do
Body_Statement
while (Boolean_Expression);

– don’t forget the semicolon!


The do-while Statement, cont.
The for Statement

• A for statement executes the body of a


loop a fixed number of times.
• Example
for (count = 1; count < 3; count++)
System.out.println(count);
System.out.println(“Done”);

//watch out the usage of ‘{‘ and ‘}’


Multiple Initialization, etc.
• example
for (n = 1, p = 1; n < 10; n++)
p=p*n;
• Only one boolean expression is allowed, but
it can consist of &&s, ||s, and !s.
• Multiple update actions are allowed, too.
for (n = 1, p = 1; n < 10; n++, p=p * n)
rarely used
Example
for (n = 20, p = 1; p < n; n++, p=p * 5){
System.out.println("n: " +n+" "+"p: " +p);
}

What is the output of this code?


The Empty for Statement
• What is printed by
int product = 1, number;
for (number = 1; number <= 10; number++);
product = product * number;

System.out.println(product);?

• The last semicolon in


for (number = 1; number <= 10; number++);
produces an empty for statement.
• for(;;){
System.out.println(“infinite loop");
}
Choosing a Loop Statement
• If you know how many times the loop will be
iterated, use a for loop.
• If you don’t know how many times the loop
will be iterated, but
– it could be zero, use a while loop
– it will be at least once, use a do-while loop.
• Generally, a while loop is a safe choice.
The break Statement in
Loops
• A break statement can be used to end a loop
immediately.
• The break statement ends only the
innermost loop or switch statement that
contains the break statement.
• break statements make loops more difficult to
understand.
• Use break statements sparingly (if ever).
Example
for(int i=0; i<2; i++){
System.out.println("i: "+i);
for (int j = 0; j < 3; j++) {
System.out.println("j: "+j);
if (j==1) {
break;
}
}
}
The break Statement in Loops, cont.
Branching Statements
The exit Method
• Sometimes a situation arises that makes
continuing the program pointless.
• A program can be terminated normally by
System.exit(0).

• Example
if (numberOfWinners == 0)
{
System.out.println(“/ by 0”);
System.exit(0);
}
Embedded Loops
Ending a Loop
• If the number of iterations is known before the
loop starts, the loop is called a count-
controlled loop.
– use a for loop.
• Asking the user before each iteration if it is
time to end the loop is called the ask-before-
iterating technique.
– appropriate for a small number of iterations
– Use a while loop or a do-while loop.
Ending a Loop, cont.
• For large input lists, a sentinel value can be
used to signal the end of the list.
– The sentinel value must be different from
all the other possible inputs.
– A negative number following a long list of
nonnegative exam scores could be
suitable.
90
0
10
-1
Example: class ExamAverager
Naming Boolean Variables
• Choose names such as isPositive or
systemsAreOk.
• Avoid names such as numberSign or
systemStatus.
Precedence Rules in Boolean
Expressions
Precedence Rules, cont.
• In what order are the operations
performed?

score < min/2 - 10 || score > 90


score < (min/2) - 10 || score > 90
score < ((min/2) - 10) || score > 90
(score < ((min/2) - 10)) || score > 90
(score < ((min/2) - 10)) || (score > 90)

You might also like