Chapter 4 Introduction to Control Statements - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Chapter 4 Introduction to Control Statements

Description:

The two abs() methods are ... JFrame class's pack() method will cause the window to adjust its ... provides several useful methods, such as sqrt and abs. ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 57
Provided by: masco
Category:

less

Transcript and Presenter's Notes

Title: Chapter 4 Introduction to Control Statements


1
Chapter 4Introduction to Control Statements
  • Fundamentals of Java

2
Objectives
  • Use the increment and decrement operators.
  • Use standard math methods.
  • Use if and if-else statements to make choices.

3
Objectives (cont.)
  • Use while and for loops to repeat a process.
  • Construct appropriate conditions for control
    statements using relational operators.
  • Detect and correct common loop errors.

4
Vocabulary
  • Control statements
  • Counter
  • Count-controlled loop
  • Entry-controlled loop
  • Flowchart
  • Infinite loop

5
Vocabulary (cont.)
  • Iteration
  • Off-by-one error
  • Overloading
  • Sentinel
  • Task-controlled loop

6
Additional Operators
  • Extended assignment operators
  • Assignment operator combined with arithmetic and
    concatenation operators

7
Additional Operators (cont.)
  • Increment operator
  • Increase value of operand by 1
  • Decrement operator --
  • Decrease value of operand by 1

8
Standard Classes and Methods The Math Class
Table 4-1 Seven methods in the Math class
9
Standard Classes and Methods The Math Class
(cont.)
  • The two abs() methods are overloaded.
  • Overloaded Multiple methods in the same class
    with the same name
  • Using sqrt() method example

10
Standard Classes and Methods The Math Class
(cont.)
  • Math class methods example

11
Standard Classes and Methods The Random Class
  • Random number generator Returns numbers chosen
    at random from a pre-designated interval

Table 4-2 Methods in the Random class
12
A Visit to the Farm
13
The if and if-else Statements
  • Principal forms

14
The if and if-else Statements (cont.)
  • Additional forms

15
The if and if-else Statements (cont.)
  • Better to over-use braces than under-use them
  • Can help to eliminate logic errors
  • Condition of an if statement must be a Boolean
    expression
  • Evaluates to true or false
  • A flowchart can be used to illustrate the
    behavior of if-else statements.

16
The if and if-else Statements (cont.)
Figure 4-1 Flowcharts for the if and if-else
statements
17
The if and if-else Statements (cont.)
  • Examples of if statements

18
The if and if-else Statements (cont.)
Table 4-3 Relational operators
19
The if and if-else Statements (cont.) Checking
Input for Validity
Example 4.1 Computes the area of a circle if
the radius gt 0 or otherwise displays an error
message
20
The while Statement
  • Provides a looping mechanism
  • Executes statements repeatedly for as long as
    some condition remains true

21
The while Statement (cont.)
Figure 4-2 Flowchart for a while statement
22
The while Statement (cont.)
  • Example
  • Counter-controlled loop
  • cntr is the counter
  • Loop repeats a determined number of times

23
The while Statement (cont.)
  • Tracing Track value of variables through each
    iteration of the loop

Table 4-4 Trace of how variables change on each
iteration through a loop
24
The while Statement (cont.)
  • Counting backward

25
The while Statement (cont.)
  • Task-controlled loop Continues to execute until
    some task is accomplished

26
The while Statement (cont.)
  • Common structure of a while loop

27
The while Statement (cont.)
Example 4.2 Compute and display the factorial of
n
28
The for statement
  • Combines counter initialization, condition test,
    and update into a single expression
  • Easy to create count-controlled loops

29
The for statement (cont.)
  • Example

30
The for statement (cont.)
  • Count-controlled input

31
The for statement (cont.)
  • Better to declare the loop control variable
    within the loop header
  • Only visible within the loop
  • Variable name can be reused later in other loops

32
The for statement (cont.)
  • Both for loops and while loops are
    entry-controlled loops.
  • Condition tested at top of loop on each pass
  • Choosing a for loop versus a while loop is often
    a matter of style.
  • for loop advantages
  • Can declare loop control variable in header
  • Initialization, condition, and update in one line
    of code

33
Nested Control Statements and the break Statement
  • Control statements may be nested.

34
Nested Control Statements and the break Statement
(cont.)
  • break statement Prematurely end a loop

35
Nested Control Statements and the break Statement
(cont.)
  • Sentinel-controlled input Continue a loop until
    a sentinel variable has a specific value

36
Using Loops with Text Files
  • Advantages of using text files versus input from
    a human user
  • Data sets can be much larger.
  • Data input quickly, with less chance of error.
  • Data can be used repeatedly.
  • Data files can be created by hand in a text
    editor or generated by a program.

