"The [arrays] exercises are quite sophisticated and interesting. Provides the best combination of conceptual discussion and implementation examples of dynamic binding that I have encountered in a text. Excellent overview of basic networking via Java. Provides the perfect breadth and depth for generics in an entry-level Java class. Provides a good segue into a data structures course – the exercises are excellent." – Ric Heishman, George Mason University
"Beautiful collections of exercises–a nice illustration of how to use Java libraries to generate impressive and stimulating graphics with minimal code and effort. I found the “Making a Difference” exercises to be very nice and tactfully presented." – Amr Sabry, Indiana University
"A comprehensive introduction to programming in Java that covers all major areas of the platform. To me, the best way to understand programming is by example, and this book contains copious, well-described sample code." – Simon Ritter, Sun Microsystems
"Great example of polymorphism and interfaces. Great comparison of recursion and iteration. I found the [Searching and Sorting] chapter to be just right. A very understandable, simplified explanation of Big O–the best I have ever read! A great synthesis of details to help someone create generic data structures. I appreciate the addition of the GUI-based threading issues. Great approach to Java web technologies." – Sue McFarland Metzger, Villanova University
"I’m sure this [ATM] case study will be of immense value to practitioners and students of the object-oriented approach. Demystifies inheritance and polymorphism, and illustrates their use in getting elegant, simple and maintainable code." – Vinod Varma, Astra Infotech Private Limited
Table of Contents:
Introduction 1 Introduction to Computers, the Internet and the Web
Introduction to Programming and Introduction to Classes and Objects 2 Introduction to Java Applications
3 Introduction to Classes and Objects
Control Statements, Methods and Arrays 4 Control Statements: Part 1
5 Control Statements: Part 2
6 Methods: A Deeper Look
7 Arrays and ArrayLists
Object Oriented Programming 8 Classes and Objects: A Deeper Look
9 Object-Oriented Programming: Inheritance
10 Object-Oriented Programming: Polymorphism
11 Exception Handling
Object Oriented Design with the UML 12 (Optional) ATM Case Study, Part 1: Object-Oriented Design with the UML
13 (Optional) ATM Case Study, Part 2: Implementing an Object-Oriented Design
Graphics, GUI, Applets and Multimedia 14 GUI Components: Part 1
15 Graphics and Java 2D™
23 Applets and Java Web Start
24 Multimedia: Applets and Applications
25 GUI Components: Part 2
Strings and Files 16 Strings, Characters and Regular Expressions
17 Files, Streams and Object Serialization
Data Structures 18 Recursion
19 Searching, Sorting and Big O
20 Generic Collections
21 Generics
22 Data Structures
Multithreading and Networking 26 Multithreading
27 Networking
Database-Driven Desktop and Web Application Development 28 Accessing Databases with JDBC
29 Web Applications: Part 1
30 Web Applications: Part 2
31 JAX-WS Web Services
Appendices A Operator Precedence Chart
B ASCII Character Set
C Keywords and Reserved Words
D Primitive Types
E Number Systems
F GroupLayout
G Java Desktop Integration Components
H Mashups
I Unicode®
J Using the Java API Documentation
K Creating Documentation with javadoc
L Bit Manipulation
M Formatted Output
N UML 2: Additional Diagram Types
O Labeled break and continue Statements
P Design Patterns
Q Using the Debugger