Chapter 03

981 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
981
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Chapter 03

  1. 1. Java Programming, 3e Concepts and Techniques Chapter 3 Manipulating Data Using Methods
  2. 2. 2Chapter 3: Manipulating Data Using Methods Chapter Objectives • Identify, declare, and use primitive data types • Use the System class to create data streams • Instantiate the BufferedReader class in code • Use the readLine() method to handle user input
  3. 3. 3Chapter 3: Manipulating Data Using Methods Chapter Objectives • Convert strings to numbers using the parse() method • Use assignment statements to store data with proper identifiers • Use operators and parentheses correctly in numeric and conditional expressions • Round an answer using the round() method of the Math class
  4. 4. 4Chapter 3: Manipulating Data Using Methods Chapter Objectives • Use Swing components to build the GUI for a Swing program • Use the exit() method to close a Swing program • Implement an ActionListener to handle events • Add interface components to an applet
  5. 5. 5Chapter 3: Manipulating Data Using Methods Chapter Objectives • Use the init() and paint() methods to load the applet interface • Use the actionPerformed() method • Run and test an interactive applet • Manage Java source code files and Java class files
  6. 6. 6Chapter 3: Manipulating Data Using Methods Introduction • Data are collections of raw facts or figures • A program performs operations on input data to output information • Input data can come from a variety of sources – The program itself – Users of the program – External files
  7. 7. 7Chapter 3: Manipulating Data Using Methods The Body Mass Index Calculator • An interactive program – Accepts the weight and height from the user – Calculates the BMI to gauge total body fat – Displays the result • Three versions – Input/Output using the command prompt – Input/Output using dialog boxes – Web environments use an applet interface
  8. 8. 8Chapter 3: Manipulating Data Using Methods (b) console application using dialog boxes (a) console application in a command prompt window (c) applet
  9. 9. 9Chapter 3: Manipulating Data Using Methods
  10. 10. 10Chapter 3: Manipulating Data Using Methods Problem Analysis • Convert user input to metric measurements • Calculate the BMI • Display the result
  11. 11. 11Chapter 3: Manipulating Data Using Methods Design the Solution • Design the three kinds of user interfaces with storyboards • Design the logic of the program – Use pseudocode for sequential flow for all programs – Use an event diagram for the applet • Validate the design – Compare the program design with the original requirements
  12. 12. 12Chapter 3: Manipulating Data Using Methods
  13. 13. 13Chapter 3: Manipulating Data Using Methods Coding the Program • Import the java.io package – Provides classes to support system input and output • Add a throws IOException clause to the method header – Warns the compiler that the possibility of input or output errors exists – Gives the program the opportunity to handle input or output errors during run-time without aborting
  14. 14. 14Chapter 3: Manipulating Data Using Methods Coding the Program
  15. 15. 15Chapter 3: Manipulating Data Using Methods Storing Data • Java is a strongly typed language – Variables must be declared with a data type – Variable locations can hold only that data type • Java has two categories of data types – Primitive data types hold single data items • Integers, characters, floating point, and booleans are primitive types – Reference data types hold a value that refers to the location of the data • All Objects and arrays are reference types
  16. 16. 16Chapter 3: Manipulating Data Using Methods
  17. 17. 17Chapter 3: Manipulating Data Using Methods Declaring Variables
  18. 18. 18Chapter 3: Manipulating Data Using Methods User Input – Streams and the System Class • The act of data flowing in and out of a program is called a stream • The System class creates three streams when a program executes
  19. 19. 19Chapter 3: Manipulating Data Using Methods User Input – Streams and the System Class • Data from input streams are first sent to a buffer • The java.io package contains several stream classes – InputStreamReader • Decodes the bytes from the System.in buffer into characters – BufferedReader • Increases efficiency by temporarily storing the input received from another class, such as InputStreamReader • Aids in platform independence by simplifying the process of reading text and numbers from various input sources
  20. 20. 20Chapter 3: Manipulating Data Using Methods Using the BufferedReader class • Call the BufferedReader constructor to instantiate a BufferedReader object • The argument of the BufferedReader() method instantiates an InputStreamReader • BufferedReader() returns a reference to the input data from System.in
  21. 21. 21Chapter 3: Manipulating Data Using Methods
  22. 22. 22Chapter 3: Manipulating Data Using Methods User Prompts, Inputs, and Conversions • The readLine() method reads a line of input text and returns a String containing the line • The returned String must be explicitly converted if the data is to be used as another data type • Each primitive data type has a wrapper class allowing the primitive to be treated as an object • The wrapper classes provides a parse() method to convert Strings to primitives, and vice versa – Example: height = dataIn.readLine(); inches = Integer.parseInt(height);
  23. 23. 23Chapter 3: Manipulating Data Using Methods Assignment Statements • General syntax: location = value
  24. 24. 24Chapter 3: Manipulating Data Using Methods Arithmetic Operators
  25. 25. 25Chapter 3: Manipulating Data Using Methods Arithmetic Operators • The order of operator precedence is a predetermined order that defines the sequence in which operators are evaluated in an expression • Addition, subtraction, multiplication, and division can manipulate any numeric data type • When Java performs math on mixed data types, the result is always the larger data type • Casts allow programmers to force a conversion from one primitive type to another
  26. 26. 26Chapter 3: Manipulating Data Using Methods Comparison Operators • A comparison operation results in a true or false value that can be stored in a boolean variable
  27. 27. 27Chapter 3: Manipulating Data Using Methods Numeric Expressions • Numeric expressions evaluate to a number • Only numeric primitive data types may be used in a numeric expression • A value and variable must be separated by an arithmetic operator • Unless parentheses supercede, an expression is evaluated left to right with the following rules of precedence: – Multiplication and/or division – Integer division – Modular division – Addition and/or subtraction
  28. 28. 28Chapter 3: Manipulating Data Using Methods Conditional Expressions • Conditional expression evaluate to either true or false • Comparison operators, values, variables, methods, and Strings may be used in a conditional expression • Two operands must be separated by a comparison operator • Unless parentheses supercede, an expression is evaluated left to right with relational operators (<, <=, >, >=) taking precedence over equality operators (==, !=)
  29. 29. 29Chapter 3: Manipulating Data Using Methods Parentheses in Expressions • Parentheses may be used to change the order of operations – The part of the expression within the parentheses is evaluated first • Parentheses can provide clarity in complex expressions – Numeric and conditional expressions should be grouped with parentheses • Parentheses can be nested – Java evaluates the innermost expression first and then moves on to the outermost expression
  30. 30. 30Chapter 3: Manipulating Data Using Methods Construction of Error-Free Expressions • Java may not be able to evaluate a validly formed expression due to the following logic errors: – Dividing by zero – Taking the square root of a negative value – Raising a negative value to a non-integer value – Using a value too great or too small for a given data type – Comparing different data types in a conditional expression
  31. 31. 31Chapter 3: Manipulating Data Using Methods The Math Class
  32. 32. 32Chapter 3: Manipulating Data Using Methods Using Variables in Output
  33. 33. 33Chapter 3: Manipulating Data Using Methods Compiling, Running, and Documenting the Application • Compile the Body Mass Index Calculator program • Execute the program • Test the program by entering the sample input data supplied in the requirements phase at the prompts • Verify the results • Print the source code and screen images for documentation
  34. 34. 34Chapter 3: Manipulating Data Using Methods Using Swing Components • Save the previous version of the Body Mass Index Calculator with a new filename • Import the javax.swing.JOptionPane class – Contains methods to create dialog boxes for input, confirmation, and messages • Delete the IOException and BufferedReader code – The swing dialog boxes buffer data from the user and handle IO errors
  35. 35. 35Chapter 3: Manipulating Data Using Methods Swing Dialog Boxes • Dialog boxes are created with the JOptionPane “show” methods • The showInputDialog() and showConfirmDialog return a String containing the user input
  36. 36. 36Chapter 3: Manipulating Data Using Methods Swing Dialog Boxes
  37. 37. 37Chapter 3: Manipulating Data Using Methods Closing Programs that use Swing • System.exit() terminates an application that displays a GUI – The command prompt window closes when this method is called • System.exit accepts an integer argument that serves as a status code – 0 indicates successful termination – 1 indicates abnormal termination
  38. 38. 38Chapter 3: Manipulating Data Using Methods Saving, Compiling, and Running the Swing Version • Verify that the file name matches the class name at the beginning of the code • Compile the source code • Test with the same sample data for all versions to compare output results • If incorrect or unrealistic data is entered by the user, errors will occur – Errors and exception handling will be discussed in a later chapter
  39. 39. 39Chapter 3: Manipulating Data Using Methods Moving to the Web • The applet version of the Body Mass Index Calculator has four kinds of objects – Image, Labels, TextFields, and Buttons • Import three packages – Java.applet – Java.awt – Java.awt.event • Implement an ActionListener interface in the class header – Informs the program to respond to user-driven events
  40. 40. 40Chapter 3: Manipulating Data Using Methods Moving to the Web • Every event class has one or more associated listener interfaces
  41. 41. 41Chapter 3: Manipulating Data Using Methods Moving to the Web
  42. 42. 42Chapter 3: Manipulating Data Using Methods Adding Interface Components to an Applet • Label – Displays text in the applet window • TextField – Displays a text box for users to enter text • Buttons – Displays a command button for users to click
  43. 43. 43Chapter 3: Manipulating Data Using Methods The init() Method • Initializes the window color and graphic • Adds components to the applet window • Registers the Button’s ActionListener
  44. 44. 44Chapter 3: Manipulating Data Using Methods The actionPerformed() Method • When a click event occurs, the ActionListener’s actionPerformed() method is triggered – Input values are retrieved with getText() – Calculations are performed – Output is sent to a label with setText()
  45. 45. 45Chapter 3: Manipulating Data Using Methods The paint() Method • Draws the initialized image in the applet window
  46. 46. 46Chapter 3: Manipulating Data Using Methods Creating an HTML Host Document for an Interactive Applet • Compile the applet • Write an HTML Host Document to execute the applet – Use the <APPLET> tag to specify the bytecode file, and width and height of the window • Use the same sample data to test the applet • Document the source code
  47. 47. 47Chapter 3: Manipulating Data Using Methods File Management • Coding and compiling an application creates several files on your storage device • File naming conventions and the operating system’s capability of displaying icons can help the programmer maintain a logical order – Three java files named after the program purpose and user interface type – Three class files after compilation – HTML host document – Image file
  48. 48. 48Chapter 3: Manipulating Data Using Methods Chapter Summary • Identify, declare, and use primitive data types • Use the System class to create data streams • Instantiate the BufferedReader class in code • Use the readLine() method to handle user input
  49. 49. 49Chapter 3: Manipulating Data Using Methods Chapter Summary • Convert strings to numbers using the parse() method • Use assignment statements to store data with proper identifiers • Use operators and parentheses correctly in numeric and conditional expressions • Round an answer using the round() method of the Math class
  50. 50. 50Chapter 3: Manipulating Data Using Methods Chapter Summary • Use Swing components to build the GUI for a Swing program • Use the exit() method to close a Swing program • Implement an ActionListener to handle events • Add interface components to an applet
  51. 51. 51Chapter 3: Manipulating Data Using Methods Chapter Summary • Use the init() and paint() methods to load the applet interface • Use the actionPerformed() method • Run and test an interactive applet • Manage Java source code files and Java class files
  52. 52. Java Programming, 3e Concepts and Techniques Chapter 3 Complete

×