java i lecture_4

37
Java I--Copyright © 2000 Tom Hunter

Upload: mithun-dp

Post on 26-May-2015

51 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Page 2: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Chapter 4

Control Structures: Part I

Page 3: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

“ There is No goto in Java ”

• Structured programming: the building blocks

• There are 3 different kinds of operations in a program:

perform a sequence of actions,

perform a selection between alternative actions, or

perform a repetition or iteration of the same action.

Sequence, Selection, Iteration

Structured Programming

Page 4: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

• Sequence: one thing after another

Structured Programming

task1

task2

task3

Page 5: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

• Selection: making choices

Structured Programming

taskA

taskB

?YES

NOStructured

programming,

only one entrance,

only one exit.

Page 6: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

• Repetition, Part I: doing the same thing again until there’s a reason to stop.

Structured Programming

taskATRUE

FALSE

Do while: maybe won’t ever do taskA even once.

“A while loop repeats as long as a condition is true.”

expression?

Page 7: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

• Repetition, Part II: doing the same thing again until there’s a reason to stop.

Structured Programming

taskA

?TRUE

FALSE

Do until: will always do taskA at least once.“A Do Until loop repeats as long as a condition is false.”

Page 8: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Structured Programming

Procedural Structured Programming

• Begin at the top, move to the bottom.

• Each program unit has only one entrance and only one exit.

Page 9: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Selection in JavaObject Oriented Programming

• Within a method, procedural code.

• Simple ‘if’ with or without brackets.

if( expression )statement;

if( expression ){ statement;}

Page 10: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Object Oriented Programming

• Simple ‘if’ with or without brackets.

if( expression )statement;

if( expression ){ statement;}

• Within brackets, a “block.”

Selection in Java

Page 11: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Object Oriented Programming

• Simple ‘if’ / ‘else’ without brackets.

if( expression )statement;

elsestatement;

• Without brackets, limit of only one statement per branch.

Selection in Java

Page 12: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

w

Object Oriented Programming

• Simple ‘if’ / ‘else’ with brackets.

if( expression ){

statement;statement;

}else

{statement;statement;

}

Selection in Java

Page 13: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

• Compound ‘if’ / ‘else if’ / ‘else if’ / ‘else’.

if( expression ){

statement;}

else if( expression ){

statement;}

else{

statement;}

Selection in Java

Page 14: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

• Special “Ternary” ? : Operator—shorthand ‘if’ / ‘else’

1.) expression must evaluate to True or False.

2.) If expression is True, execute the command before the colon.

3.) If expression is False, execute the command after the colon.

Do thisif expression

is True

Do this if expression

is False

Selection in Java

System.out.print(expression ? “True” : “False”)

Page 15: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

while—“the Do While”

• The Test is First

Repetition: while Part I

while( expression )statement;

Page 16: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

while—“the Do While”

• The Test is First

Repetition: while Part I

while( expression ){

statement;statement;

}

The while { “Do While” } is used when you can’t predict exactly how many times your loop will be executed.

The while may not be executed even once. It executes the loop while the expression is still true.

w

Page 17: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

// DoUntil.java// Even though "c" begins the loop false,// it still executes at least once.

