Java how to program H.M. Deitel, P.J. Deitel
Material type: TextSeries: Deitel & DeitelPublication details: Upper Saddle River, N.J. London Prentice Hall 1999Edition: 3rd edDescription: lx, 1355p 24cmISBN:- 0130125075
- 005.133 DEI
Item type | Current library | Call number | Copy number | Status | Date due | Barcode | |
---|---|---|---|---|---|---|---|
Standard Loan | Moylish Library Main Collection | 005.133 DEI (Browse shelf(Opens below)) | 1 | Missing | 39002000182148 |
Enhanced descriptions from Syndetics:
Java is revolutionizing software development with multimedia-intensive, platform-independent, object-oriented code for conventional, Internet-, Intranet- and Extranet-based applets and application. This Third Edition of the worlds most widely used university-level Java textbook includes on CD two complete Java Integrated Development Environment (IDEs). 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 *Distributed computing: Servlets, RMI, networking *Database (JDBC), data structures, collections, files *Multimedia, animation, audio *Internet, World Wide Web *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 cautions-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 books code ex
Includes bibliographical references and index
Table of contents provided by Syndetics
- Preface (p. xxxi)
- Chapter 1 Introduction to Computers, the Internet and the Web (p. 1)
- 1.1 Introduction (p. 2)
- 1.2 What is a Computer? (p. 7)
- 1.3 Computer Organization (p. 7)
- 1.4 Evolution of Operating Systems (p. 8)
- 1.5 Personal, Distributed Computing, and Client/Server Computing (p. 9)
- 1.6 Machine Languages, Assembly Languages, and High-level Languages (p. 10)
- 1.7 History of C++ (p. 11)
- 1.8 History of Java (p. 12)
- 1.9 Java Class Libraries (p. 12)
- 1.10 Other High-level Languages (p. 14)
- 1.11 Structured Programming (p. 14)
- 1.12 The Internet and World Wide Web (p. 15)
- 1.13 Basics of a Typical Java Environment (p. 15)
- 1.14 General Notes About Java and this Book (p. 19)
- 1.15 A Tour of the Book (p. 20)
- Chapter 2 Introduction to Java Applications (p. 35)
- 2.1 Introduction (p. 36)
- 2.2 A Simple Program: Printing a Line of Text (p. 36)
- 2.3 Another Java Application: Adding Integers (p. 46)
- 2.4 Memory Concepts (p. 52)
- 2.5 Arithmetic (p. 53)
- 2.6 Decision Making: Equality and Relational Operators (p. 56)
- Chapter 3 Introduction to Java Applets (p. 76)
- 3.1 Introduction (p. 77)
- 3.2 Thinking About Objects (p. 77)
- 3.3 Sample Applets from the Java 2 Software Development Kit (p. 79)
- 3.4 A Simple Java Applet: Drawing a String (p. 85)
- 3.5 Two More Simple Applets: Drawing Strings and Lines (p. 92)
- 3.6 Another Java Applet: Adding Integers (p. 94)
- 3.7 Java Applet Internet and World Wide Web Resources (p. 101)
- Chapter 4 Control Structures: Part 1 (p. 112)
- 4.1 Introduction (p. 113)
- 4.2 Algorithms (p. 113)
- 4.3 Pseudocode (p. 114)
- 4.4 Control Structures (p. 114)
- 4.5 The if Selection Structure (p. 117)
- 4.6 The if/else Selection Structure (p. 118)
- 4.7 The while Repetition Structure (p. 123)
- 4.8 Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition (p. 124)
- 4.9 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition) (p. 129)
- 4.10 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures) (p. 136)
- 4.11 Assignment Operators (p. 140)
- 4.12 Increment and Decrement Operators (p. 141)
- 4.13 Primitive Data Types (p. 144)
- Chapter 5 Control Structures: Part 2 (p. 157)
- 5.1 Introduction (p. 158)
- 5.2 Essentials of Counter-Controlled Repetition (p. 158)
- 5.3 The for Repetition Structure (p. 160)
- 5.4 Examples Using the for Structure (p. 164)
- 5.5 The switch Multiple-Selection Structure (p. 169)
- 5.6 The do/while Repetition Structure (p. 174)
- 5.7 The break and continue Statements (p. 176)
- 5.8 The Labeled break and continue Statements (p. 178)
- 5.9 Logical Operators (p. 180)
- 5.10 Structured Programming Summary (p. 186)
- Chapter 6 Methods (p. 202)
- 6.1 Introduction (p. 203)
- 6.2 Program Modules in Java (p. 203)
- 6.3 Math Class Methods (p. 204)
- 6.4 Methods (p. 206)
- 6.5 Method Definitions (p. 207)
- 6.6 Java API Packages (p. 214)
- 6.7 Random Number Generation (p. 219)
- 6.8 Example: A Game of Chance (p. 222)
- 6.9 Duration of Identifiers (p. 231)
- 6.10 Scope Rules (p. 231)
- 6.11 Recursion (p. 234)
- 6.12 Example Using Recursion: The Fibonacci Series (p. 238)
- 6.13 Recursion vs. Iteration (p. 242)
- 6.14 Method Overloading (p. 243)
- 6.15 Methods of Class Japplet (p. 246)
- Chapter 7 Arrays (p. 268)
- 7.1 Introduction (p. 269)
- 7.2 Arrays (p. 269)
- 7.3 Declaring and Allocating Arrays (p. 271)
- 7.4 Examples Using Arrays (p. 272)
- 7.5 References and Reference Parameters (p. 282)
- 7.6 Passing Arrays to Methods (p. 283)
- 7.7 Sorting Arrays (p. 285)
- 7.8 Searching Arrays: Linear Search and Binary Search (p. 288)
- 7.9 Multiple-Subscripted Arrays (p. 294)
- Chapter 8 Object-Based Programming (p. 324)
- 8.1 Introduction (p. 325)
- 8.2 Implementing a Time Abstract Data Type with a Class (p. 326)
- 8.3 Class Scope (p. 334)
- 8.4 Controlling Access to Members (p. 334)
- 8.5 Creating Packages (p. 336)
- 8.6 Initializing Class Objects: Constructors (p. 340)
- 8.7 Using Overloaded Constructors (p. 341)
- 8.8 Using Set and Get Methods (p. 346)
- 8.9 Software Reusability (p. 353)
- 8.10 Final Instance Variables (p. 354)
- 8.11 Composition: Objects as Instance Variables of Other Classes (p. 355)
- 8.12 Package Access (p. 358)
- 8.13 Using the this Reference (p. 360)
- 8.14 Finalizers (p. 366)
- 8.15 Static Class members (p. 367)
- 8.16 Data Abstraction and Information Hiding (p. 371)
- Chapter 9 Object-Oriented Programming (p. 384)
- 9.1 Introduction (p. 385)
- 9.2 Superclasses and Subclasses (p. 387)
- 9.3 Protected Members (p. 390)
- 9.4 Relationship between Superclass Objects and Subclass Objects (p. 390)
- 9.5 Constructors and Finalizers in Subclasses (p. 397)
- 9.6 Implicit Subclass-Object-to-Superclass-Object Conversion (p. 400)
- 9.7 Software Engineering with Inheritance (p. 401)
- 9.8 Composition vs. Inheritance (p. 402)
- 9.9 Case Study: Point, Circle, Cylinder (p. 402)
- 9.10 Introduction to Polymorphism (p. 408)
- 9.11 Type Fields and switch Statements (p. 409)
- 9.12 Dynamic Method Binding (p. 409)
- 9.13 Final Methods and Classes (p. 409)
- 9.14 Abstract Superclasses and Concrete Classes (p. 410)
- 9.15 Polymorphism Examples (p. 411)
- 9.16 Case Study: A Payroll System Using Polymorphism (p. 413)
- 9.17 New Classes and Dynamic Binding (p. 420)
- 9.18 Case Study: Inheriting Interface and Implementation (p. 421)
- 9.19 Case Study: Creating and Using Interfaces (p. 427)
- 9.20 Inner Class Definitions (p. 432)
- 9.21 Notes on Inner Class Definitions (p. 443)
- 9.22 Type-Wrapper Classes for Primitive Types (p. 443)
- Chapter 10 Strings and Characters (p. 455)
- 10.1 Introduction (p. 456)
- 10.2 Fundamentals of Characters and Strings (p. 456)
- 10.3 String Constructors (p. 457)
- 10.4 String Methods length, charAt and getChars (p. 460)
- 10.5 Comparing Strings (p. 462)
- 10.6 String Method hashCode (p. 467)
- 10.7 Locating Characters and Substrings in Strings (p. 468)
- 10.8 Extracting Substrings from Strings (p. 471)
- 10.9 Concatenating Strings (p. 472)
- 10.10 Miscellaneous String Methods (p. 473)
- 10.11 Using String Method valueof (p. 475)
- 10.12 String Method intern (p. 477)
- 10.13 StringBuffer Class (p. 479)
- 10.14 StringBuffer Constructors (p. 480)
- 10.15 StringBuffer Methods length, capacity. setLength and ensureCapacity (p. 481)
- 10.16 StringBuffer Methods charAt, setCharAt, getChars and reverse (p. 482)
- 10.17 StringBuffer append Methods (p. 484)
- 10.18 StringBuffer Insertion and Deletion Methods (p. 486)
- 10.19 Character Class Examples (p. 487)
- 10.20 Class StringTokenizer (p. 495)
- 10.21 A Card Shuffling and Dealing Simulation (p. 498)
- Chapter 11 Graphics and Java2D (p. 513)
- 11.1 Introduction (p. 514)
- 11.2 Graphics Contexts and Graphics Objects (p. 516)
- 11.3 Color Control (p. 517)
- 11.4 Font Control (p. 525)
- 11.5 Drawing lines, Rectangles and Ovals (p. 530)
- 11.6 Drawing Arcs (p. 534)
- 11.7 Drawing Polygons and Polylines (p. 536)
- 11.8 The Java2D API (p. 539)
- 11.9 Java2D Shapes (p. 540)
- Chapter 12 Basic Graphical User Interface Components (p. 556)
- 12.1 Introduction (p. 557)
- 12.2 Swing Overview (p. 559)
- 12.3 JLabel (p. 561)
- 12.4 Event Handling Model (p. 564)
- 12.5 JTextField and JPasswordField (p. 566)
- 12.6 JButton (p. 572)
- 12.7 JCheckBox and JRadioButton (p. 575)
- 12.8 JComboBox (p. 581)
- 12.9 JList (p. 584)
- 12.10 Multiple-Selection Lists (p. 587)
- 12.11 Mouse Event Handling (p. 589)
- 12.12 Adapter Classes (p. 593)
- 12.13 Keyboard Event Handling (p. 599)
- 12.14 Layout Managers (p. 602)
- 12.15 Panels (p. 611)
- Chapter 13 Advanced Graphical User Interfaces (p. 625)
- 13.1 Introduction (p. 626)
- 13.2 JTextArea (p. 627)
- 13.3 Creating a Customized Subclass of JPanel (p. 630)
- 13.4 Creating a Self-Contained Subclass of JPanel (p. 634)
- 13.5 JSlider (p. 639)
- 13.6 Windows (p. 643)
- 13.7 Designing Programs that Execute as Applets or Applications (p. 644)
- 13.8 Using Menus with Frames (p. 650)
- 13.9 Using JPopupMenus (p. 658)
- 13.10 Pluggable Look-and-Feel (p. 661)
- 13.11 Using JDesktopPane and JInternalFrame (p. 665)
- 13.12 Layout Managers (p. 669)
- 13.13 BoxLayout Layout Manager (p. 669)
- 13.14 CardLayout Layout Manager (p. 673)
- 13.15 GridBagLayout Layout Manager (p. 677)
- 13.16 GridBagConstraints Constants Relative and Remainder (p. 684)
- Chapter 14 Exception Handling (p. 698)
- 14.1 Introduction (p. 699)
- 14.2 When Exception Handling Should Be Used (p. 701)
- 14.3 Other Error Handling Techniques (p. 702)
- 14.4 The Basics of Java Exception Handling (p. 702)
- 14.5 An Exception Handling Example: Divide by Zero (p. 703)
- 14.6 Try Blocks (p. 708)
- 14.7 Throwing an Exception (p. 709)
- 14.8 Catching an Exception (p. 709)
- 14.9 Rethrowing an Exception (p. 711)
- 14.10 Throws Clause (p. 712)
- 14.11 Constructors, Finalizers and Exception Handling (p. 717)
- 14.12 Exceptions and Inheritance (p. 717)
- 14.13 Finally Block (p. 718)
- 14.14 Using printStackTrace and getMessage (p. 722)
- Chapter 15 Multithreading (p. 733)
- 5.1 Introduction (p. 734)
- 15.2 Class Thread: An Overview of the Thread Methods (p. 736)
- 15.3 Thread States: Life Cycle of a Thread (p. 737)
- 15.4 Thread Priorities and Thread Scheduling (p. 738)
- 15.5 Thread Synchronization (p. 743)
- 15.6 Producer/Consumer Relationship without Thread Synchronization (p. 744)
- 15.7 Producer/Consumer Relationship with Thread Synchronization (p. 748)
- 15.8 Producer/Consumer Relationship: The Circular Buffer (p. 753)
- 15.9 Daemon Threads (p. 759)
- 15.10 Runnable Interface (p. 759)
- 15.11 Thread Groups (p. 764)
- Chapter 16 Multimedia: Images, Animation, Audio and Video (p. 774)
- 16.1 Introduction (p. 775)
- 16.2 Downloading the Java Media Framework (p. 776)
- 16.3 Loading, Displaying and Scaling Images (p. 776)
- 16.4 Loading and Playing Audio Clips (p. 780)
- 16.5 The Java Media Player (p. 782)
- 16.6 Animating a Series of Images (p. 789)
- 16.7 Animation Issues (p. 794)
- 16.8 Customizing Applets via the HTML param Tag (p. 796)
- 16.9 Image Maps (p. 800)
- 16.10 Java Plug-In (p. 803)
- 16.11 Internet and World Wide Web Resources (p. 804)
- Chapter 17 Files and Streams (p. 817)
- 17.1 Introduction (p. 818)
- 17.2 Data Hierarchy (p. 818)
- 17.3 Files and Streams (p. 820)
- 17.4 Creating a Sequential-Access File (p. 825)
- 17.5 Reading Data from a Sequential-Access File (p. 834)
- 17.6 Updating Sequential-Access Files (p. 845)
- 17.7 Random-Access Files (p. 845)
- 17.8 Creating a Random-Access File (p. 846)
- 17.9 Writing Data Randomly to a Random-Access File (p. 850)
- 17.10 Reading Data Sequentially from a Random-Access File (p. 854)
- 17.11 Example: A Transaction-Processing Program (p. 857)
- 17.12 Class File (p. 870)
- Chapter 18 Java Database Connectivity (JDBC) (p. 886)
- 18.1 Introduction (p. 887)
- 18.2 Database Systems (p. 888)
- 18.3 Relational Database Model (p. 889)
- 18.4 Relational Database Overview: The Books .mdb Database (p. 891)
- 18.5 Structured Query Language (p. 896)
- 18.6 A First Example (p. 905)
- 18.7 Reading, Inserting and Updating a Microsoft Access database (p. 917)
- 18.8 Transaction Processing (p. 929)
- Chapter 19 Servlets (p. 935)
- 19.1 Introduction (p. 936)
- 19.2 Overview of Servlet Technology (p. 938)
- 19.3 Downloading the Java Servlet Development Kit (p. 942)
- 19.4 Handling Http Get Requests (p. 943)
- 19.5 Handling Http Post Requests (p. 948)
- 19.6 Session Tracking (p. 954)
- 19.7 Multitier Applications: Using JDBC from a Servlet (p. 968)
- 19.8 Electronic Commerce (p. 974)
- 19.9 Servlet Internet and World Wide Web Resources (p. 974)
- Chapter 20 Remote Method Invocation (RMI) (p. 980)
- 20.1 Introduction (p. 981)
- 20.2 Case Study: Creating a Distributed System with RMI (p. 982)
- 20.3 Defining the Remote Interface (p. 982)
- 20.4 Implementing the Remote Interface (p. 983)
- 20.5 Define the Client (p. 990)
- 20.6 Compile and Execute the Server and the Client (p. 995)
- Chapter 21 Networking (p. 1002)
- 21.1 Introduction (p. 1003)
- 21.2 Manipulating URLs (p. 1004)
- 21.3 Reading a File on a Web Server (p. 1008)
- 21.4 Establishing a Simple Server (Using Stream Sockets) (p. 1012)
- 21.5 Establishing a Simple Client (Using Stream Sockets) (p. 1014)
- 21.6 Client/Server Interaction with Stream Socket Connections (p. 1014)
- 21.7 Connectionless Client/Server Interaction with Datagrams (p. 1024)
- 21.8 Client/Server Tic-Tac-Toe Using a Multithreaded Server (p. 1031)
- 21.9 Security and the Network (p. 1041)
- Chapter 22 Data Structures (p. 1051)
- 22.1 Introduction (p. 1052)
- 22.2 Self-Referential Classes (p. 1053)
- 22.3 Dynamic Memory Allocation (p. 1053)
- 22.4 Linked Lists (p. 1054)
- 22.5 Stacks (p. 1063)
- 22.6 Queues (p. 1067)
- 22.7 Trees (p. 1070)
- Chapter 23 Java Utilities Package and Bit Manipulation (p. 1101)
- 23.1 Introduction (p. 1102)
- 23.2 Vector Class and Enumeration Interface (p. 1102)
- 23.3 Stack Class (p. 1109)
- 23.4 Dictionary Class (p. 1113)
- 23.5 Hashtable Class (p. 1114)
- 23.6 Properties Class (p. 1120)
- 23.7 Random Class (p. 1125)
- 23.8 Bit Manipulation and the Bitwise Operators (p. 1126)
- 23.9 BitSet Class (p. 1139)
- Chapter 24 Collections (p. 1150)
- 24.1 Introduction (p. 1151)
- 24.2 Overview (p. 1152)
- 24.3 Class Arrays (p. 1152)
- 24.4 Interface Collection and Class Collections (p. 1156)
- 24.5 Lists (p. 1157)
- 24.6 Algorithms (p. 1163)
- 24.7 Sets (p. 1172)
- 24.8 Maps (p. 1175)
- 24.9 Synchronization Wrappers (p. 1176)
- 24.10 Unmodifiable Wrappers (p. 1177)
- 24.11 Abstract Implementations (p. 1177)
- Chapter 25 JavaBeans (p. 1184)
- 25.1 Introduction (p. 1185)
- 25.2 BeanBox Overview (p. 1186)
- 25.3 Preparing a Class to Be a JavaBean (p. 1197)
- 25.3 Creating a JavaBean: Java Archive Files and the jar Utility (p. 1200)
- 25.5 Adding Beans to the BeanBox (p. 1203)
- 25.6 Connecting Beans with Events in the BeanBox (p. 1204)
- 25.7 Adding Properties to a JavaBean (p. 1206)
- 25.8 Creating a JavaBean with a Bound Property (p. 1209)
- 25.9 Specifying the BeanInfo Class for a JavaBean (p. 1216)
- 25.10 JavaBeans World Wide Web Resources (p. 1221)
- Appendix A Demos (p. 1229)
- Appendix B Java Resources (p. 1232)
- Appendix C Operator Precedence Chart (p. 1240)
- Appendix D ASCII Character Set (p. 1242)
- Appendix E Number Systems (p. 1243)
- E.1 Introduction (p. 1243)
- E.2 Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers (p. 1244)
- E.3 Converting from Octal Numbers and Hexadecimal Numbers to Binary Numbers (p. 1247)
- E.4 Converting from Binary, Octal, or Hexadecimal to Decimal (p. 1248)
- E.5 Converting from Decimal to Binary, Octal, or Hexadecimal (p. 1249)
- E.6 Negative Binary Numbers: Two's Complement Notation (p. 1251)
- Appendix F Object-Oriented Elevator Simulator (p. 1256)
- Appendix G Creating HTML Documentation with javadoc (p. 1271)
- Appendix H Enterprise JavaBeans (EJB) Web Resources (p. 1286)
- Appendix I Jini Web Resources (p. 1290)
- Bibliography (p. 1293)
- Index (p. 1298)
Author notes provided by Syndetics
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, Visual Basic 6 How to Program and Internet and World Wide Web How to Program.