Book description
Written for the one- to three-term introductory programming course, the fifth edition of Java Illuminated provides learners with an interactive, user-friendly approach to learning the Java programming language. Comprehensive but accessible, the text takes a progressive approach to object-oriented programming, allowing students to build on established skills to develop new and increasingly complex classes. Java Illuminated follows an activity-based active learning approach that ensures student engagement and interest.
Table of contents
- Cover
- Title Page
- Copyright Page
- Dedication
- Contents
- Preface
- Turing’s Craft CodeLab Student Registration Instructions
- Acknowledgments
- Chapter 1 Introduction to Programming and the Java Language
- Chapter 2 Programming Building Blocks—Java Basics
-
Chapter 3 Object-Oriented Programming, Part 1: Using Classes
- 3.1 Class Basics and Benefits
- 3.2 Creating Objects Using Constructors
- 3.3 Calling Methods
- 3.4 Using Object References
- 3.5 Programming Activity 1: Calling Methods
- 3.6 The Java Class Library
- 3.7 The String Class
- 3.8 Formatting Output with the DecimalFormat Class
- 3.9 Generating Random Numbers with the Random Class
- 3.10 Input from the Console Using the Scanner Class
- 3.11 Calling Static Methods and Using Static Class Variables
- 3.12 Using System.in and System.out
- 3.13 The Math Class
- 3.14 Formatting Output with the NumberFormat Class
- 3.15 The Integer, Double, Character, and Other Wrapper Classes
- 3.16 Programming Activity 2: Using Predefined Classes
- 3.17 Chapter Summary
-
3.18 Exercises, Problems, and Projects
- 3.18.1 Multiple Choice Exercises
- 3.18.2 Reading and Understanding Code
- 3.18.3 Fill In the Code
- 3.18.4 Identifying Errors in Code
- 3.18.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 3.18.6 Write a Short Program
- 3.18.7 Programming Projects
- 3.18.8 Technical Writing
- 3.18.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 4 Introduction to Graphical Applications
- 4.1 JavaFX Application Structure
- 4.2 The Graphics Coordinate System and Color
- 4.3 Drawing Shapes and Text
- 4.4 Drawing Custom Shapes
- 4.5 Programming Activity 1: Writing an Application with Graphics
- 4.6 Chapter Summary
-
4.7 Exercises, Problems, and Projects
- 4.7.1 Multiple Choice Exercises
- 4.7.2 Reading and Understanding Code
- 4.7.3 Fill In the Code
- 4.7.4 Identifying Errors in Code
- 4.7.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 4.7.6 Write a Short Program
- 4.7.7 Programming Projects
- 4.7.8 Technical Writing
- 4.7.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 5 Flow of Control, Part 1: Selection
- 5.1 Forming Conditions
- 5.2 Simple Selection with if
- 5.3 Selection Using if/else
- 5.4 Selection Using if/else if
- 5.5 Sequential and Nested if/else Statements
- 5.6 Testing Techniques for if/else Statements
- 5.7 Programming Activity 1: Working with if/else
- 5.8 Comparing Floating-Point Numbers
- 5.9 Comparing Objects
- 5.10 The Conditional Operator (?:)
- 5.11 The switch Statement
- 5.12 Programming Activity 2: Using the switch Statement
- 5.13 Chapter Summary
-
5.14 Exercises, Problems, and Projects
- 5.14.1 Multiple Choice Exercises
- 5.14.2 Reading and Understanding Code
- 5.14.3 Fill In the Code
- 5.14.4 Identifying Errors in Code
- 5.14.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 5.14.6 Write a Short Program
- 5.14.7 Programming Projects
- 5.14.8 Technical Writing
- 5.14.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 6 Flow of Control, Part 2: Looping
- 6.1 Event-Controlled Loops Using while
- 6.2 General Form for while Loops
- 6.3 Event-Controlled Looping
- 6.4 Looping Techniques
- 6.5 Type-Safe Input Using Scanner
- 6.6 Constructing Loop Conditions
- 6.7 Testing Techniques for while Loops
- 6.8 Event-Controlled Loops Using do/while
- 6.9 Programming Activity 1: Using while Loops
- 6.10 Count-Controlled Loops Using for
- 6.11 Nested Loops
- 6.12 Programming Activity 2: Using for Loops
- 6.13 Chapter Summary
-
6.14 Exercises, Problems, and Projects
- 6.14.1 Multiple Choice Exercises
- 6.14.2 Reading and Understanding Code
- 6.14.3 Fill In the Code
- 6.14.4 Identifying Errors in Code
- 6.14.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 6.14.6 Write a Short Program
- 6.14.7 Programming Projects
- 6.14.8 Technical Writing
- 6.14.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 7 Object-Oriented Programming, Part 2: User-Defined Classes
- 7.1 Defining a Class
- 7.2 Defining Instance Variables
- 7.3 Writing Class Methods
- 7.4 Writing Constructors
- 7.5 Writing Accessor Methods
- 7.6 Writing Mutator Methods
- 7.7 Writing Data Manipulation Methods
- 7.8 Programming Activity 1: Writing a Class Definition, Part 1
- 7.9 The Object Reference this
- 7.10 The toString and equals Methods
- 7.11 Static Class Members
- 7.12 Graphical Objects
- 7.13 Enumeration Types
- 7.14 Programming Activity 2: Writing a Class Definition, Part 2
- 7.15 Creating Packages
- 7.16 Generating Web-Style Documentation with Javadoc
- 7.17 Chapter Summary
-
7.18 Exercises, Problems, and Projects
- 7.18.1 Multiple Choice Exercises
- 7.18.2 Reading and Understanding Code
- 7.18.3 Fill In the Code
- 7.18.4 Identifying Errors in Code
- 7.18.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 7.18.6 Write a Short Program
- 7.18.7 Programming Projects
- 7.18.8 Technical Writing
- 7.18.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 8 Single-Dimensional Arrays
- 8.1 Declaring and Instantiating Arrays
- 8.2 Accessing Array Elements
- 8.3 Aggregate Array Operations
- 8.4 Programming Activity 1: Working with Arrays
- 8.5 Using Arrays in Classes
- 8.6 Searching and Sorting Arrays
- 8.7 Programming Activity 2: Searching and Sorting Arrays
- 8.8 Using Arrays as Counters
- 8.9 Methods Accepting a Variable Number of Arguments
- 8.10 Chapter Summary
-
8.11 Exercises, Problems, and Projects
- 8.11.1 Multiple Choice Exercises
- 8.11.2 Reading and Understanding Code
- 8.11.3 Fill In the Code
- 8.11.4 Identifying Errors in Code
- 8.11.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 8.11.6 Write a Short Program
- 8.11.7 Programming Projects
- 8.11.8 Technical Writing
- 8.11.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 9 Multidimensional Arrays and the ArrayList Class
- 9.1 Declaring and Instantiating Multidimensional Arrays
- 9.2 Accessing Multidimensional Array Elements
-
9.3 Aggregate Two-Dimensional Array Operations
- 9.3.1 Processing All the Elements of a Two-Dimensional Array
- 9.3.2 Processing a Given Row of a Two-Dimensional Array
- 9.3.3 Processing a Given Column of a Two-Dimensional Array
- 9.3.4 Processing a Two-Dimensional Array One Row at a Time
- 9.3.5 Processing a Two-Dimensional Array One Column at a Time
- 9.3.6 Displaying Two-Dimensional Array Data as a Bar Chart
- 9.4 Two-Dimensional Arrays Passed to and Returned from Methods
- 9.5 Programming Activity 1: Working with Two-Dimensional Arrays
- 9.6 Other Multidimensional Arrays
- 9.7 The ArrayList Class
- 9.8 Programming Activity 2: Working with the ArrayList Class
- 9.9 Chapter Summary
-
9.10 Exercises, Problems, and Projects
- 9.10.1 Multiple Choice Exercises
- 9.10.2 Reading and Understanding Code
- 9.10.3 Fill In the Code
- 9.10.4 Identifying Errors in Code
- 9.10.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 9.10.6 Write a Short Program
- 9.10.7 Programming Projects
- 9.10.8 Technical Writing
- 9.10.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 10 Object-Oriented Programming, Part 3: Inheritance, Polymorphism, and Interfaces
- 10.1 Inheritance
- 10.2 Inheritance Design
- 10.3 The protected Access Modifier
- 10.4 Programming Activity 1: Using Inheritance
- 10.5 Abstract Classes and Methods
- 10.6 Polymorphism
- 10.7 Programming Activity 2: Using Polymorphism
- 10.8 Interfaces
- 10.9 Chapter Summary
-
10.10 Exercises, Problems, and Projects
- 10.10.1 Multiple Choice Exercises
- 10.10.2 Reading and Understanding Code
- 10.10.3 Fill In the Code
- 10.10.4 Identifying Errors in Code
- 10.10.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 10.10.6 Write a Short Program
- 10.10.7 Programming Projects
- 10.10.8 Technical Writing
- 10.10.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 11 Exceptions and Input/Output Operations
- 11.1 Simple Exception Handling
- 11.2 Catching Multiple Exceptions
- 11.3 Reading Text Files Using Scanner
- 11.4 The java.io Package
- 11.5 Recovering from an Exception
- 11.6 Writing and Appending to Text Files
- 11.7 Reading Structured Text Files
- 11.8 Programming Activity 1: Reading from a Structured Text File
- 11.9 Streams
- 11.10 Reading Formatted Open Data from a Remote Location
- 11.11 Reading and Writing Objects to a File
- 11.12 Programming Activity 2: Reading Objects from a File
- 11.13 User-Defined Exceptions
- 11.14 Chapter Summary
-
11.15 Exercises, Problems, and Projects
- 11.15.1 Multiple Choice Exercises
- 11.15.2 Reading and Understanding Code
- 11.15.3 Fill In the Code
- 11.15.4 Identifying Errors in Code
- 11.15.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 11.15.6 Write a Short Program
- 11.15.7 Programming Projects
- 11.15.8 Technical Writing
- 11.15.9 Group Project (for groups of 2, 3, or more students)
-
Chapter 12 Graphical User Interfaces Using JavaFX
- 12.1 The Structure of a JavaFX Application
- 12.2 GUI Controls
- 12.3 A Simple Control: Label
- 12.4 Event Handling: Managing User Interactions
- 12.5 Text Fields and Command Buttons
- 12.6 Radio Buttons and Checkboxes
- 12.7 Programming Activity 1: Working with Buttons
- 12.8 Combo Boxes
- 12.9 Sliders
- 12.10 Building a GUI Programmatically
- 12.11 Layout Containers: Dynamically Setting Up the GUI Using GridPane
- 12.12 BorderPane Layout, Animations, Sounds, and Lambda Expressions
- 12.13 Nesting Components
- 12.14 Mouse and Touch Events
- 12.15 Using a List to Display a Pie Chart
- 12.16 Using a List to Display a Dynamic Bar Chart
- 12.17 Using a Style Sheet to Style the View
- 12.18 Programming Activity 2: Working with Layout Containers
- 12.19 Chapter Summary
-
12.20 Exercises, Problems, and Projects
- 12.20.1 Multiple Choice Exercises
- 12.20.2 Reading and Understanding Code
- 12.20.3 Fill In the Code
- 12.20.4 Identifying Errors in Code
- 12.20.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 12.20.6 Write a Short Program
- 12.20.7 Programming Projects
- 12.20.8 Technical Writing
- 12.20.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 13 Recursion
- 13.1 Simple Recursion: Identifying the General and Base Cases
- 13.2 Recursion with a Return Value
- 13.3 Recursion with Two Base Cases
- 13.4 Programming Activity 1: Checking for a Palindrome
- 13.5 Binary Search: A Recursive Solution
- 13.6 Programming Activity 2: The Towers of Hanoi
- 13.7 Recursion Versus Iteration
- 13.8 Chapter Summary
-
13.9 Exercises, Problems, and Projects
- 13.9.1 Multiple Choice Exercises
- 13.9.2 Reading and Understanding Code
- 13.9.3 Fill In the Code
- 13.9.4 Identifying Errors in Code
- 13.9.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 13.9.6 Write a Short Program
- 13.9.7 Programming Projects
- 13.9.8 Technical Writing
- 13.9.9 Group Projects (for a group of 1, 2, or 3 students)
-
Chapter 14 An Introduction to Data Structures
- 14.1 Linked Lists
- 14.2 Linked Lists of Objects
- 14.3 Implementing a Stack Using a Linked List
- 14.4 Implementing a Queue Using a Linked List
- 14.5 Array Representation of Stacks
- 14.6 Programming Activity 1: Writing Methods for a Stack Class
- 14.7 Array Representation of Queues
- 14.8 Sorted Linked Lists
- 14.9 Programming Activity 2: Writing Insert and Delete Methods for a Sorted Linked List
- 14.10 Doubly Linked Lists
- 14.11 Linked Lists Using Generic Types
- 14.12 Recursively Defined Linked Lists
- 14.13 Chapter Summary
-
14.14 Exercises, Problems, and Projects
- 14.14.1 Multiple Choice Exercises
- 14.14.2 Reading and Understanding Code
- 14.14.3 Fill In the Code
- 14.14.4 Identifying Errors in Code
- 14.14.5 Debugging Area—Using Messages from the Java Compiler and Java JVM
- 14.14.6 Write a Short Program
- 14.14.7 Programming Projects
- 14.14.8 Technical Writing
- 14.14.9 Group Project (for a group of 1, 2, or 3 students)
-
Chapter 15 Running Time Analysis
- 15.1 Orders of Magnitude and Big-Oh Notation
- 15.2 Running Time Analysis of Algorithms: Counting Statements
- 15.3 Running Time Analysis of Algorithms and Impact of Coding: Evaluating Recursive Methods
- 15.4 Programming Activity: Tracking How Many Statements Are Executed by a Method
- 15.5 Running Time Analysis of Searching and Sorting Algorithms
- 15.6 Chapter Summary
- 15.7 Exercises, Problems, and Projects
- Appendix A Java Reserved Words and Keywords
- Appendix B Operator Precedence
- Appendix C The Unicode Character Set
- Appendix D Representing Negative Integers
- Appendix E Representing Floating-Point Numbers
- Appendix F Solutions to Selected Exercises
- Index
Product information
- Title: Java Illuminated, 5th Edition
- Author(s):
- Release date: January 2018
- Publisher(s): Jones & Bartlett Learning
- ISBN: 9781284141092
You might also like
book
Java Illuminated, 3rd Edition
With a variety of interactive learning features and user-friendly pedagogy, the Third Edition provides a comprehensive …
book
Java Programming 24-Hour Trainer, 2nd Edition
Quick and painless Java programming with expert multimedia instruction Java Programming 24-Hour Trainer, 2nd Edition is …
book
Wicked Cool Java
Wicked Cool Java contains 101 fun, interesting, and useful ways to get more out of Java. …
book
Java Projects - Second Edition
Learn how to build scalable, resilient, and effective applications in Java that suit your software requirements. …