Introduction to Java Programming and Data Structures seamlessly integrates programming, data structures and algorithms into 1 text. It takes a fundamentals-first approach, helping you build a strong foundation of basic programming concepts and techniques before moving on to object-oriented and advanced Java programming. Author Daniel Liang explains programming in an easy-to-follow, problem-driven way that focuses on problem solving rather than syntax. Basic concepts are illustrated by example, and interesting exercises with various levels of difficulty offer many opportunities for you to practice and apply what you have learned.
The 13th Edition is aligned to the latest Java 18 technology and completely revised in every detail to enhance the clarity, presentation, content, examples, and exercises.
Table of Contents:
Introduction to Computers, Programs, and Java
Elementary Programming
Selections
Mathematical Functions, Characters, and Strings
Loops
Methods
Single-Dimensional Arrays
Multidimensional Arrays
Objects and Classes
Object-Oriented Thinking
Inheritance and Polymorphism
Exception Handling and Text I/O
Abstract Classes and Interfaces
JavaFX Basics
Event-Driven Programming and Animations
JavaFX UI Controls and Multimedia
Binary I/O
Recursion
Generics
Lists, Stacks, Queues, and Priority Queues
Sets and Maps
Developing Efficient Algorithms
Sorting
Implementing Lists, Stacks, Queues, and Priority Queues
Binary Search Trees
AVL Trees
Hashing
Graphs and Applications
Weighted Graphs and Applications
Aggregate Operations for Collection Streams
APPENDICES
Java Keywords
The ASCII Character Set
Operator Precedence Chart
Java Modifiers
Special Floating-Point Values
Number Systems
Bitwise Operations
Regular Expressions
Enumerated types
The Big-O, Big-Omega, and Big-Theta Notations