did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780130125071

Java How to Program: How to Program

by ;
  • ISBN13:

    9780130125071

  • ISBN10:

    0130125075

  • Edition: 3rd
  • Format: Paperback
  • Copyright: 1999-08-01
  • Publisher: Prentice Hall
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $74.00 Save up to $18.50
  • Buy Used
    $55.50
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

For CS1 and other courses on programming in Java.Written by the authors of the world's best-selling introductory C and C++ texts, this state-of-the-art guide examines one of today's hottest computer languages Java; the first general-purpose, object-oriented language that is truly platform-independent. The latest Java 2 features are incorporated throughout this edition.

Table of Contents

Preface xxxi
Introduction to Computers, the Internet and the Web
1(34)
Introduction
2(5)
What is a Computer?
7(1)
Computer Organization
7(1)
Evolution of Operating Systems
8(1)
Personal, Distributed Computing, and Client/Server Computing
9(1)
Machine Languages, Assembly Languages, and High-level Languages
10(1)
History of C++
11(1)
History of Java
12(1)
Java Class Libraries
12(2)
Other High-level Languages
14(1)
Structured Programming
14(1)
The Internet and World Wide Web
15(1)
Basics of a Typical Java Environment
15(4)
General Notes About Java and this Book
19(1)
A Tour of the Book
20(15)
Introduction to Java Applications
35(41)
Introduction
36(1)
A Simple Program: Printing a Line of Text
36(10)
Another Java Application: Adding Integers
46(6)
Memory Concepts
52(1)
Arithmetic
53(3)
Decision Making: Equality and Relational Operators
56(20)
Introduction to Java Applets
76(36)
Introduction
77(1)
Thinking About Objects
77(2)
Sample Applets from the Java Software Development Kit
79(6)
The TicTacToe Applet
80(2)
The DrawTest Applet
82(2)
The Java2D Applet
84(1)
A Simple Java Applet: Drawing a String
85(7)
Two More Simple Applets: Drawing Strings and Lines
92(2)
Another Java Applet: Adding Integers
94(7)
Java Applet Internet and World Wide Web Resources
101(11)
Control Structures: Part 1
112(45)
Introduction
113(1)
Algorithms
113(1)
Pseudocode
114(1)
Control Structures
114(3)
The if Selection Structure
117(1)
The if/else Selection Structure
118(5)
The while Repetition Structure
123(1)
Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition
124(5)
Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition)
129(7)
Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures)
136(4)
Assignment Operators
140(1)
Increment and Decrement Operators
141(3)
Primitive Data Types
144(13)
Control Structures: Part 2
157(45)
Introduction
158(1)
Essentials of Counter-Controlled Repetition
158(2)
The for Repetition Structure
160(4)
Examples Using the for Structure
164(5)
The switch Multiple-Selection Structure
169(5)
The do/while Repetition Structure
174(2)
The break and continue Statements
176(2)
The Labeled break and continue Statements
178(2)
Logical Operators
180(6)
Structured Programming Summary
186(16)
Methods
202(66)
Introduction
203(1)
Program Modules in Java
203(1)
Math Class Methods
204(2)
Methods
206(1)
Method Definitions
207(7)
Java API Packages
214(5)
Random Number Generation
219(3)
Example: A Game of Chance
222(9)
Duration of Identifiers
231(1)
Scope Rules
231(3)
Recursion
234(4)
Example Using Recursion: The Fibonacci Series
238(4)
Recursion vs. Iteration
242(1)
Method Overloading
243(3)
Methods of Class Japplet
246(22)
Arrays
268(56)
Introduction
269(1)
Arrays
269(2)
Declaring and Allocating Arrays
271(1)
Examples Using Arrays
272(10)
References and Reference Parameters
282(1)
Passing Arrays to Methods
283(2)
Sorting Arrays
285(3)
Searching Arrays: Linear Search and Binary Search
288(6)
Multiple-Subscripted Arrays
294(30)
Object-Based Programming
324(60)
Introduction
325(1)
Implementing a Time Abstract Data Type with a Class
326(8)
Class Scope
334(1)
Controlling Access to Members
334(2)
Creating Packages
336(4)
Initializing Class Objects: Constructors
340(1)
Using Overloaded Constructors
341(5)
Using Set and Get Methods
346(7)
Software Reusability
353(1)
Final Instance Variables
354(1)
Composition: Objects as Instance Variables of Other Classes
355(3)
Package Access
358(2)
Using the this Reference
360(6)
Finalizers
366(1)
Static Class members
367(4)
Data Abstraction and Information Hiding
371(13)
Example: Queue Abstract Data Type
373(11)
Object-Oriented Programming
384(71)
Introduction
385(2)
Superclasses and Subclasses
387(3)
protected Members
390(1)
Relationship between Superclass Object and Subclass Objects
390(7)
Constructors and Finalizers in Subclasses
397(3)
Implicit Subclass-Object-to-Superclass-Object Conversion
400(1)
Software Engineering with Inheritance
401(1)
Composition vs. Inheritance
402(1)
Case Study: Point, Circle, Cylinder
402(6)
Introduction to Polymorphism
408(1)
Type Fields and switch Statements
409(1)
Dynamic Method Binding
409(1)
final Methods and Classes
409(1)
Abstract Superclasses and Concrete Classes
410(1)
Polymorphism Examples
411(2)
Case Study: A Payroll System Using Polymorphism
413(7)
New Classes and Dynamic Binding
420(1)
Case Study: Inheriting Interface and Implementation
421(6)
Case Study: Creating and Using Interfaces
427(5)
Inner Class Definitions
432(11)
Notes on Inner Class Definitions
443(1)
Type-Wrapper Classes for Primitive Types
443(12)
Strings and Characters
455(58)
Introduction
456(1)
Fundamentals of Characters and Strings
456(1)
String Constructors
457(3)
String Methods length, charAt and getChars
460(2)
Comparing Strings
462(5)
String Method hashCode
467(1)
Locating Characters and Substrings in Strings
468(3)
Extracting Substrings from Strings
471(1)
Concatenating Strings
472(1)
Miscellaneous String Methods
473(2)
Using String Method valueOf
475(2)
String Method intern
477(2)
StringBuffer Class
479(1)
StringBuffer Constructors
480(1)
StringBuffer Methods length, capacity. setLength and ensureCapacity
481(1)
StringBuffer Methods charAt, setCharAt, getChars and reverse
482(2)
StringBuffer append Methods
484(2)
StringBuffer Insertion and Deletion Methods
486(1)
Character Class Examples
487(8)
Class StringTokenizer
495(3)
A Card Shuffling and Dealing Simulation
498(15)
Graphics and Java2D
513(43)
Introduction
514(2)
Graphics Contexts and Graphics Objects
516(1)
Color Control
517(8)
Font Control
525(5)
Drawing lines, Rectangles and Ovals
530(4)
Drawing Arcs
534(2)
Drawing Polygons and Polylines
536(3)
The Java2D API
539(1)
Java2D Shapes
540(16)
Basic Graphical User Interface Components
556(69)
Introduction
557(2)
Swing Overview
559(2)
JLabel
561(3)
Event Handling Model
564(2)
JTextField and JPasswordField
566(6)
How Event Handling Works
571(1)
JButton
572(3)
JCheckBox and JRadioButton
575(6)
JComboBox
581(3)
JList
584(3)
Multiple-Selection Lists
587(2)
Mouse Event Handling
589(4)
Adapter Classes
593(6)
Keyboard Event Handling
599(3)
Layout Managers
602(9)
FlowLayout
603(3)
BorderLayout
606(3)
GridLayout
609(2)
Panels
611(14)
Advanced Graphical User Interfaces
625(73)
Introduction
626(1)
JTextArea
627(3)
Creating a Customized Subclass of JPanel
630(4)
Creating a Self-Contained Subclass of JPanel
634(5)
JSlider
639(4)
Windows
643(1)
Designing Programs that Execute as Applets or Applications
644(6)
Using Menus with Frames
650(8)
Using JPopupMenus
658(3)
Pluggable Look-and-Feel
661(4)
Using JDesktopPane and JInternalFrame
665(4)
Layout Managers
669(1)
BoxLayout Layout Manager
669(4)
CardLayout Layout Manager
673(4)
GridBagLayout Layout Manager
677(7)
GridBagConstraints Constants RELATIVE and REMAINDER
684(14)
Exception Handling
698(35)
Introduction
699(2)
When Exception Handling Should Be Used
701(1)
Other Error Handling Techniques
702(1)
The Basics of Java Exception Handling
702(1)
An Exception Handling Example: Divide by Zero
703(5)
Try Blocks
708(1)
Throwing an Exception
709(1)
Catching an Exception
709(2)
Rethrowing an Exception
711(1)
Throws Clause
712(5)
Constructors, Finalizers and Exception Handling
717(1)
Exceptions and Inheritance
717(1)
finally Block
718(4)
Using printStackTrace and getMessage
722(11)
Multithreading
733(41)
Introduction
734(2)
Class Thread: An Overview of the Thread Methods
736(1)
Thread States: Life Cycle of a Thread
737(1)
Thread Priorities and Thread Scheduling
738(5)
Thread Synchronization
743(1)
Producer/Consumer Relationship without Thread Synchronization
744(4)
Producer/Consumer Relationship with Thread Synchronization
748(5)
Producer/Consumer Relationship: The Circular Buffer
753(6)
Daemon Threads
759(1)
Runnable Interface
759(5)
Thread Groups
764(10)
Multimedia: Images, Animation, Audio and Video
774(43)
Introduction
775(1)
Downloading the Java Media Framework
776(1)
Loading, Displaying and Scaling Images
776(4)
Loading and Playing Audio Clips
780(2)
The Java Media Player
782(7)
Animating a Series of Images
789(5)
Animation Issues
794(2)
Customizing Applets via the HTML param Tag
796(4)
Image Maps
800(3)
Java Plug-In
803(1)
Internet and World Wide Web Resources
804(13)
Files and Streams
817(69)
Introduction
818(1)
Data Hierarchy
818(2)
Files and Streams
820(5)
Creating a Sequential-Access File
825(9)
Reading Data from a Sequential-Access File
834(11)
Updating Sequential-Access Files
845(1)
Random-Access Files
845(1)
Creating a Random-Access File
846(4)
Writing Data Randomly to a Random-Access File
850(4)
Reading Data Sequentially from a Random-Access File
854(3)
Example: A Transaction-Processing Program
857(13)
Class File
870(16)
Java Database Connectivity (JDBC)
886(49)
Introduction
887(1)
Database Systems
888(1)
Advantages of Database Systems
888(1)
Data Independence
888(1)
Database Languages
889(1)
Distributed Database
889(1)
Relational Database Model
889(2)
Relational Database Overview: The Books.mdb Database
891(5)
Structured Query Language
896(9)
Basic SELECT Query
896(1)
WHERE Clause
897(2)
ORDER BY Clause
899(1)
Using INNER JOIN to Merge Data from Multiple Tables
900(2)
TitleAuthor Query from Books.mdb
902(3)
A First Example
905(12)
Registering Books.mdb as an ODBC Data Source
911(2)
Querying the Books.mdb Database
913(4)
Reading, Inserting and Updating a Microsoft Access database
917(12)
Transaction Processing
929(6)
Servlets
935(45)
Introduction
936(2)
Overview of Servlet Technology
938(4)
The Servlet API
938(1)
HttpServlet Class
939(1)
HttpServletRequest Interface
940(1)
HttpServletResponse Interface
941(1)
Downloading the Java Servlet Development Kit
942(1)
Handling HTTP GET Requests
943(5)
Handling HTTP POST Requests
948(6)
Session Tracking
954(14)
Cookies
954(8)
Session Tracking with HttpSession
962(6)
Multitier Applications: Using JDBC from a Servlet
968(6)
Electronic Commerce
974(1)
Servlet Internet and World Wide Web Resources
974(6)
Remote Method Invocation (RMI)
980(22)
Introduction
981(1)
Case Study: Creating a Distributed System with RMI
982(1)
Defining the Remote Interface
982(1)
Implementing the Remote Interface
983(7)
Define the Client
990(5)
Compile and Execute the Server and the Client
995(7)
Networking
1002(49)
Introduction
1003(1)
Manipulating URLs
1004(4)
Reading a File on a Web Server
1008(4)
Establishing a Simple Server (Using Stream Sockets)
1012(2)
Establishing a Simple Client (Using Stream Sockets)
1014(1)
Client/Server Interaction with Stream Socket Connections
1014(10)
Connectionless Client/Server Interaction with Datagrams
1024(7)
Client/Server Tic-Tac-Toe Using a Multithreaded Server
1031(10)
Security and the Network
1041(10)
Data Structures
1051(50)
Introduction
1052(1)
Self-Referential Classes
1053(1)
Dynamic Memory Allocation
1053(1)
Linked Lists
1054(9)
Stacks
1063(4)
Queues
1067(3)
Trees
1070(31)
Java Utilities Package and Bit Manipulation
1101(49)
Introduction
1102(1)
Vector Class and Enumeration Interface
1102(7)
Stack Class
1109(4)
Dictionary Class
1113(1)
Hashtable Class
1114(6)
Properties Class
1120(5)
Random Class
1125(1)
Bit Manipulation and the Bitwise Operators
1126(13)
BitSet Class
1139(11)
Collections
1150(34)
Introduction
1151(1)
Overview
1152(1)
Class Arrays
1152(4)
Interface Collection and Class Collections
1156(1)
Lists
1157(6)
Algorithms
1163(9)
Algorithm sort
1164(2)
Algorithm shuffle
1166(1)
Algorithms reverse, fill, copy, max and min
1167(3)
Algorithm binarySearch
1170(2)
Sets
1172(3)
Maps
1175(1)
Synchronization Wrappers
1176(1)
Unmodifiable Wrappers
1177(1)
Abstract Implementations
1177(7)
JavaBeans
1184(45)
Introduction
1185(1)
BeanBox Overview
1186(11)
Preparing a Class to Be a JavaBean
1197(3)
Creating a JavaBean: Java Archive Files and the jar Utility
1200(3)
Adding Beans to the BeanBox
1203(1)
Connecting Beans with Events in the BeanBox
1204(2)
Adding Properties to a JavaBean
1206(3)
Creating a JavaBean with a Bound Property
1209(7)
Specifying the BeanInfo Class for a JavaBean
1216(5)
JavaBeans World Wide Web Resources
1221(8)
Appendix A Demos 1229(3)
A.1 Introduction
1229(1)
A.2 The Sites
1229(3)
Appendix B Java Resources 1232(8)
B.1 Introduction
1232(1)
B.2 Resources
1232(2)
B.3 Products
1234(1)
B.4 FAQs
1234(1)
B.5 Tutorials
1235(1)
B.6 Magazines
1235(1)
B.7 Java Applets
1236(1)
B.8 Multimedia
1236(1)
B.9 Servlets
1237(1)
B.10 JavaBeans
1238(1)
B.11 Java CORBA
1238(1)
B.12 Newsgroups
1238(2)
Appendix C Operator Precedence Chart 1240(2)
Appendix D ASCH Character Set 1242(1)
Appendix E Number Systems 1243(13)
E.1 Introduction
1243(1)
E.2 Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers
1244(3)
E.3 Converting from Octal Numbers and Hexadecimal Numbers to Binary Numbers
1247(1)
E.4 Converting from Binary, Octal, or Hexadecimal to Decimal
1248(1)
E.5 Converting from Decimal to Binary, Octal, or Hexadecimal
1249(2)
E.6 Negative Binary Numbers: Two's Complement Notation
1251(5)
Appendix F Object-Oriented Elevator Simulator 1256(15)
F.1 Introduction
1257(1)
F.2 Problem Statement
1258(1)
F.3 Elevator Laboratory Assignment 1
1259(1)
F.4 Elevator Laboratory Assignment 2
1260(1)
F.5 Elevator Laboratory Assignment 3
1261(1)
F.6 Elevator Laboratory Assignment 4
1262(1)
F.7 Elevator Laboratory Assignment 5
1263(1)
F.8 Elevator Laboratory Assignment 6
1264(1)
F.9 Elevator Laboratory Assignment 7
1264(1)
F.10 Elevator Laboratory Assignment 8
1265(1)
F.11 Elevator Laboratory Assignment 9
1266(1)
F.12 Elevator Laboratory Assignment 10
1267(1)
F.13 Elevator Laboratory Assignment 11
1267(1)
F.14 Elevator Laboratory Assignment 12
1268(1)
F.15 Design Review Questions
1269(1)
F.16 Recommended Modifications
1269(2)
Appendix G Creating HTML Documentation with javadoc 1271(15)
G.1 Introduction
1272(1)
G.2 Documentation Comments
1273(1)
G.3 Documenting Java Source Code
1273(8)
G.4 javadoc
1281(1)
G.5 Files Produced by javadoc
1281(5)
Appendix H Enterprise JavaBeans (EJB) Web Resources 1286(4)
H.1 Introduction
1286(1)
H.2 Tutorials
1286(1)
H.3 Demos
1287(1)
H.4 Resources
1287(1)
H.5 Developers
1288(1)
H.6 Specifications
1288(1)
H.7 Frequently Asked Questions (FAQs)
1289(1)
H.8 Magazines
1289(1)
Appendix I Jini Web Resources 1290(3)
I.1 Introduction
1290(1)
I.2 Tutorials
1290(1)
I.3 Resources
1291(1)
I.4 Demos
1292(1)
I.5 Specifications
1292(1)
I.6 FAQs
1292(1)
I.7 Magazines
1292(1)
Bibliography 1293(5)
Index 1298

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program