Book description
Up-to-Date, Essential Java Programming Skills—Made Easy!
Fully updated for Java Platform, Standard Edition 9 (Java SE 9), Java: A Beginner’s Guide, Seventh Edition, gets you started programming in Java right away. Bestselling programming author Herb Schildt begins with the basics, such as how to create, compile, and run a Java program. He then moves on to the keywords, syntax, and constructs that form the core of the Java language. The book also covers some of Java’s more advanced features, including multithreaded programming, generics, lambda expressions, Swing, and JavaFX. This practical Oracle Press guide features details on Java SE 9’s innovative new module system, and, as an added bonus, it includes an introduction to JShell, Java’s new interactive programming tool.
Designed for Easy Learning:
• Key Skills and Concepts—Chapter-opening lists of specific skills covered in the chapter
• Ask the Expert—Q&A sections filled with bonus information and helpful tips
• Try This—Hands-on exercises that show you how to apply your skills
• Self Tests—End-of-chapter quizzes to reinforce your skills
• Annotated Syntax—Example code with commentary that describes the programming techniques being illustrated
Companion material for this title can be found here.
Table of contents
- Cover Page
- Title Page
- Copyright Page
- Contents
- INTRODUCTION
-
1 Java Fundamentals
- The Origins of Java
- Java’s Lineage: C and C++
- How Java Impacted the Internet
- Java’s Magic: The Bytecode
- Moving Beyond Applets
- The Java Buzzwords
- Object-Oriented Programming
- Obtaining the Java Development Kit
- A First Simple Program
- Handling Syntax Errors
- A Second Simple Program
- Another Data Type
- Try This 1-1: Converting Gallons to Liters
- Two Control Statements
- Create Blocks of Code
- Semicolons and Positioning
- Indentation Practices
- Try This 1-2: Improving the Gallons-to-Liters Converter
- The Java Keywords
- Identifiers in Java
- The Java Class Libraries
- Chapter 1 Self Test
-
2 Introducing Data Types and Operators
- Why Data Types Are Important
- Java’s Primitive Types
- The Boolean Type
- Try This 2-1: How Far Away Is the Lightning?
- Literals
- A Closer Look at Variables
- The Scope and Lifetime of Variables
- Operators
- Arithmetic Operators
- Relational and Logical Operators
- Short-Circuit Logical Operators
- The Assignment Operator
- Shorthand Assignments
- Type Conversion in Assignments
- Casting Incompatible Types
- Operator Precedence
- Try This 2-2: Display a Truth Table for the Logical Operators
- Expressions
- Chapter 2 Self Test
-
3 Program Control Statements
- Input Characters from the Keyboard
- The if Statement
- Nested ifs
- The if-else-if Ladder
- The switch Statement
- Nested switch Statements
- Try This 3-1: Start Building a Java Help System
- The for Loop
- Some Variations on the for Loop
- Missing Pieces
- Loops with No Body
- Declaring Loop Control Variables Inside the for Loop
- The Enhanced for Loop
- The while Loop
- The do-while Loop
- Try This 3-2: Improve the Java Help System
- Use break to Exit a Loop
- Use break as a Form of goto
- Use continue
- Try This 3-3: Finish the Java Help System
- Nested Loops
- Chapter 3 Self Test
-
4 Introducing Classes, Objects, and Methods
- Class Fundamentals
- How Objects Are Created
- Reference Variables and Assignment
- Methods
- Returning from a Method
- Returning a Value
- Using Parameters
- Try This 4-1: Creating a Help Class
- Constructors
- Parameterized Constructors
- Adding a Constructor to the Vehicle Class
- The new Operator Revisited
- Garbage Collection
- The this Keyword
- Chapter 4 Self Test
-
5 More Data Types and Operators
- Arrays
- Try This 5-1: Sorting an Array
- Multidimensional Arrays
- Irregular Arrays
- Alternative Array Declaration Syntax
- Assigning Array References
- Using the length Member
- Try This 5-2: A Queue Class
- The For-Each Style for Loop
- Strings
- Using Command-Line Arguments
- The Bitwise Operators
- Try This 5-3: A ShowBits Class
- The ? Operator
- Chapter 5 Self Test
-
6 A Closer Look at Methods and Classes
- Controlling Access to Class Members
- Try This 6-1: Improving the Queue Class
- Pass Objects to Methods
- Returning Objects
- Method Overloading
- Overloading Constructors
- Try This 6-2: Overloading the Queue Constructor
- Recursion
- Understanding static
- Try This 6-3: The Quicksort
- Introducing Nested and Inner Classes
- Varargs: Variable-Length Arguments
- Chapter 6 Self Test
-
7 Inheritance
- Inheritance Basics
- Member Access and Inheritance
- Constructors and Inheritance
- Using super to Call Superclass Constructors
- Using super to Access Superclass Members
- Try This 7-1: Extending the Vehicle Class
- Creating a Multilevel Hierarchy
- When Are Constructors Executed?
- Superclass References and Subclass Objects
- Method Overriding
- Overridden Methods Support Polymorphism
- Why Overridden Methods?
- Using Abstract Classes
- Using final
- The Object Class
- Chapter 7 Self Test
-
8 Packages and Interfaces
- Packages
- Packages and Member Access
- Understanding Protected Members
- Importing Packages
- Java’s Class Library Is Contained in Packages
- Interfaces
- Implementing Interfaces
- Using Interface References
- Try This 8-1: Creating a Queue Interface
- Variables in Interfaces
- Interfaces Can Be Extended
- Default Interface Methods
- Use static Methods in an Interface
- Private Interface Methods
- Final Thoughts on Packages and Interfaces
- Chapter 8 Self Test
-
9 Exception Handling
- The Exception Hierarchy
- Exception Handling Fundamentals
- The Consequences of an Uncaught Exception
- Using Multiple catch Statements
- Catching Subclass Exceptions
- Try Blocks Can Be Nested
- Throwing an Exception
- A Closer Look at Throwable
- Using finally
- Using throws
- Three Additional Exception Features
- Java’s Built-in Exceptions
- Creating Exception Subclasses
- Try This 9-1: Adding Exceptions to the Queue Class
- Chapter 9 Self Test
-
10 Using I/O
- Java’s I/O Is Built upon Streams
- Byte Streams and Character Streams
- The Byte Stream Classes
- The Character Stream Classes
- The Predefined Streams
- Using the Byte Streams
- Reading and Writing Files Using Byte Streams
- Automatically Closing a File
- Reading and Writing Binary Data
- Try This 10-1: A File Comparison Utility
- Random-Access Files
- Using Java’s Character-Based Streams
- File I/O Using Character Streams
- Using Java’s Type Wrappers to Convert Numeric Strings
- Try This 10-2: Creating a Disk-Based Help System
- Chapter 10 Self Test
-
11 Multithreaded Programming
- Multithreading Fundamentals
- The Thread Class and Runnable Interface
- Creating a Thread
- Try This 11-1: Extending Thread
- Creating Multiple Threads
- Determining When a Thread Ends
- Thread Priorities
- Synchronization
- Using Synchronized Methods
- The synchronized Statement
- Thread Communication Using notify( ), wait( ), and notifyAll( )
- Suspending, Resuming, and Stopping Threads
- Try This 11-2: Using the Main Thread
- Chapter 11 Self Test
-
12 Enumerations, Autoboxing, Static Import, and Annotations
- Enumerations
- Java Enumerations Are Class Types
- The values( ) and valueOf( ) Methods
- Constructors, Methods, Instance Variables, and Enumerations
- Enumerations Inherit Enum
- Try This 12-1: A Computer-Controlled Traffic Light
- Autoboxing
- Type Wrappers
- Autoboxing Fundamentals
- Autoboxing and Methods
- Autoboxing/Unboxing Occurs in Expressions
- Static Import
- Annotations (Metadata)
- Chapter 12 Self Test
-
13 Generics
- Generics Fundamentals
- A Simple Generics Example
- Bounded Types
- Using Wildcard Arguments
- Bounded Wildcards
- Generic Methods
- Generic Constructors
- Generic Interfaces
- Try This 13-1: Create a Generic Queue
- Raw Types and Legacy Code
- Type Inference with the Diamond Operator
- Erasure
- Ambiguity Errors
- Some Generic Restrictions
- Continuing Your Study of Generics
- Chapter 13 Self Test
-
14 Lambda Expressions and Method References
- Introducing Lambda Expressions
- Block Lambda Expressions
- Generic Functional Interfaces
- Try This 14-1: Pass a Lambda Expression as an Argument
- Lambda Expressions and Variable Capture
- Throw an Exception from Within a Lambda Expression
- Method References
- Constructor References
- Predefined Functional Interfaces
- Chapter 14 Self Test
- 15 Modules
-
16 Introducing Swing
- The Origins and Design Philosophy of Swing
- Components and Containers
- Layout Managers
- A First Simple Swing Program
- Swing Event Handling
- Use JButton
- Work with JTextField
- Create a JCheckBox
- Work with JList
- Try This 16-1: A Swing-Based File Comparison Utility
- Use Anonymous Inner Classes or Lambda Expressions to Handle Events
- Chapter 16 Self Test
-
17 Introducing JavaFX
- JavaFX Basic Concepts
- A JavaFX Application Skeleton
- Compiling and Running a JavaFX Program
- The Application Thread
- A Simple JavaFX Control: Label
- Using Buttons and Events
- Three More JavaFX Controls
- Try This 17-1: Use the CheckBox Indeterminate State
- Introducing Effects and Transforms
- What Next?
- Chapter 17 Self Test
-
A Answers to Self Tests
- Chapter 1: Java Fundamentals
- Chapter 2: Introducing Data Types and Operators
- Chapter 3: Program Control Statements
- Chapter 4: Introducing Classes, Objects, and Methods
- Chapter 5: More Data Types and Operators
- Chapter 6: A Closer Look at Methods and Classes
- Chapter 7: Inheritance
- Chapter 8: Packages and Interfaces
- Chapter 9: Exception Handling
- Chapter 10: Using I/O
- Chapter 11: Multithreaded Programming
- Chapter 12: Enumerations, Autoboxing, Static Import, and Annotations
- Chapter 13: Generics
- Chapter 14: Lambda Expressions and Method References
- Chapter 15: Modules
- Chapter 16: Introducing Swing
- Chapter 17: Introducing JavaFX
- B Using Java’s Documentation Comments
- C An Overview of Java Web Start
- D Introducing JShell
- E More Java Keywords
- Index
Product information
- Title: Java: A Beginner's Guide, 7th Edition
- Author(s):
- Release date: October 2017
- Publisher(s): McGraw-Hill
- ISBN: 9781259589324
You might also like
book
Java: A Beginner's Guide, Eighth Edition, 8th Edition
A practical introduction to Java programming—fully revised for long-term support release Java SE 11 Thoroughly updated …
book
Java: A Beginner's Guide, Ninth Edition, 9th Edition
A practical introduction to Java programming—fully revised for the latest version, Java SE 17 Thoroughly updated …
book
Java, A Beginner's Guide, 5th Edition, 5th Edition
Essential Java programming skills made easy From Herb Schildt, the number-one programming author worldwide, comes this …
book
Learning Java, 6th Edition
Ideal for working programmers new to Java, this best-selling book guides you through the language features …