|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Java How to Program, 5/E
Harvey M. DeitelDeitel & Associates, Inc.
Paul J. DeitelDeitel & Associates, Inc.

ISBN-10: 0131016210
ISBN-13:  9780131016217

Publisher:  Prentice Hall
Copyright:  2003
Format:  Paper; 1536 pp
Published:  12/16/2002

Designed for beginning through intermediate Java courses.

The world's best-selling Java text is now even better! The Fifth Edition of Java How to Program includes an updated optional case study on object-oriented design with the UML, new coverage of JDBC, servlets and JSP and the most up-to-date Java coverage available.



This product accompanies:
Deitel & Deitel,  Small Java How to Program, 6/E

  • NEW - Code Highlighting Style—This new style emphasizes key portions of the source-code listings in our text using a yellow background highlight.
  • NEW - The presentation of inheritance and polymorphism has been enhanced.
    • Makes these topics clearer.

  • NEW - All flowcharts have been replaced with UML activity diagrams.
  • NEW - Class hierarchy diagrams have been replaced with UML class diagrams.
  • NEW - Coverage of JDBC, servlets, and JSP is now included.
  • NEW - Red text—Used to point out intentional errors and problematic areas in programs.
  • NEW - CD-ROM with every text—Includes Java™ Software Development Kit Standard Edition Version 1.4.1 for Windows and Linux (Intel x86), SunOne Studio 4, Community Edition for all platforms, Source code for all the book's examples, and Hyperlinks to valuable Java demos and Internet resources.
  • Java How to Program, Fifth Edition is also available packaged with the interactive Multimedia Cyber Classroom in The Complete Java Training Course, Fifth Edition.
    • Provides additional hands-on experience and study aids for a small additional cost.

  • Signature Live-Code™ Approach—With hundreds of complete working programs and thousands of lines of code; hundreds of valuable programming tips; an extensive set of interesting exercises and substantial projects; and more.

  • Code Highlighting Style—This new style emphasizes key portions of the source-code listings in our text using a yellow background highlight.
  • The presentation of inheritance and polymorphism has been enhanced.
    • Makes these topics clearer.

  • All flowcharts have been replaced with UML activity diagrams.
  • Class hierarchy diagrams have been replaced with UML class diagrams.
  • Coverage of JDBC, servlets, and JSP is now included.
  • Red text—Used to point out intentional errors and problematic areas in programs.
  • CD-ROM with every text—Includes Java™ Software Development Kit Standard Edition Version 1.4.1 for Windows and Linux (Intel x86), SunOne Studio 4, Community Edition for all platforms, Source code for all the book's examples, and Hyperlinks to valuable Java demos and Internet resources.

(NOTE: Each chapter begins with an Introduction.)

Preface.


1. Introduction to Computers, the Internet and the Web.

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. Fortran, Cobol, Pascal and Ada. Basic, Visual Basic, Visual C++, C# and .NET. The Internet and the World Wide Web. Basics of a Typical Java Environment. General Notes about Java and This Book. Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language. Discovering Design Patterns: Introduction.



2. Introduction to Java Applications.

A First Program in Java: Printing a Line of Text. Modifying Our First Java Program. Displaying Text in a Dialog Box. Another Java Application: Adding Integers. Memory Concepts. Arithmetic. Decision Making: Equality and Relational Operators. (Optional Case Study) Thinking About Objects: Examining the Problem Statement.



3. Introduction to Java Applets.

Sample Applets from the Java 2 Software Development Kit. Simple Java Applet: Drawing a String. Drawing Strings and Lines. Adding Floating-Point Numbers. Java Applet Internet and World Wide Web Resources. (Optional Case Study) Thinking About Objects: Identifying the Classes in a Problem Statement.



4. Control Statements: Part 1.

Algorithms. Pseudocode. Control Structures. if Selection Structure. if/else Selection Statement. while Repetition Statement. 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). Compound Assignment Operators. Increment and Decrement Operators. Primitive Types. (Optional Case Study) Thinking About Objects: Identifying Class Attributes.



