Amazon cover image
Image from Amazon.com

Java programming / Joyce Farrell. [print]

By: Material type: TextTextPublication details: Boston : Cengage, (c)2019.Edition: Ninth editionDescription: xxiii, 869 pages ; 23 cmContent type:
  • text
Media type:
  • unmediated
Carrier type:
  • volume
ISBN:
  • 9781337397070
Subject(s): LOC classification:
  • QA76.F245.J383 2019
  • QA76
Available additional physical forms:
  • COPYRIGHT NOT covered - Click this link to request copyright permission:
Contents:
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
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
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
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
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
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
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
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
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
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.
Subject: 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.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode
Circulating Book (checkout times vary with patron status) Circulating Book (checkout times vary with patron status) G. Allen Fleece Library CIRCULATING COLLECTION QA76.73.J38.F37 2019 (Browse shelf(Opens below)) Available 31923001797402

Previous edition: Australia: Cengage Learning, 2016.

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.

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.

COPYRIGHT NOT covered - Click this link to request copyright permission:

There are no comments on this title.

to post a comment.