560 likes | 681 Views
Chapter 4 Introduction to Control Statements. Fundamentals of Java. Objectives. Use the increment and decrement operators. Use standard math methods. Use if and if-else statements to make choices. Objectives (cont.). Use while and for loops to repeat a process.
E N D
Chapter 4Introduction to Control Statements Fundamentals of Java
Objectives • Use the increment and decrement operators. • Use standard math methods. • Use if and if-else statements to make choices. Fundamentals of Java
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. Fundamentals of Java
Vocabulary • Control statements • Counter • Count-controlled loop • Entry-controlled loop • Flowchart • Infinite loop Fundamentals of Java
Vocabulary (cont.) • Iteration • Off-by-one error • Overloading • Sentinel • Task-controlled loop Fundamentals of Java
Additional Operators • Extended assignment operators • Assignment operator combined with arithmetic and concatenation operators Fundamentals of Java
Additional Operators (cont.) • Increment operator: ++ • Increase value of operand by 1 • Decrement operator: -- • Decrease value of operand by 1 Fundamentals of Java
Standard Classes and Methods: The Math Class Table 4-1: Seven methods in the Math class Fundamentals of Java
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: Fundamentals of Java
Standard Classes and Methods: The Math Class (cont.) • Math class methods example: Fundamentals of Java
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 Fundamentals of Java
A Visit to the Farm Fundamentals of Java
The if and if-else Statements • Principal forms: Fundamentals of Java
The if and if-else Statements (cont.) • Additional forms: Fundamentals of Java
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. Fundamentals of Java
The if and if-else Statements (cont.) Figure 4-1: Flowcharts for the if and if-else statements Fundamentals of Java
The if and if-else Statements (cont.) • Examples of if statements: Fundamentals of Java
The if and if-else Statements (cont.) Table 4-3: Relational operators Fundamentals of Java
The if and if-else Statements (cont.): Checking Input for Validity Example 4.1: Computes the area of a circle if the radius >= 0 or otherwise displays an error message Fundamentals of Java
The while Statement • Provides a looping mechanism • Executes statements repeatedly for as long as some condition remains true Fundamentals of Java
The while Statement (cont.) Figure 4-2: Flowchart for a while statement Fundamentals of Java
The while Statement (cont.) • Example: • Counter-controlled loop: • cntr is the counter • Loop repeats a determined number of times Fundamentals of Java
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 Fundamentals of Java
The while Statement (cont.) • Counting backward: Fundamentals of Java
The while Statement (cont.) • Task-controlled loop: Continues to execute until some task is accomplished Fundamentals of Java
The while Statement (cont.) • Common structure of a while loop: Fundamentals of Java
The while Statement (cont.) Example 4.2: Compute and display the factorial of n Fundamentals of Java
The for statement • Combines counter initialization, condition test, and update into a single expression • Easy to create count-controlled loops Fundamentals of Java
The for statement (cont.) • Example: Fundamentals of Java
The for statement (cont.) • Count-controlled input: Fundamentals of Java
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 Fundamentals of Java
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 Fundamentals of Java
Nested Control Statements and the break Statement • Control statements may be nested. Fundamentals of Java
Nested Control Statements and the break Statement (cont.) • break statement: Prematurely end a loop Fundamentals of Java
Nested Control Statements and the break Statement (cont.) • Sentinel-controlled input: Continue a loop until a sentinel variable has a specific value Fundamentals of Java
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. Fundamentals of Java
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 Fundamentals of Java
Using Loops with Text Files (cont.) Example 4.3: Computes and displays the average of a file of floating-point numbers Fundamentals of Java
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 Fundamentals of Java
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 Fundamentals of Java
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. Fundamentals of Java
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 Fundamentals of Java
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 Fundamentals of Java
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 Fundamentals of Java
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 Fundamentals of Java
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) Fundamentals of Java
Graphics and GUIs: I/O Dialog Boxes and Loops (cont.) Example 4.5: CircleArea with dialog I/O Fundamentals of Java
Graphics and GUIs: I/O Dialog Boxes and Loops (cont.) Figure 4.5: Dialog I/O user interface for the circle area program Fundamentals of Java
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 class’s setPreferredSize() method. • JFrame class’s pack() method will cause the window to adjust its size to exactly fit the preferred size of any contained panels. Fundamentals of Java
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. Fundamentals of Java