5. Control Statements: Part 2.

Essentials of Counter-Controlled Repetition. for Repetition Structure. Examples Using the for Structure. do/while Repetition Statement. switch Multiple-Selection Statement. break and continue Statements. Labeled break and continue Statements. Logical Operators. Structured Programming Summary. (Optional Case Study) Thinking About Objects: Identifying Objects' States and Activities.



6. Methods.

Program Modules in Java. Math-Class Methods. Methods Declarations. Argument Promotion. Java API Packages. Random-Number Generation. Example: A Game of Chance. Scope of Declarations. Methods of Class Japplet. Method Overloading. Recursion. Example Using Recursion: The Fibonacci Series. Recursion vs. Iteration. (Optional Case Study) Thinking About Objects: Identifying Class Operations.



7. Arrays.

Arrays. Declaring and Creating Arrays. Examples Using Arrays. References and Reference Parameters. Passing Arrays to Methods. Sorting Arrays. Searching Arrays: Linear Search and Binary Search. Multidimensional Arrays. (Optional Case Study) Thinking About Objects: Collaboration Among Objects.



8. Object-Based Programming.

Implementing a Time Abstract Data Type with a Class. Class Scope. Controlling Access to Members. Referring to the Current Object's Members with this. Initializing Class Objects: Constructors. Using Overloaded Constructors. Using Set and Get Methods. Composition. Garbage Collection. Static Class Members. Final Instance Variables. Creating Packages. Package Access. Software Reusability. Data Abstraction and Encapsulation. (Optional Case Study) Thinking About Objects: Starting to Program the Classes for the Elevator Simulation.



9. Object-Oriented Programming: Inheritance.

Superclasses and Subclasses. protected Members. Relationship between Superclass Objects and Subclasses. Case Study: Three-Level Inheritance Hierarchy. Constructors and Finalizers in Subclasses. Software Engineering with Inheritance.



10. Object-Oriented Programming: Polymorphism.

Relationships Among Objects in an Inheritance Hierarchy. Polymorphism Examples. Abstract Classes and Methods. Case Study: Inheriting Interface and Implementation. final Methods and Classes. Case Study: Payroll System Using Polymorphism. Case Study: Creating and Using Interfaces. Nested Classes. Type-Wrapper Classes for Primitive Types. (Optional Case Study) Thinking About Objects: Incorporating Inheritance into the Elevator Simulation. (Optional) Discovering Design Patterns: Introducing Creational, Structural, and Behavioral Design Patterns.



11. Strings and Characters.

Fundamentals of Characters and Strings. Class String. Class StringBuffer. Class Character. Class StringTokenizer. Card Shuffling and Dealing Simulation. Regular Expressions, Class Pattern and Class Matcher. (Optional Case Study) Thinking About Objects: Event Handling.



12. Graphics and Java2D.

Graphics Contexts and Graphics Objects. Color Control. Font Control. Drawing Lines, Rectangles and Ovals. Drawing Arcs. Drawing Polygons and Polylines. The Java2D API. (Optional Case Study) Thinking About Objects: Designing Interfaces with the UML.



13. Graphical User Interface Components: Part 1.

Overview of Swing Components. JLabel. Event-Handling. Textfields. How Event Handling Works. Jbutton. JCheckBox and JRadioButton. JComboBox. JList. Multiple-Selection Lists. Mouse Event Handling. Adapter Classes. Key Event Handling. Layout Managers. Panels. (Optional Case Study) Thinking About Objects: Use Cases.



14. Graphical User Interface Components: Part 2.

JTextArea. Creating a Customized Subclass of Jpanel. Jpanel Subclass that handles Its Own Events. JSlider. Windows: Additional Notes. Using Menus with Frames. JPopupMenu. Pluggable Look-and-Feel. JDesktopPane and JInternalFrame. JtabbedPane. Layout Managers. BoxLayout and GridBagLayout. (Optional Case Study) Thinking About Objects: Model-View-Controller. (Optional) Discovering Design Patterns: Design Patterns Used in Packages java.awt and javax.swing.



