Download now INTRODUCTION TO JAVA PROGRAMMING
Y. Daniel || Liang
Armstrong Atlantic State University
with manual solutions in PDF for free .
Many of you have provided feedback on earlier editions of this book, and your comments and
suggestions have greatly improved the book. This edition has been substantially enhanced in
presentation, organization, examples, exercises, and supplements. We have:
■ Reorganized sections and chapters to present the subjects in a more logical order
■ Included many new interesting examples and exercises to stimulate interests
■ Updated to Java 7
■ Created animations for algorithms and data structures to visually demonstrate the
■ Redesigned the support Website to make it easier to navigate
This book teaches programming in a problem-driven way that focuses on problem solving
rather than syntax. We make introductory programming interesting by using thought-provoking
problems in a broad context. The central thread of early chapters is on problem solving.
Appropriate syntax and library are introduced to enable readers to write programs for solving
the problems. To support the teaching of programming in a problem-driven way, the book
provides a wide variety of problems at various levels of difficulty to motivate students. To
appeal to students in all majors, the problems cover many application areas, including math,
science, business, financial, gaming, animation, and multimedia.
The book focuses on fundamentals first by introducing basic programming concepts and
techniques before designing custom classes. The fundamental concepts and techniques of loops,
methods, and arrays are the foundation for programming. Building this strong foundation
prepares students to learn object-oriented programming and advanced Java programming.
This book is a brief version of Introduction to Java Programming, Comprehensive Version,
9E. This version is designed for an introductory programming course, commonly known as
CS1. This version contains the first twenty chapters in the comprehensive version. The brief
version covers fundamentals of programming, object-oriented programming, GUI programming,
exception handling, I/O, and recursion. The comprehensive version has an additional
thirty chapters that cover data structures and algorithms, threads, parallel programming,
networking, internationalization, advanced GUI, database, and Web programming.
The best way to teach programming is by example, and the only way to learn programming
is by doing. Basic concepts are explained by example, and a large number of exercises with
various levels of difficulty are provided for students to practice. For our programming courses,
we assign programming exercises after each lecture.
Our goal is to produce a text that teaches problem solving and programming in a broad
context using a wide variety of interesting examples. If you have any comments on and
suggestions for improving the book, please email me.
Y. Daniel Liang
What’s New in This Edition?
This edition substantially improves Introduction to Java Programming, Eighth Edition. The
major improvements are as follows:
■ This edition is completely revised in every detail to enhance clarity, presentation, content,
examples, and exercises.
■ New examples and exercises are provided to motivate and stimulate student interest in
■ Each section starts with a Key Point that highlights the important concepts covered in the
■ Check Points provide review questions to help students track their progress and evaluate
their learning after a major concept or example is covered.
■ Each chapter provides test questions online. They are grouped by sections for students to
do self-test. The questions are graded online.
■ New VideoNotes provide short video tutorials designed to reinforce code.
■ The Java GUI API is an excellent example of how the object-oriented principle is applied.
Students learn better with concrete and visual examples. So basic GUI/Graphics is moved
before introducing abstract classes and interfaces. You can however still choose to cover
abstract classes and interfaces before GUI or skip GUI.
■ The numeric wrapper classes, BigInteger, and BigDecimal are now introduced in
Chapter 10 to enable students to write code using these classes early.
■ Exception handling is covered before abstract classes and interfaces so that students can
build robust programs early. The instructor can still choose to cover exception handling
later. Text I/O is now combined with exception handling to form a new chapter.
■ Simple use of generics is introduced along with ArrayList in Chapter 11 and with
Comparable in Chapter 15 while the complex detail on generics is introduced in the
comprehensive version of the book.