![[Book Cover]](../covergif/0130125075.jpg)
|
Java How to Program, 3/e
H. M. Deitel
P. J. Deitel, both of Deitel and Associates, Inc.
Published August, 1999 by Prentice Hall Engineering/Science/Mathematics
Copyright 2000, 1355 pp.
Paper Bound w/CD-ROM
ISBN 0-13-012507-5
$61.00
|
Sign up for future mailings on this subject.
See other books about:
JAVA
![[Preface]](../images/cat_preface.gif)
|
The complete, authoritative introduction to Java
Java is revolutionizing software development with multimedia-intensive, platform-independent, object-oriented code for conventional, Internet-, Intranet- and Extranet-based applets and applications. This Third Edition of the world's most widely used university-level Java textbook carefully explains Java's extraordinary capabilities.
In Java How to Program: Third Edition, the Deitels introduce the fundamentals of object-oriented programming and client/server development in Java.
Key topics include:
- Swing GUI, JavaBeans, event handling, graphics
- Multimedia, animation, audio
- Distributed computing: Servlets, RMI, networking
- Internet, World Wide Web
- Database (JDBC), data structures, collections, files
- Multithreading, exceptions
Java How to Program: Third Edition includes:
- Hundreds of "live-code" programs with screen captures that show exact outputs
- Extensive exercises (many with answers) accompanying every chapter
- Hundreds of tips, recommended practices and caution-all marked with icons
Java How to Program is the centerpiece of a family of resources for teaching and learning Java, including a Web site http://www.prenhall.com/deitel with the book's code examples and other information for faculty, students and professional programmers; an optional interactive CD-ROM (Java Multimedia Cyber Classroom) containing extensive interactivity features-such as thousands of hyperlinks and audio walkthroughs of the code examples in Java How to Program-and e-mail access to the authors at:deitel@deitel.com
For information on corporate on-site seminars and public seminars offered by Deitel & Associates, Inc. worldwide, visit: http://www.deitel.com
For information on the latest Java software, documentation and demos visit: http://java.sun.com
Authors HARVEY and PAUL DEITEL are the principals of Deitel & Associates, Inc., the internationally-recognized training and consulting organization specializing in Java, C++, C, Visual Basic®, object technology, and Internet and World Wide Web programming training. They are also the authors of many best-selling textbooks including C++ How to Program, C How to Program and Visual Basic 6 How to Program.
1. Introduction to Computers, the Internet and the Web
Introduction. What Is a Computer? Computer Organization.
Evolution of Operating Systems. Personal, Distributed and Client/Server
Computing. Machine Languages, Assembly Languages and High-Level Languages.
History of C++. History of Java. Java Class Libraries. Other High-level
Languages. Structured Programming. The Internet and the World Wide
Web. Basics of a Typical Java Environment. General Notes about Java
and this Book. A Tour of the Book.
2. Introduction to Java Applications.
Introduction. A Simple Program: Printing a Line of Text.
Another Java Application: Adding Integers. Memory Concepts. Arithmetic.
Decision Making: Equality and Relational Operators.
3. Introduction to Java Applets.
Introduction. Thinking About Objects. Sample Applets from
the Java 2 Software Development Kit. A Simple Java Applet: Drawing
a String. Two More Simple Applets: Drawing Strings and Lines. Another
Java Applet: Adding Integers. Java Applet Internet and World Wide
Web Resources.
4. Control Structures: Part 1.
Introduction. Algorithms. Pseudocode. Control Structures.
The if Selection Structure. The if/else Selection Structure.
The while Repetition Structure. Formulating Algorithms: Case
Study 1 (Counter-Controlled Repetition). Formulating Algorithms with
Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition).
Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study
3 (Nested Control Structures). Assignment Operators. Increment and
Decrement Operators. Primitive Data Types.
5. Control Structures: Part 2.
Introduction. Essentials of Counter-Controlled Repetition.
The for Repetition Structure. Examples Using the for Structure.
The switch Multiple-Selection Structure. The do/while
Repetition Structure. The break and continue Statements.
The Labeled break and continue Statements. Logical Operators.
Structured Programming Summary.
6. Methods.
Introduction. Program Modules in Java. Math Class
Methods. Methods. Method Definitions. Java API Packages. Random Number
Generation. Example: A Game of Chance. Duration of Identifiers. Scope
Rules. Recursion. Example Using Recursion: The Fibonacci Series. Recursion
vs. Iteration. Method Overloading. Methods of Class JApplet.
7. Arrays.
Introduction. Arrays. Declaring and Allocating Arrays. Examples
Using Arrays. References and Reference Parameters. Passing Arrays
to Methods. Sorting Arrays. Searching Arrays: Linear Search and Binary
Search. Multiple-Subscripted Arrays.
8. Object-Based Programming.
Introduction. Implementing a Time Abstract Data Type with
a Class. Class Scope. Controlling Access to Members. Creating Packages.
Initializing Class Objects: Constructors. Using Overloaded Constructors.
Using Set and Get Methods. Software Reusability. Final
Instance Variables. Composition: Objects as Instance Variables of
Other Classes. Package Access. Using the this Reference. Finalizers.
Static Class Members. Data Abstraction and Information Hiding.
9. Object-Oriented Programming.
Introduction. Superclasses and Subclasses. protected
Members. Relationship between Superclass Objects and Subclass Objects.
Constructors and Finalizers in Subclasses. Implicit Subclass-Object-to-Superclass-Object
Conversion. Software Engineering with Inheritance. Composition vs.
Inheritance. Case Study: Point, Circle, Cylinder. Introduction to
Polymorphism. Type Fields and switch Statements. Dynamic Method
Binding. final Methods and Classes. Abstract Superclasses and
Concrete Classes. Polymorphism Examples. Case Study: A Payroll System
Using Polymorphism. New Classes and Dynamic Binding. Case Study: Inheriting
Interface and Implementation. Case Study: Creating and Using Interfaces.
Inner Class Definitions. Notes on Inner Class Definitions. Type-Wrapper
Classes for Primitive Types.
10. Strings and Characters.
Introduction. Fundamentals of Characters and Strings. String
Constructors. String Methods length, charAt and getChars.
Comparing Strings. String Method hashCode. Locating
Characters and Substrings in Strings. Extracting Substrings
from Strings. Concatenating Strings. Miscellaneous String
Methods. Using String Method valueOf. String Method
intern. StringBuffer Class. StringBuffer Constructors.
StringBuffer Methods length, capacity. setLength
and ensureCapacity. StringBuffer Methods charAt,
setCharAt, getChars and reverse. StringBuffer
append Methods. StringBuffer Insertion and Deletion Methods.
Character Class Examples. Class StringTokenizer. A Card Shuffling
and Dealing Simulation.
11. Graphics and Java2D.
Introduction. Graphics Contexts and Graphics Objects. Color
Control. Font Control. Drawing Lines, Rectangles and Ovals. Drawing
Arcs. Drawing Polygons and Polylines. The Java2D API. Java2D Shapes.
12. Basic Graphical User Interface Components.
Introduction. Swing Overview. Jlabel. Event Handling
Model. JtextField and JpasswordField. Jbutton. JcheckBox
and JradioButton. JcomboBox. Jlist. Multiple-Selection
Lists. Mouse Event Handling. Adapter Classes. Keyboard Event Handling.
Layout Managers. Panels.
13. Advanced Graphical User Interface Components.
Introduction. JtextArea. Creating a Customized Subclass
of Jpanel. Creating a Self-Contained Subclass of Jpanel.
Jslider. Windows. Designing Programs that Execute as Applets
or Applications. Using Menus with Frames. Using JpopupMenus.
Pluggable Look-and-Feel. Using JdesktopPane and JinternalFrame.
Layout Managers. BoxLayout Layout Manager. CardLayout
Layout Manager. GridBagLayout Layout Manager. GridBagConstraints
Constants RELATIVE and REMAINDER.
14. Exception Handling.
Introduction. When Exception Handling Should Be Used. Other
Error Handling Techniques. The Basics of Java Exception Handling.
An Exception Handling Example: Divide by Zero. Try Blocks. Throwing
an Exception. Catching an Exception. Rethrowing an Exception. Throws
Clause. Constructors, Finalizers and Exception Handling. Exceptions
and Inheritance. finally Block. Using printStackTrace
and getMessage.
15. Multithreading.
Introduction. Class Thread: An Overview of the Thread
Methods. Thread States: Life Cycle of a Thread. Thread Priorities
and Thread Scheduling. Thread Synchronization. Producer/Consumer Relationship
without Thread Synchronization. Producer/Consumer Relationship with
Thread Synchronization. Producer/Consumer Relationship: The Circular
Buffer. Daemon Threads. Runnable Interface. Thread Groups.
16. Multimedia: Images, Animation, Audio and Video.
Introduction. Downloading the Java Media Framework. Loading,
Displaying and Scaling Images. Loading and Playing Audio Clips. The
Java Media Player. Animating a Series of Images. Animation Issues.
Customizing Applets via the HTML param Tag. Image Maps. Java
Plug-In. Internet and World Wide Web Resources.
17. Files and Streams.
Introduction. Data Hierarchy. Files and Streams. Creating
a Sequential-Access File. Reading Data from a Sequential-Access File.
Updating Sequential-Access Files. Random-Access Files. Creating a
Random-Access File. Writing Data Randomly to a Random-Access File.
Reading Data Sequentially from a Random-Access File. Example: A Transaction-Processing
Program. Class File.
18. Java Database Connectivity (JDBC).
Introduction. Database Systems. Relational Database Model.
Relational Database Overview: The Books.mdb Database. Structured
Query Language. A First Example. Reading, Inserting, and Updating
a Microsoft Access database. Transaction Processing.
19. Servlets.
Introduction. Overview of Servlet Technology. Downloading
the Java Servlet Development Kit. Handling HTTP GET Requests. Handling
HTTP POST Requests. Session Tracking. Multitier Applications: Using
JDBC from a Servlet. Electronic Commerce. Servlet Internet and World
Wide Web Resources.
20. Remote Method Invocation (RMI).
Introduction. Case Study: Creating a Distributed System
with RMI. Defining the Remote Interface. Implementing the Remote Interface.
Define the Client. Compile and Execute the Server and the Client.
21. Networking.
Introduction. Manipulating URLs. Reading a File on a Web
Server. Establishing a Simple Server (Using Stream Sockets). Establishing
a Simple Client (Using Stream Sockets). Client/Server Interaction
with Stream Socket Connections. Connectionless Client/Server Interaction
with Datagrams. Client/Server Tic-Tac-Toe Using a Multithreaded Server.
Security and the Network.
22. Data Structures.
Introduction. Self-Referential Classes. Dynamic Memory Allocation.
Linked Lists. Stacks. Queues. Trees.
23. Java Utilities Package and Bit Manipulation.
Introduction. Vector Class and Enumeratio Interface.
Stack Class. Dictionary Class. Hashtable Class.
Properties Class. Random Class. Bit Manipulation and the
Bitwise Operators. BitSet Class.
24. Collections.
Introduction. Overview. Class Arrays. Interface Collection
and Class Collections. Lists. Algorithms. Sets. Maps. Synchronization
Wrappers. Unmodifiable Wrappers. Abstract Implementations.
25. JavaBeans.
Introduction. BeanBox Overview. Preparing a Class
to Be a JavaBean. Creating a JavaBean: Java Archive Files and the
jar Utility. Adding Beans to the BeanBox. Connecting Beans with
Events in the BeanBox. Adding Properties to a JavaBean. Creating a
JavaBean with a Bound Property. Specifying the BeanInfo Class
for a JavaBean. JavaBeans World Wide Web Resources.
Appendix A: Demos.
Appendix B: Java Resources.
Introduction. Resources. Products. FAQs. Tutorials. Magazines.
Java Applets. Multimedia. Servlets. JavaBeans. Java CORBA. Newsgroups.
Appendix C: Operator Precedence Chart.
Appendix D: ASCII Character Set.
Appendix E: Number Systems.
Introduction. Abbreviating Binary Numbers as Octal Numbers
and Hexadecimal Numbers. Converting Octal Numbers and Hexadecimal
Numbers to Binary Numbers. Converting from Binary, Octal, or Hexadecimal
to Decimal. Converting from Decimal to Binary, Octal, or Hexadecimal.
Negative Binary Numbers: Two's Complement Notation.
Appendix F: Object-Oriented Elevator Simulator.
Introduction. Problem Statement. Elevator Laboratory Assignment
1. Elevator Laboratory Assignment 2. Elevator Laboratory Assignment
3. Elevator Laboratory Assignment 4. Elevator Laboratory Assignment
5. Elevator Laboratory Assignment 6. Elevator Laboratory Assignment
7. Elevator Laboratory Assignment 8. Elevator Laboratory Assignment
9. Elevator Laboratory Assignment 10. Elevator Laboratory Assignment
11. Elevator Laboratory Assignment 12. Design Review Questions. Recommended
Modifications.
Appendix G: Creating HTML Documentation with javadoc.
Introduction. Documentation Comments. Documenting Java Source
Code. javadoc. Files Produced by javadoc.
Appendix H: Enterprise JavaBeans (EJB) Web Resources.
Introduction. Tutorials. Demos. Resources. Developers. Specifications.
Frequently Asked Questions (FAQs). Magazines.
Appendix I: Jini Web Resources.
Introduction. Tutorials. Resources. Demos. Specifications.
FAQs. Magazines.
Bibliography.
Index.
|