public class DoUntil{ public static void main( String args[] ) { boolean c = false; do { System.out.println( ”Execute DoUntil at least once " ); } while( c ); System.exit( 0 ); }}

Page 18: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

while—“the Do Until”

• The Test is Last

Repetition: while Part II

do{

statement;statement;

}

while( expression );

w

This do/while {“Do Until”} is also used when you can’t predict exactly how many times your loop will be executed.

It executes at least once. It executes Until the expression becomes false.

Page 19: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

// WhileTest.java// Since "c" is already false when it reaches the// test, the loop never executes.

public class DoWhile{ public static void main( String args[] ) { boolean c = false

while( c ) {

System.out.println( ”Execute DoWhile while c is true" ); }

System.exit( 0 ); }}

Page 20: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

// SelectionTest.javaimport javax.swing.*;

public class SelectionTest{

public static void main( String args[] ){

int b, s;String big, small, out;

big = JOptionPane.showInputDialog( "Big Number" );small = JOptionPane.showInputDialog( "Small Number" );b = Integer.parseInt( big );s = Integer.parseInt( small );

out = ( b > s ? "Big was larger" : "Small was larger" );

JOptionPane.showMessageDialog( null, out, "Results",JOptionPane.INFORMATION_MESSAGE);

System.exit( 0 );}

}

• Test Trinary Operator

Page 21: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

// DoWhileTest.javaimport javax.swing.*;

public class DoWhileTest{

public static void main( String args[] ){ int b = 2, s = 1; String big, small, out = “Big is still Bigger”;

while( b > s ) { JOptionPane.showMessageDialog( null,

out, "Results",JOptionPane.INFORMATION_MESSAGE);

big = JOptionPane.showInputDialog( "Big Number" ); small = JOptionPane.showInputDialog( "Small Number" ); b = Integer.parseInt( big ); s = Integer.parseInt( small ); }

System.exit( 0 );}

}

• Test DoWhile

Page 22: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

// DoUntilTest.javaimport javax.swing.*;

public class DoUntilTest{

public static void main( String args[] ){ int b = 2, s = 1; // preload variables. String big, small, out = “Big is still Bigger”;

do{ JOptionPane.showMessageDialog( null,

out, "Results",JOptionPane.INFORMATION_MESSAGE);

big = JOptionPane.showInputDialog( "Big Number" ); small = JOptionPane.showInputDialog( "Small Number" ); b = Integer.parseInt( big ); s = Integer.parseInt( small );}

while( b > s );

System.exit( 0 );}

}

• Test DoUntil

Page 23: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Repetition: while Loops

• The majority of applications use the plain while loop.

• Choose either while loop when you can’t know in advance how many times the loop will be executed.

• The loop is repeated until it encounters a sentinel value,

that announces that the loop has finished.

Page 24: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators• We are already familiar with this statement:

int x;

x = 15;

• This means the value 15 is placed into the variable x.

• We say, “15 is assigned to x.”

• In Java, a single equals sign is the assignment operator.

Page 25: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators

• Another common bit of code is this:int x; Declares x as an int.

x = 15;After this assignment,x contains 15.

x = x + 5;After this assignment,x contains 20.

First the addition on the right is done. Then, the result is assigned to the the variable on the left.

Page 26: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators

• Java offers a shortcut to the statement below:

int x = 15;

x = x + 5;After this assignment,x contains 20.

x += 5;

After this assignment,x contains 20.

+=

Page 27: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators

• Java offers a shortcut to the statement below:

int x = 15;

x = x - 5;After this assignment,x contains 10.

x -= 5;

After this assignment,x contains 10.

-=

Page 28: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators

• Java offers a shortcut to the statement below:

int x = 15;

x = x * 5;After this assignment,x contains 75.

x *= 5;

After this assignment,x contains 75.

*=

Page 29: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators

• Java offers a shortcut to the statement below:

int x = 15;

x = x / 5;After this assignment,x contains 3.

x /= 5;

After this assignment,x contains 3.

/=

Page 30: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Assignment Operators

• Java offers a shortcut to the statement below:

int x = 15;

x = x % 5;After this assignment,x contains 0.

x %= 5;

After this assignment,x contains 0.

%=

Page 31: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Increment/Decrement Operators

• There is one addition statement in Java that is so common, it gets its own operator.

• It means, simply, “Add one to the variable.”

x++ x--

Page 32: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Increment/Decrement Operators

• Java offers a shortcut to the statement below:

int x = 2;

x = x + 1;After this assignment,x contains 3.

x++;

After this assignment,x contains 3.x++

Page 33: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Increment/Decrement Operators

• Java offers a shortcut to the statement below:

int x = 2;

x = x - 1;After this assignment,x contains 1.

x--;After this assignment,x contains 1.

x--

Page 34: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Increment/Decrement Operators

• You can do a pre-increment, or a post-increment.

Pre Post

++x; x++;

--x; x--;

• If each of these statements is on a line by itself, there is no difference in the effect of doing a pre- or post-increment.

Page 35: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

Increment/Decrement Operators

• If each of these statements is on a line by itself, there is no difference in the effect of doing a pre- or post-increment.

• However, if the variable—which is having the pre- or post-increment applied to it—is used within another statement, your choice of pre- or post-increment can alter your results.

Page 36: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter

// PrePostIncrement.java

public class PrePostIncrement{

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

System.out.println( " Baseline, x = " + x );

System.out.println( "\n Pre-increment = ++x = " + ++x );

System.out.println( "\n After increment, x = " + x );

x = 0; System.out.println( "\n 2nd Baseline, x = " + x );

System.out.println( "\n Post-increment = x++ = " + x++ );

System.out.println( "\n After increment, x = " + x );

System.exit( 0 );}

}

Baseline, x = 0

Pre-increment = ++x = 1

After increment, x = 1

2nd Baseline, x = 0

Post-increment = x++ = 0

After increment, x = 1

w

Page 37: Java i lecture_4

Java I--Copyright © 2000 Tom Hunter