37
Using Loops with Text Files (cont.)
  • Text file format
  • If data is numerical, numbers must be separated
    by white space.
  • Must be an end-of-file character
  • Used by program to determine whether it is done
    reading data
  • When an error occurs at run-time, the JVM throws
    an exception.
  • IOException thrown if error occurs during file
    operations

38
Using Loops with Text Files (cont.)
Example 4.3 Computes and displays the average of
a file of floating-point numbers
39
Using Loops with Text Files (cont.)
Example 4.4 Inputs a text file of integers and
writes these to an output file without the zeroes
40
Errors in Loops
  • May occur in initializing statements, terminating
    conditions, body statements, or update statements
  • Initialization error Failure to initialize or
    initializes to incorrect value
  • Off-by-one error Loop iterates one too many or
    one too few times

41
Errors in Loops (cont.)
  • Infinite loop Error in the terminating condition
  • Loop never terminates
  • Errors in loop body affect whether the loop
    completes its task correctly or at all.
  • Update error Update statements in wrong place
    may affect calculations
  • Failing to update at all results in an infinite
    loop.

42
Errors in Loops (cont.)
  • Effects of limited floating-point precision When
    using floating-point variables as loop control
    variables, you must understand that not all
    values can be represented.
  • Better not to use or ! in condition statement
    under these conditions

43
Errors in Loops (cont.)
  • Debugging loops
  • If an error is suspected, make sure that
  • Variables are initialized before entering the
    loop
  • The terminating condition stops the iterations
    when the test variables have reached the intended
    limit
  • The statements in the body are correct

44
Errors in Loops (cont.)
  • Debugging loops (cont.)
  • If an error is suspected, make sure that
  • The update statements are positioned correctly
    and modify the test variables so that they
    eventually pass the limits tested in the
    terminating condition

45
Graphics and GUIs I/O Dialog Boxes and Loops
  • A convenient way to accept input from a user is
    to pop up an input dialog box.
  • Use JOptionPane.showInputDialog().

Figure 4-4 Input dialog box
46
Graphics and GUIs I/O Dialog Boxes and Loops
(cont.)
  • If expected input is a number, must use
    Integer.parseInt() or Double.parseDouble()
  • To output a message, use a message dialog box.
  • JOptionPane.showMessageDialog( anObserver,
    aString)

47
Graphics and GUIs I/O Dialog Boxes and Loops
(cont.)
Example 4.5 CircleArea with dialog I/O
48
Graphics and GUIs I/O Dialog Boxes and Loops
(cont.)
Figure 4.5 Dialog I/O user interface for the
circle area program
49
Graphics and GUIs I/O Dialog Boxes and Loops
(cont.)
  • Setting up multiple panels
  • Can use a loop to initialize and install panels
  • Setting the preferred size of a panel
  • Use JPanel classs setPreferredSize() method.
  • JFrame classs pack() method will cause the
    window to adjust its size to exactly fit the
    preferred size of any contained panels.

50
Graphics and GUIs I/O Dialog Boxes and Loops
(cont.)
Example 4-7 Color panel whose background is a
color provided by the client. A client-specified
preferred size is optional.
51
Design, Testing, and Debugging Hints
  • Most errors involving selection statements and
    loops are not syntax errors.
  • The presence or absence of the symbols can
    seriously affect the logic of a selection
    statement or loop.
  • When testing programs that use if or if-else
    statements, use test data that forces the program
    to exercise all logical branches.

52
Design, Testing, and Debugging Hints (cont.)
  • Use an if-else statement rather than two if
    statements when the alternative courses of action
    are mutually exclusive.
  • When testing a loop, be sure to use limit values
    as well as typical values.
  • Be sure to check entry conditions and exit
    conditions for each loop.

53
Design, Testing, and Debugging Hints (cont.)
  • For a loop with errors, use debugging output
    statements to verify the values of the control
    variable on each pass through the loop.
  • Text files are convenient to use when the data
    set is large, when the same data set must be used
    repeatedly with different programs, and when
    these data must be saved permanently.

54
Summary
  • Java has operators for extended assignment and
    for increment and decrement.
  • The Math class provides several useful methods,
    such as sqrt and abs.
  • The Random class allows you to generate random
    integers and floating-point numbers.
  • if and if-else statements are used to make
    one-way and two-way decisions.

55
Summary (cont.)
  • The comparison operators, such as , lt, and gt,
    return Boolean values that can serve as
    conditions for control statements.
  • The while loop allows the program to run a set of
    statements repeatedly until a condition becomes
    false.
  • The for loop is a more concise version of the
    while loop.

56
Summary (cont.)
  • Other control statements, such as an if
    statement, can be nested within loops.
  • A break statement can be used with an if
    statement to terminate a loop early.
  • Many kinds of logic errors can occur in loops.
  • Off-by-one error
  • Infinite loop
Write a Comment
User Comments (0)
About PowerShow.com