Starting Out With Java: From Control Structures through Objects
Book information
Description
Starting Out With Java ™ From Control Structures through Objects Starting Out With Java ™ From Control Structures through Objects Contents in Brief Contents Preface Control Structures First, Then Objects Changes in the Seventh Edition Organization of the Text Brief Overview of Each Chapter Features of the Text Supplements About the Author Chapter 1 Introduction to Computers and Java Topics 1.1 Introduction 1.2 Why Program? 1.3 Computer Systems: Hardware and Software Hardware The CPU Main Memory Secondary Storage Input Devices Output Devices Software Checkpoint 1.4 Programming Languages What Is a Program? A History of Java 1.5 What Is a Program Made Of? Language Elements Key Words (Reserved Words) Programmer-Defined Names Operators Punctuation Lines and Statements Variables The Compiler and the Java Virtual Machine Portability Java Software Editions Compiling and Running a Java Program Integrated Development Environments Checkpoint 1.6 The Programming Process Software Engineering Checkpoint 1.7 Object-Oriented Programming Checkpoint Review Questions and Exercises Multiple Choice Find the Error Algorithm Workbench Predict the Result Short Answer Programming Challenge 1. Your First Java Program If You Are Using the JDK at the Command Prompt: If You Are Using an IDE: Chapter 2 Java Fundamentals Topics 2.1 The Parts of a Java Program Checkpoint 2.2 The print and println Methods, and the Java API 2.3 Variables and Literals Displaying Multiple Items with the + Operator Be Careful with Quotation Marks More about Literals Identifiers Class Names Checkpoint 2.4 Primitive Data Types The Integer Data Types Integer Literals Floating-Point Data Types Floating-Point Literals Scientific and E Notation The boolean Data Type The char Data Type Unicode Variable Assignment and Initialization Variables Hold Only One Value at a Time Checkpoint 2.5 Arithmetic Operators Integer Division Operator Precedence Grouping with Parentheses The Math Class The Math.pow Method The Math.sqrt Method Checkpoint 2.6 Combined Assignment Operators Checkpoint 2.7 Conversion between Primitive Data Types Mixed Integer Operations Other Mixed Mathematical Expressions Checkpoint 2.8 Creating Named Constants with final 2.9 The String Class Objects Are Created from Classes The String Class Primitive Type Variables and Class Type Variables Creating a String Object Checkpoint 2.10 Scope 2.11 Comments 2.12 Programming Style 2.13 Reading Keyboard Input Reading a Character Mixing Calls to nextLine with Calls to Other Scanner Methods 2.14 Dialog Boxes Displaying Message Dialogs Displaying Input Dialogs An Example Program Converting String Input to Numbers Checkpoint 2.15 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Predict the Output Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Name, Age, and Annual Income 2. Name and Initials 3. Personal Information 4. Star Pattern 5. Sales Prediction 6. Land Calculation 7. Sales Tax 8. Cookie Calories 9. Miles-per-Gallon 10. Test Average 11. Circuit Board Profit 12. String Manipulator 13. Restaurant Bill 14. Male and Female Percentages 15. Stock Commission 16. Energy Drink Consumption 17. Ingredient Adjuster 18. Word Game 19. Stock Transaction Program 20. Planting Grapevines 21. Compound Interest Chapter 3 Decision Structures Topics 3.1 The if Statement Using Relational Operators to Form Conditions Putting It All Together Programming Style and the if Statement Be Careful with Semicolons Having Multiple Conditionally Executed Statements Flags Comparing Characters Checkpoint 3.2 The if-else Statement Checkpoint 3.3 Nested if Statements 3.4 The if-else-if Statement 3.5 Logical Operators The Precedence of Logical Operators Checking Numeric Ranges with Logical Operators Checkpoint 3.6 Comparing String Objects Ignoring Case in String Comparisons Checkpoint 3.7 More about Variable Declaration and Scope 3.8 The Conditional Operator (Optional) Checkpoint 3.9 The switch Statement Checkpoint 3.10 Displaying Formatted Output with System.out.printf and String.format Format Specifier Syntax Precision Specifying a Minimum Field Width Combining Minimum Field Width and Precision in the Same Format Specifier Flags Comma Separators Padding Numbers with Leading Zeros Left-Justifying Numbers Formatting String Arguments The String.format Method Checkpoint 3.11 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Roman Numerals 2. Magic Dates 3. Body Mass Index 4. Test Scores and Grade 5. Mass and Weight 6. Time Calculator 7. Sorted Names 8. Software Sales 9. Shipping Charges 10. Fat Gram Calculator 11. Running the Race 12. The Speed of Sound 13. Mobile Service Provider 14. Mobile Service Provider, Part 2 15. Bank Charges 16. Book Club Points 17. Wi-Fi Diagnostic Tree 18. Restaurant Selector Chapter 4 Loops and Files Topics 4.1 The Increment and Decrement Operators The Difference between Postfix and Prefix Modes Checkpoint 4.2 The while Loop The while Loop Is a Pretest Loop Infinite Loops Don’t Forget the Braces with a Block of Statements Programming Style and the while Loop Checkpoint 4.3 Using the while Loop for Input Validation Checkpoint 4.4 The do-while Loop 4.5 The for Loop The for Loop Is a Pretest Loop Avoid Modifying the Control Variable in the Body of the for Loop Other Forms of the Update Expression Declaring a Variable in the for Loop’s Initialization Expression Creating a User Controlled for Loop Using Multiple Statements in the Initialization and Update Expressions Checkpoint 4.6 Running Totals and Sentinel Values Using a Sentinel Value Checkpoint 4.7 Nested Loops 4.8 The break and continue Statements (Optional) 4.9 Deciding Which Loop to Use 4.10 Introduction to File Input and Output Using the PrintWriter Class to Write Data to a File More about the PrintWriter Class’s println Method The PrintWriter Class’s print Method Adding a throws Clause to the Method Header An Example Program Review Appending Data to a File Specifying the File Location Reading Data from a File Reading Lines from a File with the nextLine Method Adding a throws Clause to the Method Header Detecting the End of a File Reading Primitive Values from a File Review Checking for a File’s Existence Checkpoint 4.11 Generating Random Numbers with the Random Class Checkpoint 4.12 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Sum of Numbers 2. Distance Traveled 3. Distance File 4. Pennies for Pay 5. Letter Counter 6. File Letter Counter 7. Hotel Occupancy 8. Average Rainfall 9. Population 10. Largest and Smallest 11. Celsius to Fahrenheit Table 12. Bar Chart 13. File Head Display 14. Line Numbers 15. Uppercase File Converter 16. Budget Analysis 17. Random Number Guessing Game 18. Random Number Guessing Game Enhancement 19. ESP Game 20. Square Display 21. Dice Game 22. Slot Machine Simulation 23. Personal Web Page Generator Chapter 5 Methods Topics 5.1 Introduction to Methods void Methods and Value-Returning Methods Defining a void Method Calling a Method Layered Method Calls Using Documentation Comments with Methods Checkpoint 5.2 Passing Arguments to a Method Argument and Parameter Data Type Compatibility Parameter Variable Scope Passing Multiple Arguments Arguments Are Passed by Value Passing Object References to a Method Using the @param Tag in Documentation Comments Checkpoint 5.3 More about Local Variables Local Variable Lifetime Initializing Local Variables with Parameter Values 5.4 Returning a Value from a Method Defining a Value-Returning Method Calling a Value-Returning Method Using the @return Tag in Documentation Comments Returning a boolean Value Returning a Reference to an Object Checkpoint 5.5 Problem Solving with Methods Calling Methods That Throw Exceptions 5.6 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. showChar Method 2. Retail Price Calculator 3. Rectangle Area—Complete the Program 4. Paint Job Estimator 5. Falling Distance 6. Celsius Temperature Table 7. Test Average and Grade 8. Conversion Program 9. Distance Traveled Modification 10. Stock Profit 11. Multiple Stock Sales 12. Kinetic Energy 13. isPrime Method 14. Prime Number List 15. Even/Odd Counter 16. Present Value 17. Rock, Paper, Scissors Game 18. ESP Game Chapter 6 A First Look at Classes Topics 6.1 Objects and Classes Classes: Where Objects Come From Classes in the Java API Primitive Variables vs. Objects Checkpoint 6.2 Writing a Simple Class, Step by Step Writing the Code for a Class Writing the Code for the Class Fields Writing the setLength Method Writing the setWidth Method Writing the getLength and getWidth Methods Writing the getArea Method Accessor and Mutator Methods The Importance of Data Hiding Avoiding Stale Data Showing Access Specification in UML Diagrams Data Type and Parameter Notation in UML Diagrams Layout of Class Members Checkpoint 6.3 Instance Fields and Methods Checkpoint 6.4 Constructors Showing Constructors in a UML Diagram Uninitialized Local Reference Variables The Default Constructor Writing Your Own No-Arg Constructor The String Class Constructor Checkpoint 6.5 Passing Objects as Arguments 6.6 Overloading Methods and Constructors The BankAccount Class Overloaded Methods Make Classes More Useful 6.7 Scope of Instance Fields Shadowing Checkpoint 6.8 Packages and import Statements Explicit and Wildcard import Statements The java.lang Package Other API Packages 6.9 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities Finding the Classes Writing a Description of the Problem Domain Identifying All of the Nouns Refining the List of Nouns 1. Some of the nouns really mean the same thing. 2. Some nouns might represent items that we do not need to be concerned with in order to solve the problem. 3. Some of the nouns might represent objects, not classes. 4. Some of the nouns might represent simple values that can be stored in a primitive variable and do not require a class. Identifying a Class’s Responsibilities The Customer class The Car Class The ServiceQuote Class This Is Only the Beginning Checkpoint 6.10 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Employee Class 2. Car Class 3. Personal Information Class 4. RetailItem Class 5. Payroll Class 6. TestScores Class 7. Circle Class 8. Temperature Class 9. Days in a Month 10. A Game of Twenty-One 11. Freezing and Boiling Points 12. SavingsAccount Class 13. Deposit and Withdrawal Files 14. Patient Charges 15. Dice Game 16. Roulette Wheel Colors 17. Coin Toss Simulator 18. Tossing Coins for a Dollar 19. Fishing Game Simulation Chapter 7 Arrays and the ArrayList Class Topics 7.1 Introduction to Arrays Accessing Array Elements Inputting and Outputting Array Contents Java Performs Bounds Checking Watch Out for Off-by-One Errors Array Initialization Alternate Array Declaration Notation Checkpoint 7.2 Processing Array Elements Array Length The Enhanced for Loop The Enhanced for Loop versus the Traditional for Loop Letting the User Specify an Array’s Size Reassigning Array Reference Variables Copying Arrays Checkpoint 7.3 Passing Arrays as Arguments to Methods Checkpoint 7.4 Some Useful Array Algorithms and Operations Comparing Arrays Summing the Values in a Numeric Array Getting the Average of the Values in a Numeric Array Finding the Highest and Lowest Values in a Numeric Array The SalesData Class Partially Filled Arrays Working with Arrays and Files 7.5 Returning Arrays from Methods 7.6 String Arrays Calling String Methods from an Array Element Checkpoint 7.7 Arrays of Objects Checkpoint 7.8 The Sequential Search Algorithm 7.9 Two-Dimensional Arrays Initializing a Two-Dimensional Array The length Field in a Two-Dimensional Array Displaying All the Elements of a Two-Dimensional Array Summing All the Elements of a Two-Dimensional Array Summing the Rows of a Two-Dimensional Array Summing the Columns of a Two-Dimensional Array Passing Two-Dimensional Arrays to Methods Ragged Arrays 7.10 Arrays with Three or More Dimensions Checkpoint 7.11 The Selection Sort and the Binary Search Algorithms The Selection Sort Algorithm The Binary Search Algorithm Checkpoint 7.12 Command-Line Arguments and Variable-Length Argument Lists Command-Line Arguments Variable-Length Argument Lists 7.13 The ArrayList Class Creating and Using an ArrayList Object Using the Enhanced for Loop with an ArrayList The ArrayList Class’s toString method Removing an Item from an ArrayList Inserting an Item Replacing an Item Capacity Storing Your Own Objects in an ArrayList Using the Diamond Operator for Type Inference Checkpoint 7.14 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Rainfall Class 2. Payroll Class 3. Charge Account Validation 4. Charge Account Modification 5. Larger Than n 6. Driver’s License Exam 7. Magic 8 Ball 8. Grade Book 9. Grade Book Modification 10. Average Steps Taken 11. Array Operations 12. 1994 Gas Prices 13. Sorted List of 1994 Gas Prices 14. Name Search 15. Population Data 16. World Series Champions 17. 2D Array Operations 18. Phone Book ArrayList 19. Trivia Game 20. Lo Shu Magic Square Chapter 8 A Second Look at Classes and Objects Topics 8.1 Static Class Members A Quick Review of Instance Fields and Instance Methods Static Members Static Fields Static Methods Checkpoint 8.2 Passing Objects as Arguments to Methods 8.3 Returning Objects from Methods 8.4 The toString Method 8.5 Writing an equals Method 8.6 Methods That Copy Objects Copy Constructors 8.7 Aggregation Aggregation in UML Diagrams Security Issues with Aggregate Classes Perform Deep Copies When Creating Field Objects Return Copies of Field Objects, Not the Originals Avoid Using null References 8.8 The this Reference Variable Using this to Overcome Shadowing Using this to Call an Overloaded Constructor from Another Constructor Checkpoint 8.9 Enumerated Types Enumerated Types Are Specialized Classes Switching On an Enumerated Type Checkpoint 8.10 Garbage Collection The finalize Method 8.11 Focus on Object-Oriented Design: Class Collaboration Determining Class Collaborations with CRC Cards 8.12 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Area Class 2. BankAccount Class Copy Constructor 3. Carpet Calculator 4. LandTract Class 5. Month Class 6. CashRegister Class 7. Sales Receipt File 8. Parking Ticket Simulator 9. Geometry Calculator 10. Car Instrument Simulator 11. First to One Game 12. Heads or Tails Game Chapter 9 Text Processing and More about Wrapper Classes Topics 9.1 Introduction to Wrapper Classes 9.2 Character Testing and Conversion with the Character Class Character Case Conversion Checkpoint 9.3 More String Methods Searching for Substrings The startsWith and endsWith Methods The regionMatches Methods Finding Characters with the indexOf and lastIndexOf Methods Finding Substrings with the indexOf and lastIndexOf Methods Extracting Substrings The substring Methods The getChars and toCharArray Methods Methods That Return a Modified String The Static valueOf Methods Checkpoint 9.4 The StringBuilder Class The StringBuilder Constructors Other StringBuilder Methods The append Methods The insert Methods The replace Method The delete, deleteCharAt, and setCharAt Methods The toString Method Checkpoint 9.5 Tokenizing Strings 9.6 Wrapper Classes for the Numeric Data Types The Static toString Methods The toBinaryString, toHexString, and toOctalString Methods The MIN_VALUE and MAX_VALUE Constants Autoboxing and Unboxing Checkpoint 9.7 Focus on Problem Solving: The TestScoreReader Class 9.8 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Backward String 2. Word Counter 3. Sentence Capitalizer 4. Vowels and Consonants 5. Password Verifier 6. Telemarketing Phone Number List 7. Check Writer 8. Sum of Numbers in a String 9. Sum of Digits in a String 10. Word Counter 11. Sales Analysis 12. Miscellaneous String Operations 13. Alphabetic Telephone Number Translator 14. Word Separator 15. Pig Latin 16. Morse Code Converter 17. Lottery Statistics 18. Gas Prices Chapter 10 Inheritance Topics 10.1 What Is Inheritance? Generalization and Specialization Inheritance and the “Is a” Relationship Fields: Methods: Inheritance in UML Diagrams The Superclass’s Constructor Inheritance Does Not Work in Reverse Checkpoint 10.2 Calling the Superclass Constructor When the Superclass Has No Default or No-Arg Constructors Summary of Constructor Issues in Inheritance Checkpoint 10.3 Overriding Superclass Methods Overloading versus Overriding Preventing a Method from Being Overridden Checkpoint 10.4 Protected Members Package Access Checkpoint 10.5 Chains of Inheritance Class Hierarchies 10.6 The Object Class Checkpoint 10.7 Polymorphism Polymorphism and Dynamic Binding The “Is-a” Relationship Does Not Work in Reverse The instanceof Operator Checkpoint 10.8 Abstract Classes and Abstract Methods Abstract Classes in UML Checkpoint 10.9 Interfaces An Interface is a Contract Fields in Interfaces Implementing Multiple Interfaces Interfaces in UML Default Methods Polymorphism and Interfaces Checkpoint 10.10 Anonymous Inner Classes 10.11 Functional Interfaces and Lambda Expressions 10.12 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Employee and ProductionWorker Classes 2. ShiftSupervisor Class 3. TeamLeader Class 4.Essay Class 5. Course Grades 6. Analyzable Interface 7. Person and Customer Classes 8. PreferredCustomer Class 9. BankAccount and SavingsAccount Classes 10. Ship, CruiseShip, and CargoShip Classes Chapter 11 Exceptions and Advanced File I/O Topics 11.1 Handling Exceptions Exception Classes Handling an Exception Retrieving the Default Error Message Polymorphic References to Exceptions Using Multiple catch Clauses to Handle Multiple Exceptions Using Exception Handlers to Recover from Errors Handle Each Exception Only Once in a try Statement The finally Clause The Stack Trace Handling Multiple Exceptions with One catch Clause When an Exception Is Not Caught Checked and Unchecked Exceptions Checkpoint 11.2 Throwing Exceptions Creating Your Own Exception Classes Using the @exception Tag in Documentation Comments Checkpoint 11.3 Advanced Topics: Binary Files, Random Access Files, and Object Serialization Binary Files Writing Data to a Binary File Reading Data from a Binary File Writing and Reading Strings Appending Data to an Existing Binary File Random Access Files Reading and Writing with the RandomAccessFile Class The File Pointer Object Serialization Serializing Aggregate Objects Checkpoint 11.4 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. TestScores Class 2. TestScores Class Custom Exception 3. RetailItem Exceptions 4. Month Class Exceptions 5. Payroll Class Exceptions 6. FileArray Class 7. File Encryption Filter 8. File Decryption Filter 9. TestScores Modification for Serialization 10. Exception Project Chapter 12 JavaFX: GUI Programming and Basic Controls Topics 12.1 Graphical User Interfaces Event-Driven GUI Programs Checkpoint 12.2 Introduction to JavaFX Controls Stages and Scenes The Application Class Checkpoint 12.3 Creating Scenes Creating Controls Creating Layout Containers Creating a Scene Object Adding the Scene Object to the Stage Setting the Size of the Scene Aligning Controls in an HBox Layout Container Checkpoint 12.4 Displaying Images Loading Images from an Internet Location Setting the Size of an Image Preserving the Image’s Aspect Ratio Changing an ImageView’s Image Checkpoint 12.5 More about the HBox, VBox, and GridPane Layout Containers The HBox Layout Container Spacing Padding The VBox Layout Container The GridPane Layout Container Using Multiple Layout Containers in the Same Screen Checkpoint 12.6 Button Controls and Events Handling Events Writing Event Handlers Registering an Event Handler Checkpoint 12.7 Reading Input with TextField Controls Checkpoint 12.8 Using Anonymous Inner Classes and Lambda Expressions to Handle Events Using Anonymous Inner Classes to Create Event Handlers Using Lambda Expressions to Create Event Handlers Checkpoint 12.9 The BorderPane Layout Container Checkpoint 12.10 The ObservableList Interface 12.11 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Latin Translator 2. Name Formatter 3. Tip, Tax, and Total 4. Property Tax 5. Heads or Tails 6. Dice Simulator 7. Travel Expenses 8. Joe’s Automotive 9. Tic-Tac-Toe Simulator 10. Slot Machine Simulation Chapter 13 JavaFX: Advanced Controls Topics 13.1 Styling JavaFX Applications with CSS Type Selector Names Style Properties Applying a Stylesheet to a JavaFX Application Applying Styles to the Root Node Specifying Multiple Selectors in the Same Style Definition Working with Colors Named Colors Creating a Custom Style Class Name ID Selectors Inline Style Rules Checkpoint 13.2 RadioButton Controls Determining in Code Whether a RadioButton Is Selected Selecting a RadioButton in Code Responding to RadioButton Clicks Checkpoint 13.3 CheckBox Controls Determining in Code Whether a CheckBox Is Selected Selecting a CheckBox in Code Responding to CheckBox Clicks Checkpoint 13.4 ListView Controls Retrieving the Selected Item Retrieving the Index of the Selected Item Responding to Item Selection with an Event Handler Adding Items versus Setting Items Initializing a ListView with an Array or an ArrayList Selection Modes Retrieving Multiple Selected Items Working With the Elements of an ObservableList Converting an ObservableList to an Array Using Code to Select an Item in a ListView ListView Orientation Creating ListViews of Objects Other Than String Checkpoint 13.5 ComboBox Controls Retrieving the Selected Item Responding to ComboBox Item Selection with an Event Handler Editable ComboBoxes Checkpoint 13.6 Slider Controls Checkpoint 13.7 TextArea Controls Checkpoint 13.8 Menus Assigning Mnemonics to Menu Items Checkpoint 13.9 The FileChooser Class Displaying a FileChooser Dialog Box Checkpoint 13.10 Using Console Output to Debug a GUI Application 13.11 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Dorm and Meal Plan Calculator 2. Skateboard Designer 3. Conference Registration System 4. Smartphone Packages 5. Shopping Cart System Chapter 14 JavaFX: Graphics, Effects, and Media Topics 14.1 Drawing Shapes The Screen Coordinate System The Shape Class and Its Subclasses The Line Class Changing the Stroke Color The Circle Class The Rectangle Class The Ellipse Class The Arc Class The Polygon Class The Polyline Class The Text Class Rotating Nodes Scaling Nodes Checkpoint 14.2 Animation The TranslateTransition Class The RotateTransition Class The ScaleTransition Class The StrokeTransition Class The FillTransition Class The FadeTransition Class Controlling the Animation Specifying an Interpolator Checkpoint 14.3 Effects The DropShadow Class The InnerShadow Class The ColorAdjust Class The BoxBlur, GaussianBlur, and MotionBlur Classes The BoxBlur Class The GaussianBlur Class The MotionBlur Class The SepiaTone Class The Glow Class The Reflection Class Combining Effects Checkpoint 14.4 Playing Sound Files Registering an EndOfMedia Event Handler Checkpoint 14.5 Playing Videos Checkpoint 14.6 Handling Key Events Using an Anonymous Inner Class to Register a Key Event Handler to the Scene Using a Lambda Expression to Register a Key Event Handler to the Scene Checkpoint 14.7 Handling Mouse Events 14.8 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Algorithm Workbench Short Answer Programming Challenges 1. This Old House 2. Tree Age 3. Hollywood Star 4. Vehicle Outline 5. Solar System 6. Opacity Adjuster 7. Color Adjuster 8. Mouse Rollover 9. Coin Toss 10. Lunar Lander 11. Change for a Dollar Game 12. Rock, Paper, Scissors Game Chapter 15 Recursion Topics 15.1 Introduction to Recursion 15.2 Solving Problems with Recursion Direct and Indirect Recursion Checkpoint 15.3 Examples of Recursive Methods Summing a Range of Array Elements with Recursion Drawing Concentric Circles The Fibonacci Series Finding the Greatest Common Divisor 15.4 A Recursive Binary Search Method 15.5 The Towers of Hanoi 15.6 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Recursive Multiplication 2. isMember Method 3. String Reverser 4. maxElement Method 5. Palindrome Detector 6. Character Counter 7. Recursive Power Method 8. Sum of Numbers 9. Ackermann’s Function 10. Recursive Population Class Chapter 16 Databases Topics 16.1 Introduction to Database Management Systems JDBC SQL Using a DBMS Java DB and Apache Derby Creating the CoffeeDB Database Connecting to the CoffeeDB Database Connecting to a Password-Protected Database Checkpoint 16.2 Tables, Rows, and Columns Column Data Types Primary Keys Checkpoint 16.3 Introduction to the SQL SELECT Statement Passing an SQL Statement to the DBMS Getting a Row from the ResultSet Object Getting Columns in a ResultSet Row More about the SELECT Statement Specifying Search Criteria with the WHERE Clause String Comparisons in a SELECT Statement Using the LIKE Operator Using AND and OR Sorting the Results of a SELECT Query Mathematical Functions Checkpoint 16.4 Inserting Rows Inserting Rows with JDBC Checkpoint 16.5 Updating and Deleting Existing Rows Updating Rows with JDBC Deleting Rows with the DELETE Statement Deleting Rows with JDBC Checkpoint 16.6 Creating and Deleting Tables Removing a Table with the DROP TABLE Statement Checkpoint 16.7 Creating a New Database with JDBC 16.8 Scrollable Result Sets 16.9 Result Set Metadata 16.10 Relational Data Joining Data from Multiple Tables An Order Entry System 16.11 Advanced Topics Transactions Stored Procedures 16.12 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Customer Inserter 2. Customer Updater 3. Unpaid Order Sum 4. Population Database 5. Personnel Database Creator 6. Employee Inserter 7. Employee Updater 8. PhoneBook Database Chapter 17 A First Look at GUI Applications Topics 17.1 Introduction The JFC, AWT, and Swing Event-Driven Programming The javax.swing and java.awt Packages 17.2 Creating Windows Using Inheritance to Extend the JFrame Class Equipping GUI Classes with a main Method Adding Components to a Window Content Panes and Panels Handling Events with Action Listeners Writing Event Listener Classes as Private Inner Classes Event Listeners Must Implement an Interface Registering an Event Listener Object Writing an Event Listener for the KiloConverter Class Background and Foreground Colors Changing the Background Color of a JFrame Object’s Content Pane The ActionEvent Object The getActionCommand Method The getSource Method Checkpoint 17.3 Layout Managers Adding a Layout Manager to a Container The FlowLayout Manager Adjusting the FlowLayout Alignment Adjusting the FlowLayout Component Gaps The BorderLayout Manager Nesting Panels Inside a Container’s Regions The GridLayout Manager Checkpoint 17.4 Radio Buttons and Check Boxes Radio Buttons Grouping with the ButtonGroup class Responding to Radio Button Events Determining in Code Whether a Radio Button Is Selected Selecting a Radio Button in Code Check Boxes Responding to Check Box Events Determining in Code Whether a Check Box Is Selected Selecting a Check Box in Code Checkpoint 17.5 Borders 17.6 Focus on Problem Solving: Extending Classes from JPanel The Brandi’s Bagel House Application The GreetingPanel Class The BagelPanel Class The ToppingPanel Class The CoffeePanel Class Putting It All Together 17.7 Splash Screens 17.8 Using Console Output to Debug a GUI Application 17.9 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Retail Price Calculator 2. Monthly Sales Tax 3. Property Tax 4. Travel Expenses 5. Theater Revenue 6. Joe’s Automotive 7. Long Distance Calls 8. Latin Translator 9. MPG Calculator 10. Celsius to Fahrenheit Chapter 18 Advanced GUI Applications Topics 18.1The Swing and AWT Class Hierarchy 18.2 Read-Only Text Fields 18.3 Lists Selection Modes Responding to List Events Retrieving the Selected Item Placing a Border around a List Adding a Scroll Bar to a List Adding Items to an Existing JList Component Multiple Selection Lists Single Interval Selection Mode Multiple Interval Selection Mode 18.4 Combo Boxes Retrieving the Selected Item Editable Combo Boxes Checkpoint 18.5 Displaying Images in Labels and Buttons Checkpoint 18.6 Mnemonics and Tool Tips Mnemonics Tool Tips Checkpoint 18.7 File Choosers and Color Choosers File Choosers Displaying a File Chooser Dialog Box Color Choosers 18.8 Menus Checkpoint 18.9 More about Text Components: Text Areas and Fonts Text Areas Fonts Checkpoint 18.10 Sliders Checkpoint 18.11 Look and Feel 18.12 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Scrollable Tax Calculator 2. Image Viewer 3. Dorm and Meal Plan Calculator 4. Skateboard Designer 5. Shopping Cart System 6. Cell Phone Packages 7. Shade Designer 8. Conference Registration System 9. Dice Simulator 10. Card Dealer 11. Tic Tac Toe Simulator Chapter 19 Applets and More Topics 19.1 Introduction to Applets Checkpoint 19.2 A Brief Introduction to HTML Hypertext Markup Language Document Structure Tags Text Formatting Tags Creating Breaks in Text Inserting Links Checkpoint 19.3 Creating Applets with Swing Running an Applet Running an Applet with appletviewer Handling Events in an Applet Checkpoint 19.4 Using AWT for Portability Checkpoint 19.5 Drawing Shapes The XY Coordinate System Graphics Objects The repaint Method Drawing on Panels Checkpoint 19.6 Handling Mouse Events Handling Mouse Events Using Adapter Classes Checkpoint 19.7 Timer Objects Checkpoint 19.8 Playing Audio Using an AudioClip Object Playing Audio in an Application Checkpoint 19.9 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. FollowMe Applet 2. House Applet 3. WatchMe Applet 4. Thermometer Applet 5. Polygon Drawer 6. GridFiller Applet 7. DrinkMachine Applet 8. Stopwatch Applet 9. Slideshow Application Chapter 20 Creating GUI Applications with JavaFX and Scene Builder Topics 20.1 Introduction Event-Driven Programming Checkpoint 20.2 Scene Graphs Checkpoint 20.3 Using Scene Builder to Create JavaFX Applications Starting Scene Builder The Scene Builder Main Window Checkpoint 20.4 Writing the Application Code The Main Application Class The Controller Class Using the Sample Controller Skeleton Summary of Creating a JavaFX Application Checkpoint 20.5 RadioButtons and CheckBoxes RadioButtons Determining in Code Whether a RadioButton Is Selected Responding to RadioButton Events CheckBoxes Determining in Code Whether a CheckBox Is Selected Responding to CheckBox Events Checkpoint 20.6 Displaying Images Displaying an Image with Code Checkpoint 20.7 Common Errors to Avoid Review Questions and Exercises Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Programming Challenges 1. Retail Price Calculator 2. Latin Translator 3. Name Formatter 4. Tip, Tax, and Total 5. Distance Traveled 6. Heads or Tails 7. Celsius and Fahrenheit Temperature Converter 8. Dice Simulator 9. Rock, Paper, Scissors Game 10. Tic-Tac-Toe Simulator 11. Slot Machine Simulation Index A B C D E F G H I J K L M N O P Q R S T U V W Z Appendix A The ASCII/Unicode Characters Appendix B Operator Precedence and Associativity Appendix C Java Key Words Appendix D Installing the JDK and Using the JDK Documentation Appendix E Using the javadoc Utility Writing Documentation Comments The @param Tag The @return Tag The @exception and @throws Tags Running javadoc The @author and @version Tags Embedding HTML in Documentation Comments The -public, -private, and -protected Command Line Options Appendix F More about the Math Class Appendix G Packages Appendix H Working with Records and Random Access Files Appendix I Configuring Java DB and Installing Apache Derby Appendix J The QuickSort Algorithm Appendix K Named Colors Appendix L Answers to Checkpoints Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Online Chapter 17 Online Chapter 18 Online Chapter 19 Online Chapter 20 Appendix M Answers to Odd-Numbered Review Questions Chapter 1 Multiple Choice Find the Error Algorithm Workbench Predict the Result Short Answer Chapter 2 Multiple Choice and True/False Predict the Output Find the Error Algorithm Workbench Short Answer Chapter 3 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 4 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 5 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 6 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 7 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 8 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 9 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 10 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 11 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 12 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 13 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 14 Multiple Choice and True/False Algorithm Workbench Short Answer Chapter 15 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Chapter 16 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Online Chapter 17 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Online Chapter 18 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Online Chapter 19 Multiple Choice and True/False Find the Error Algorithm Workbench Short Answer Online Chapter 20 Multiple Choice and True / False Find the Error Algorithm Workbench Short Answer Case Study 1 Calculating Sales Commission Program Design Case Study 2 The Amortization Class Calculations Report Requirements The Main Program Case Study 3 The PinTester Class Case Study 4 Parallel Arrays Case Study 5 The FeetInches Class More about the toString Method The add Method The equals Method The copy Method The Copy Constructor Case Study 6 The SerialNumber Class Case Study 7 A Simple Text Editor Application File Menu Font Menu
Similar books
Reisen im Ostindischen Archipel in den Jahren 1865 und 1866
1869 · PDF
Eine Reise um die Welt
1899 · PDF
Europäische Siedler in Niederländisch Ost-Indien
1892 · PDF
Über den Gebirgsbau der Insel Java
1844 · PDF
Der Malayische Archipel : Land und Leute, in Schilderungen gesammelt während eines dreißigjährigen Aufenthaltes in den Kolonien
1878 · PDF
Starting Out with Java: From Control Structures through Data Structures (4th Edition)
2018 · PDF
Spark в действии
2021 · PDF
John Barrow's Esq. Reise nach Cochinchina in den Jahren 1792 und 1793 ; nebst Nachrichten von diesem Königreiche und den übrigen auf dieser Reise besuchten Ländern
1808 · PDF