(savitch, chapter 4)cs160/.summer16/slides/...flow of control: loops (savitch, chapter 4) topics •...

11
Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement CS 160, Summer Semester 2016 2 int count = 1; int sum = 0; while (count < 5) { sum += count; count++; } What exactly does this code do? 3 CS 160, Summer Semester 2016 CS 160, Summer Semester 2016 4

Upload: others

Post on 08-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

Flow of Control: Loops(Savitch, Chapter 4)

TOPICS • while Loops• do while Loops• for Loops• break Statement• continue Statement

CS 160, Summer Semester 2016 2

int count = 1;

int sum = 0;

while (count < 5)

{

sum += count;

count++;

}

What exactly does this code do?

3CS 160, Summer Semester 2016 CS 160, Summer Semester 2016 4

Page 2: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

while (condition)

body

• conditiontrue

• body or{ }

CS 160, Summer Semester 2016 5

import java.util.Scanner;

public class Foo { public static void main(String[] args) { Scanner in_str = new Scanner(System.in); String user_string = in_str.next(); while (!user_string.equals("quit")) { System.out.println(user_string); user_string = in_str.next(); } }}

CS 160, Summer Semester 2016 6

• “import java.util.Scanner;”

–••

7CS 160, Summer Semester 2016

•–

8CS 160, Summer Semester 2016

Page 3: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

•int count = 1;

int sum = 0;

while (count <= 5)

{

sum += count;

}

9

count never gets updated – always = 1

CS 160, Summer Semester 2016

•–

––––

10CS 160, Summer Semester 2016

public class foo { public static void main(String[] args) { int number = Integer.parseInt(args[0]); int divisor = 2; while (divisor < number ) { if ((number % divisor) == 0) { System.out.print(divisor + " "); } divisor = divisor + 1; } }}

11CS 160, Summer Semester 2016

–––– …

12CS 160, Summer Semester 2016

Page 4: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

Integer.parseInt(args[0]);

13CS 160, Summer Semester 2016

14CS 160, Summer Semester 2016

public class Foo { public static void main(String[] args) { String str = args[0]; int ctr = 0; while (ctr < str.length()) { switch(str.charAt(ctr)) { case 'a' : case 'e' : case 'i' : case 'o' : case 'u' : break; default : System.out.print(str.charAt(ctr)); } ctr = ctr + 1; } …

15CS 160, Summer Semester 2016

– …•

16CS 160, Summer Semester 2016

Page 5: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

•–

•–

•–

•–

17CS 160, Summer Semester 2016

for

–•

–•

18CS 160, Summer Semester 2016

for (initialization; condition; update) body

•–––

•••

19

for

CS 160, Summer Semester 2016 20

for

CS 160, Summer Semester 2016

Page 6: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

int sum = 0;for(int count=1; count <= 5; count++)

sum +=count;

21CS 160, Summer Semester 2016

for while

•for (initialization; condition; update )

statement;

•initialization;

while (condition)

{

statement;

update;

}

22CS 160, Summer Semester 2016

System.out.println(“\tDEGREES C\tDEGREES F”);

for (int cent = 50; cent <= 100; cent++) { double fahr = (9.0 / 5.0) * cent + 32.0; System.out.print(“\t” + cent); System.out.println(“\t” + fahr);}

23CS 160, Summer Semester 2016

String s = “nice string”;

for (int i=s.length()-1; i>= 0; i--)

{

System.out.print(s.charAt(i));

}

What happens if we use println

instead of print?

Why the -1?

24CS 160, Summer Semester 2016

Page 7: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

for

• forint x = 1;

for( int lo = 0, hi = 10; lo < hi; lo++, hi--)

System.out.println( x++ );

• forString s = “Javarules”;

int i = s.length( ) – 1;

for ( ; i>=0; )

System.out.print( s.charAt(i--) );

12345

seluravaJ

25CS 160, Summer Semester 2016

do while

do { body } while (condition);

•••

26CS 160, Summer Semester 2016

int count = 1;

int sum = 0;

do

{

sum += count;

count++;

} while (count <= 5);

27CS 160, Summer Semester 2016

do while while

do statement; while (condition);

statement;while (condition) statement;

28CS 160, Summer Semester 2016

Page 8: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

– …

29CS 160, Summer Semester 2016

•––––––

30CS 160, Summer Semester 2016

•––––– …–

•–––

31CS 160, Summer Semester 2016

When the user is entering a set of data, you need someway for them to say “no more” -- called a sentinel.

sentinel

pattern

Scanner in = new Scanner( System.in );int score = 0, sumOfScores = 0;do {

sumOfScores += score;System.out.println("Enter score [or -1 for end of input]: ");score = in.nextInt( );

} while( score != -1 );System.out.println("Sum of scores was " + sumOfScores);

32CS 160, Summer Semester 2016

Page 9: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

•––

•––

•––

33CS 160, Summer Semester 2016

•*******************************************************

ALGORITHMOUTER LOOP: 10 times (10 rows) INNER LOOP: 1 to outer loop counter

print *go to next line

34CS 160, Summer Semester 2016

public class Stars { public static void main(String[] args) { for( int c = 1; c <= 10; c++ ) { for( int i = 0; i < c; i++ ) { System.out.print( '*' ); } System.out.println( ); } }}

Why do we have an empty println ?

35CS 160, Summer Semester 2016

••

•• while

36CS 160, Summer Semester 2016

Page 10: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

for ( int i=1; i<100; i++ ) {

System.out.print( “*” ); }

Prints 99 stars.Why?

37CS 160, Summer Semester 2016

for ( int i=0; i<100; i++ );{System.out.print( “*” );}

Prints ONE star!Why?

38CS 160, Summer Semester 2016

while( true ) computeSquares();

x = 1;while( x < 10 ); x = x + 5;

for (int i=1; i>0; i++ ) processOutput( );

y = 1;while( y < 10 ) System.out.print( y ); y++;

39CS 160, Summer Semester 2016

•–

• break continue–

• System.out.println(“Str: “ + Str);

•– for

•–

•–

CS 160, Summer Semester 2016 40

Page 11: (Savitch, Chapter 4)cs160/.Summer16/slides/...Flow of Control: Loops (Savitch, Chapter 4) TOPICS • while Loops • do while Loops • for Loops • break Statement • continue Statement

••••

41CS 160, Summer Semester 2016