15. Exception Handling.

Exception Handling Overview. Exception-Handling Example: Divide by Zero. Java Exception Hierarchy. Rethrowing an Exception. finally Clause. Stack Unwinding. printStackTrace, getStackTrace and getMessage. Chained Exceptions. Declaring New Exception Types. Constructors and Exception Handling.



16. Multithreading.

Thread States: Life Cycle of a Thread. Thread Priorities and Thread Scheduling. Creating and Executing Threads. Thread Synchronization. Producer/Consumer Relationship without Synchronization. Producer/Consumer Relationship with Synchronization. Producer/Consumer Relationship: The Circular Buffer. Daemon Threads. Runnable Interface. (Optional Case Study) Thinking About Objects: Multithreading. (Optional) Discovering Design Patterns: Concurrent Design Patterns.



17. Files and Streams.

Data Hierarchy. Files and Streams. Class File. Creating 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. Case Study: A Transaction-Processing Program. New I/O APIs for the Java Platform.



18. Networking.

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. DeitelMessenger Chat Server and Client. NIO Networking Overview. (Optional) Discovering Design Patterns: Design Patterns Used in Packages java.io and java.net.



19. Multimedia: Images, Animation, and Audio.

Loading, Displaying and Scaling Images. Animating a Series of Images. Image Maps. Loading and Playing Audio Clips. Internet and World Wide Web Resources. (Optional Case Study) Thinking About Objects: Animation and Sound in the View.



20. Data Structures.

Self-Referential Classes. Dynamic Memory Allocation. Linked Lists. Stacks. Queues. Trees.



21. Java Utilities Package and Bit Manipulation.

Vector Class and Enumeration Interface. Stack Class of Package java.util. Hashtable Class. Properties Class. Bit Manipulation and the Bitwise Operators. BitSet Class.



22. Collections.

Collections Overview. Class Arrays. Interface Collection and Class Collections. Lists. Algorithms. Sets. Maps. Synchronization Wrappers. Unmodifiable Wrappers. Abstract Implementations. (Optional) Discovering Design Patterns: Design Patterns Used in Package java.util.



23. Java Database Connectivity with JDBC™.

Relational-Databases. Relational Database Overview: The books Database. Structured Query Language (SQL). Creating Database books in Cloudscape. Manipulating Databases with JDBC. Stored Procedures. Internet and World Wide Web Resources.



24. Servlets.

Servlet Overview and Architecture. Handling HTTP get Requests. Handling HTTP get Requests Containing Data. Handling HTTP post Requests. Redirecting Requests to Other Resources. Multi-Tier Applications: Using JDBC from a Servlet. Internet and World Wide Web Resources.



25. JavaServer Pages (JSP).

JavaServer Pages Overview. First JavaServer Page Example. Implicit Objects. Scripting. Standard Actions. Directives. Case Study: Guest Book. Internet and World Wide Web Resources.



A. Operator Precedence Chart.


B. ASCII Character Set.


C. Number Systems.

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.



D. Elevator Events and Listener Interfaces.

Events. Listeners. Artifacts Revisited.



E. Elevator Model.

Class ElevatorModel. Classes Location and Floor. Class Door and ElevatorDoor. Class Button. Class ElevatorShaft. Classes Light and Bell. Class Elevator. Class Person. Artifacts Revisited. Conclusion.



F. Elevator View.

Class Objects. Class Constants. Class Constructor. Event Handling. Artifacts Revisited. Conclusion.



G. Unicode.

Unicode Transformation Formats. Characters and Glyphs. Advantages/Disadvantages of Unicode. Unicode Consortium's Web Site. Using Unicode. Character Ranges.



Bibliography.


