TY - BOOK AU - Farrell,Joyce TI - Java programming SN - 9781337397070 AV - QA76.F245.J383 2019 PY - 2019/// CY - Boston PB - Cengage KW - Computer programming N1 - Previous edition: Australia: Cengage Learning, 2016; 4; Machine generated contents note: Learning Programming Terminology --; Comparing Procedural and Object-Oriented Programming Concepts --; Procedural Programming --; Object-Oriented Programming --; Understanding Classes, Objects, and Encapsulation --; Understanding Inheritance and Polymorphism --; Features of the Java Programming Language --; Analyzing a Java Application that Produces Console Output --; Understanding the Statement that Produces the Output --; Understanding the First Class --; Understanding the main() Method --; Indent Style --; Saving a Java Class --; Compiling a Java Class and Correcting Syntax Errors --; Compiling a Java Class --; Correcting Syntax Errors --; Running a Java Application and Correcting Logic Errors --; Running a Java Application --; Modifying a Compiled Java Class --; Correcting Logic Errors --; Adding Comments to a Java Class --; Creating a Java Application that Produces GUI Output --; Finding Help --; Don't Do It --; Key Terms --; Summary --; Exercises; Note continued: Declaring and Using Constants and Variables --; Declaring Variables --; Declaring Named Constants --; The Scope of Variables and Constants --; Concatenating Strings to Variables and Constants --; Pitfall: Forgetting that a Variable Holds One Value at a Time --; Learning About Integer Data Types --; Using the bool can Data Type --; Learning About Floating-Point Data Types --; Using the char Data Type --; Using the Scanner Class to Accept Keyboard Input --; Pitfall: Using nextLine() Following One of the Other Scanner Input Methods --; Using the JOptionPane Class to Accept GUI Input --; Using Input Dialog Boxes --; Using Confirm Dialog Boxes --; Performing Arithmetic Using Variables and Constants --; Associativity and Precedence --; Writing Arithmetic Statements Efficiently --; Pitfall: Not Understanding Imprecision in Floating-Point Numbers --; Understanding Type Conversion --; Automatic Type Conversion --; Explicit Type Conversions --; Don't Do It --; Key Terms --; Summary; Note continued: Exercises --; Understanding Method Calls and Placement --; Understanding Method Construction --; Access Specifiers --; Return Type --; Method Name --; Parentheses --; Adding Parameters to Methods --; Creating a Method that Receives a Single Parameter --; Creating a Method that Requires Multiple Parameters --; Creating Methods that Return Values --; Chaining Method Calls --; Learning About Classes and Objects --; Creating a Class --; Creating Instance Methods in a Class --; Organizing Classes --; Declaring Objects and Using Their Methods --; Understanding Data Hiding --; An Introduction to Using Constructors --; Understanding that Classes Are Data Types --; Don't Do It --; Key Terms --; Summary --; Exercises --; Understanding Blocks and Scope --; Overloading a Method --; Automatic Type Promotion in Method Calls --; Learning About Ambiguity --; Creating and Calling Constructors with Parameters --; Overloading Constructors --; Learning About the this Reference; Note continued: Using the this Reference to Make Overloaded Constructors More Efficient --; Using static Fields --; Using Constant Fields --; Using Automatically Imported, Prewritten Constants and Methods --; The Math Class --; Importing Classes that Are Not Imported Automatically --; Using the Local Date Class --; Understanding Composition and Nested Classes --; Composition --; Nested Classes --; Don't Do It --; Key Terms --; Summary --; Exercises --; Planning Decision-Making Logic --; The if and if ... else Statements --; The if Statement --; Pitfall: Misplacing a Semicolon in an if Statement --; Pitfall: Using the Assignment Operator Instead of the Equivalency Operator --; Pitfall: Attempting to Compare Objects Using the Relational Operators --; The if ... else Statement --; Using Multiple Statements in if and if ... else Clauses --; Nesting if and if ... else Statements --; Using Logical AND and OR Operators --; The AND Operator --; The OR Operator --; Short-Circuit Evaluation; Note continued: Considering the Order of Evaluation of Short-Circuit Operators --; Comparing to Zero --; Employing Loop Fusion --; A Final Note on Improving Loop Performance --; Don't Do It --; Key Terms --; Summary --; Exercises --; Understanding String Data Problems --; Using Character Class Methods --; Declaring and Comparing String Objects --; Comparing String Values --; Empty and null Strings --; Using a Variety of String Methods --; Converting String Objects to Numbers --; Learning About the StringBuilder and StringBuffer Classes --; Don't Do It --; Key Terms --; Summary --; Exercises --; Declaring an Array --; Initializing an Array --; Using Variable Subscripts with an Array --; Using the Enhanced for Loop --; Using Part of an Array --; Declaring and Using Arrays of Objects --; Using the Enhanced for Loop with Objects --; Manipulating Arrays of Strings --; Searching an Array and Using Parallel Arrays --; Using Parallel Arrays --; Searching an Array for a Range Match; Note continued: Passing Arrays to and Returning Arrays from Methods --; Returning an Array from a Method --; Don't Do It --; Key Terms --; Summary --; Exercises --; Sorting Array Elements Using the Bubble Sort Algorithm --; Using the Bubble Sort Algorithm --; Improving Bubble Sort Efficiency --; Sorting Arrays of Objects --; Sorting Array Elements Using the Insertion Sort Algorithm --; Using Two-Dimensional and Other Multidimensional Arrays --; Passing a Two-Dimensional Array to a Method --; Using the length Field with a Two-Dimensional Array --; Understanding Jagged Arrays --; Using Other Multidimensional Arrays --; Using the Arrays Class --; Using the ArrayList Class --; Creating Enumerations --; Don't Do It --; Key Terms --; Summary --; Exercises --; Learning About the Concept of Inheritance --; Diagramming Inheritance Using the UML --; Inheritance Terminology --; Extending Classes --; Overriding Superclass Methods --; Using the @Override Tag --; Calling Constructors During Inheritance; Note continued: Using Superclass Constructors that Require Arguments --; Accessing Superclass Methods --; Comparing this and super --; Employing Information Hiding --; Methods You Cannot Override --; A Subclass Cannot Override static Methods in Its Superclass --; A Subclass Cannot Override final Methods in Its Superclass --; A Subclass Cannot Override Methods in a final Superclass --; Don't Do It --; Key Terms --; Summary --; Exercises --; Creating and Using Abstract Classes --; Using Dynamic Method Binding --; Using a Superclass as a Method Parameter Type --; Creating Arrays of Subclass Objects --; Using the Object Class and Its Methods --; Using the toString() Method --; Using the equals() Method --; Using Inheritance to Achieve Good Software Design --; Creating and Using Interfaces --; Creating Interfaces to Store Related Constants --; Using Anonymous Inner Classes and Lambda Expressions --; Lambda Expressions --; Creating and Using Packages --; Don't Do It --; Key Terms --; Summary; Note continued: Exercises --; Learning About Exceptions --; Trying Code and Catching Exceptions --; Using a try Block to Make Programs "Foolproof" --; Declaring and Initializing Variables in try ... catch Blocks --; Throwing and Catching Multiple Exceptions --; Using the finally Block --; Understanding the Advantages of Exception Handling --; Specifying the Exceptions that a Method Can Throw --; Tracing Exceptions Through the Call Stack --; Creating Your Own Exception Classes --; Using Assertions --; Displaying the Virtual Keyboard --; Don't Do It --; Key Terms --; Summary --; Exercises --; Understanding Computer Files --; Using the Path and Files Classes --; Creating a Path --; Retrieving Information About a Path --; Converting a Relative Path to an Absolute One --; Checking File Accessibility --; Deleting a Path --; Determining File Attributes --; File Organization, Streams, and Buffers --; Using Java's IO Classes --; Writing to a File --; Reading from a File; Note continued: Creating and Using Sequential Data Files --; Learning About Random Access Files --; Writing Records to a Random Access Data File --; Reading Records from a Random Access Data File --; Accessing a Random Access File Sequentially --; Accessing a Random Access File Randomly --; Don't Do It --; Key Terms --; Summary --; Exercises --; Understanding Swing Components --; Using the JFrame Class --; Customizing a JFrame's Appearance --; Using the JLabel Class --; Changing a JLabel's Font --; Using a Layout Manager --; Extending the JFrame Class --; Adding JTextFields and JButtons to a JFrame --; Adding JTextFields --; Adding JButtons --; Learning About Event-Driven Programming --; Preparing Your Class to Accept Event Messages --; Telling Your Class to Expect Events to Happen --; Telling Your Class How to Respond to Events --; An Event-Driven Program --; Using Multiple Event Sources --; Using the setEnabled() Method --; Understanding Swing Event Listeners; Note continued: Using the JCheckBox, ButtonGroup, and JComboBox Classes --; The JCheckBox Class --; The ButtonGroup Class --; The JComboBox Class --; Don't Do It --; Key Terms --; Summary --; Exercises --; What Is JavaFX? --; The Life Cycle of JavaFX Applications --; Understanding JavaFX Structure: Stage, Scene, Panes, and Widgets --; Deploying JavaFX Applications --; Creating JavaFX Applications Using Scene Builder --; Scene Builder Sections --; Using Widgets as Design Elements in FXML Layouts --; Using CSS to Create Visual Effects --; Creating Animations in JavaFX --; Don't Do It --; Key Terms --; Summary --; Exercises; 2 N2 - Discover the power of Java for developing applications with the engaging, hands-on approach in Farrell's JAVA PROGRAMMING, 8E. With this book, even first-time programmers can quickly develop useful programs while learning the basic principles of structured and object-oriented programming. The text incorporates the latest version of Java with a reader-friendly presentation and meaningful real-world exercises that highlight new Java strengths. Updated Programming Exercises and a wealth of case problems help you build skills critical for ongoing programming success. You can find additional tools to strengthen your Java programming success with the optional CourseMate that includes a wealth of interactive teaching and learning tools and unique Video Quizzes created by the book's author ER -