Java programming /

Farrell, Joyce,

Java programming / [print] Joyce Farrell. - Ninth edition. - Boston : Cengage, (c)2019. - xxiii, 869 pages ; 23 cm

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.



9781337397070

2018933919

GBB868616 bnb

018831417 Uk


Computer programming.

QA76.F245.J383 2019 QA76