Index.

  • 9780132222204
    Java How to Program, 7/E
    Deitel
    ©2007 | Prentice Hall | Paper; 1500 pp | Instock
    ISBN-10: 0132222205 | ISBN-13: 9780132222204
    Brief Description

  • 9780136053064
    Java How to Program: Early Objects Version, 8/E
    Deitel
    ©2010 | Prentice Hall | Paper; 1560 pp | Instock
    ISBN-10: 0136053068 | ISBN-13: 9780136053064
    Brief Description

  • 9780131486607
    Small Java How to Program, 6/E
    Deitel & Deitel
    ©2005 | Prentice Hall | Paper Bound w/CD-ROM; 624 pp | Instock
    ISBN-10: 0131486608 | ISBN-13: 9780131486607
    Brief Description

The complete, authoritative DEITEL LIVE-CODE introduction to programming with the Java 2 Platform Standard Edition, JDBCT, Servlets and JSP

Java has revolutionized software development with multimedia-intensive, platform-independent, object-oriented code for Internet-, Intranet- and Extranet-based applications. This fifth edition of the world's most widely used Java textbook explains Java's extraordinary capabilities, presents an optional object-oriented design and implementation experience with the Unified Modeling Language (UML) from the Object Management Group and introduces n-tier Webapplications development with JDBC, Servlets and JSP.

Dr. Harvey M. Deitel and Paul J. Deitel are the founders of Deitel & Associates, Inc., the internationally recognized corporate training and content-creation organization specializing in Java, C++, C, C#, Visual Basics®, .NET, Visual C++® .NET, XML, Python, Perl, Internet, Web and object technologies. The Deitels are the authors of several worldwide #1 programming-language textbooks, including Internet & World Wide Web How to Program, 2/e and C++ How to Program, 4/e.

In Java How to Program, Fifth Edition the Deitels introduce the fundamentals of object-oriented programming in Java. Key topics include:

  • Applications/Applets
  • Swing GUI/Event Handling
  • Classes/Objects/Interfaces
  • Encapsulation/Inner Classes
  • OOP/Inheritance/Polymorphism
  • Data Structures/Collections
  • Files/Streams/Serialization/NIO
  • Networking/Client-Server/Internet/Web
  • JDBC/Servlets/JavaServer Pages
  • Graphics/Java 2D/Images/Animation/Audio
  • Exceptions/Multithreading
  • (Optional) OOD/UML/Design Patterns

Java How to Program, Fifth Edition includes extensive pedagogic features:

  • Hundreds of LIVE-CODE programs with screen captures that show exact outputs
  • Extensive Internet and World Wide Web resources to encourage further research
  • Hundreds of tips, recommended practices and cautions—all marked with icons for:
    • Good Programming Practices
    • Software Engineering Observations
    • Performance Tips
    • Portability Tips
    • Look-and-Feel Observations
    • Error-Prevention Tips
    • Common Programming Errors

Java How to Program's teaching resources include Web sites (www.deitel.com, www.prenhall.com/deitel and www.InformIT.com/deitel) with the book's code examples (also on the enclosed CD) and information for faculty, students and professionals; an optional CD (Java 2 Multimedia Cyber Classroom, 5/e) with solutions to about half the exercises in Java How to Program, 5/e, interactivity features—including hyperlinks and audio walkthroughs of the code examples; and access to the authors at
deitel@deitel.com

For information on Deitel instructor-led seminars offered worldwide, and to subscribe to the DEITEL Buzz ONLINE email newsletter, visit:
www.deitel.com

Give your students a choice! PearsonChoices products are designed to give your students more value and flexibility by letting them choose from a variety of text and media formats to best match their learning style and their budget.

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, see the Packages Tab.

  • 9780131836617
    Java How to Program (High School NASTA Edition), 5/E
    Deitel & Deitel
    ©2003 | Prentice Hall | Paper | Instock
    ISBN-10: 0131836617 | ISBN-13: 9780131836617

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.