### Staff View

LEADER 16541cam a2200529 a 4500

005  20220608210827.0 

006  m m 

007  co| |g||||||||| 

008  030103s2003 njua b 001 0 eng d 

001  9934133133503681 

015 

a| GBA3-22277 

020 

a| 0131016210 

020 

a| 0131016237 q| CD-ROM 

020 

a| 0131202367 

035 

a| (OCoLC)ocm51302879 

035 

a| (OCoLC)51302879 

035 

a| (PUVoyagerBIBID)3413313 

035 

a| 3413313 

035 

a| (PU)3413313-penndb-Voyager 

040 

a| TEF b| eng c| TEF d| UKM 

049 

a| PAUU 

050 

4 

a| QA76.73.J38 b| D45 2003 

100 

1 

a| Deitel, Harvey M., d| 1945- 0| http://id.loc.gov/authorities/names/n80040423 

245 

1 

0 

a| Java : b| how to program / c| H.M. Deitel, P.J. Deitel. 

250 

a| Fifth edition. 

264 

1 

a| Upper Saddle River, N.J. : b| Prentice Hall, c| 2003\. 

300 

a| li, 1447 pages : b| color illustrations ; c| 23 cm + e| 1 CD-ROM (4 3/4 in.) 

336 

a| text b| txt 2| rdacontent 

337 

a| computer b| c 2| rdamedia 

338 

a| computer disc b| cd 2| rdacarrier 

347 

a| text file 2| rdaft 0| http://rdaregistry.info/termList/fileType/1002 

490 

1 

a| How to program series 

504 

a| Includes bibliographical references (pages [1414]-1417) and index. 

505 

0 

0 

g| 1 t| Introduction to Computers, the Internet and the Web g| 1 -- g| 1.3 t| Computer Organization g| 5 -- g| 1.4 t| Evolution of Operating Systems g| 6 -- g| 1.5 t| Personal, Distributed and Client/Server Computing g| 6 -- g| 1.6 t| Machine Languages, Assembly Languages and High-Level Languages g| 7 -- g| 1.7 t| History of C++ g| 8 -- g| 1.8 t| History of Java g| 9 -- g| 1.9 t| Java Class Libraries g| 9 -- g| 1.10 t| FORTRAN, COBOL, Pascal and Ada g| 11 -- g| 1.11 t| BASIC, Visual Basic, Visual C++, C# and .NET g| 11 -- g| 1.12 t| The Internet and the World Wide Web g| 12 -- g| 1.13 t| Basics of a Typical Java Environment g| 13 -- g| 1.14 t| General Notes about Java and This Book g| 16 -- g| 1.15 t| Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language g| 18 -- g| 1.16 t| Discovering Design Patterns: Introduction g| 22 -- g| 2 t| Introduction to Java Applications g| 32 -- g| 2.2 t| A First Program in Java: Printing a Line of Text g| 33 -- g| 2.3 t| Modifying Our First Java Program g| 40 -- g| 2.4 t| Displaying Text in a Dialog Box g| 42 -- g| 2.5 t| Another Java Application: Adding Integers g| 47 -- g| 2.6 t| Memory Concepts g| 53 -- g| 2.7 t| Arithmetic g| 54 -- g| 2.8 t| Decision Making: Equality and Relational Operators g| 58 -- g| 2.9 t| (Optional Case Study) Thinking About Objects: Examining the Problem Statement g| 64 -- g| 3 t| Introduction to Java Applets g| 82 -- g| 3.2 t| Sample Applets from the Java 2 Software Development Kit g| 83 -- g| 3.3 t| Simple Java Applet: Drawing a String g| 89 -- g| 3.4 t| Drawing Strings and Lines g| 98 -- g| 3.5 t| Adding Floating-Point Numbers g| 100 -- g| 3.6 t| Java Applet Internet and World Wide Web Resources g| 107 -- g| 3.7 t| (Optional Case Study) Thinking About Objects: Identifying the Classes in a Problem Statement g| 108 -- g| 4 t| Control Statements g| 119 -- g| 4.2 t| Algorithms g| 120 -- g| 4.3 t| Pseudocode g| 121 -- g| 4.4 t| Control Structures g| 121 -- g| 4.5 t| If Single-Selection Statement g| 124 -- g| 4.6 t| If...else Selection Statement g| 126 -- g| 4.7 t| While Repetition Statement g| 130 -- g| 4.8 t| Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition) g| 132 -- g| 4.9 t| Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition) g| 136 -- g| 4.10 t| Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures) g| 144 -- g| 4.11 t| Compound Assignment Operators g| 149 -- g| 4.12 t| Increment and Decrement Operators g| 149 -- g| 4.13 t| Primitive Types g| 152 -- g| 4.14 t| (Optional Case Study) Thinking About Objects: Identifying Class Attributes g| 154 -- g| 5.2 t| Essentials of Counter-Controlled Repetition g| 169 -- g| 5.3 t| For Repetition Statement g| 171 -- g| 5.4 t| Examples Using the for Statement g| 176 -- g| 5.5 t| Do...while Repetition Statement g| 181 -- g| 5.6 t| Switch Multiple-Selection Statement g| 183 -- g| 5.7 t| Break and continue Statements g| 188 -- g| 5.8 t| Labeled break and continue Statements g| 190 -- g| 5.9 t| Logical Operators g| 193 -- g| 5.10 t| Structured Programming Summary g| 199 -- g| 5.11 t| (Optional Case Study) Thinking About Objects: Identifying Objects' States and Activities g| 204 -- g| 6 t| Methods g| 216 -- g| 6.2 t| Program Modules in Java g| 217 -- g| 6.3 t| Math-Class Methods g| 219 -- g| 6.4 t| Method Declarations g| 221 -- g| 6.5 t| Argument Promotion g| 227 -- g| 6.6 t| Java API Packages g| 228 -- g| 6.7 t| Random-Number Generation g| 230 -- g| 6.8 t| Example: A Game of Chance g| 234 -- g| 6.9 t| Scope of Declarations g| 242 -- g| 6.10 t| Methods of Class JApplet g| 246 -- g| 6.11 t| Method Overloading g| 247 -- g| 6.12 t| Recursion g| 250 -- g| 6.13 t| Example Using Recursion: The Fibonacci Series g| 253 -- g| 6.14 t| Recursion vs. Iteration g| 258 -- g| 6.15 t| (Optional Case Study) Thinking About Objects: Identifying Class Operations g| 260 -- g| 7 t| Arrays g| 279 -- g| 7.3 t| Declaring and Creating Arrays g| 282 -- g| 7.4 t| Examples Using Arrays g| 283 -- g| 7.5 t| References and Reference Parameters g| 293 -- g| 7.6 t| Passing Arrays to Methods g| 294 -- g| 7.7 t| Sorting Arrays g| 296 -- g| 7.8 t| Searching Arrays: Linear Search and Binary Search g| 299 -- g| 7.9 t| Multidimensional Arrays g| 306 -- g| 7.10 t| (Optional Case Study) Thinking About Objects: Collaboration Among Objects g| 314 -- g| 8 t| Object-Based Programming g| 341 -- g| 8.2 t| Implementing a Time Abstract Data Type with a Class g| 343 -- g| 8.3 t| Class Scope g| 351 -- g| 8.4 t| Controlling Access to Members g| 351 -- g| 8.5 t| Referring to the Current Object's Members with this g| 352 -- g| 8.6 t| Initializing Class Objects: Constructors g| 354 -- g| 8.7 t| Using Overloaded Constructors g| 355 -- g| 8.8 t| Using Set and Get Methods g| 360 -- g| 8.9 t| Composition g| 368 -- g| 8.10 t| Garbage Collection g| 371 -- g| 8.11 t| Static Class Members g| 372 -- g| 8.12 t| Final Instance Variables g| 377 -- g| 8.13 t| Creating Packages g| 379 -- g| 8.14 t| Package Access g| 384 -- g| 8.15 t| Software Reusability g| 386 -- g| 8.16 t| Data Abstraction and Encapsulation g| 387 -- g| 8.17 t| (Optional Case Study) Thinking About Objects: Starting to Program the Classes for the Elevator Simulation g| 389 -- g| 9 t| Object-Oriented Programming: Inheritance g| 400 -- g| 9.2 t| Superclasses and Subclasses g| 402 -- g| 9.3 t| Protected Members g| 404 -- g| 9.4 t| Relationship between Superclasses and Subclasses g| 405 -- g| 9.5 t| Case Study: Three-Level Inheritance Hierarchy g| 424 -- g| 9.6 t| Constructors and Finalizers in Subclasses g| 427 -- g| 9.7 t| Software Engineering with Inheritance g| 432 -- g| 10 t| Object-Oriented Programming: Polymorphism g| 437 -- g| 10.2 t| Relationships Among Objects in an Inheritance Hierarchy g| 439 -- g| 10.3 t| Polymorphism Examples g| 445 -- g| 10.4 t| Abstract Classes and Methods g| 446 -- g| 10.5 t| Case Study: Inheriting Interface and Implementation g| 448 -- g| 10.6 t| Final Methods and Classes g| 456 -- g| 10.7 t| Case Study: Payroll System Using Polymorphism g| 457 -- g| 10.8 t| Case Study: Creating and Using Interfaces g| 467 -- g| 10.9 t| Nested Classes g| 472 -- g| 10.10 t| Type-Wrapper Classes for Primitive Types g| 485 -- g| 10.11 t| (Optional Case Study) Thinking About Objects: Incorporating Inheritance into the Elevator Simulation g| 485 -- g| 10.12 t| (Optional) Discovering Design Patterns: Introducing Creational, Structural and Behavioral Design Patterns g| 492 -- g| 11 t| Strings and Characters g| 505 -- g| 11.2 t| Fundamentals of Characters and Strings g| 507 -- g| 11.3 t| Class String g| 507 -- g| 11.4 t| Class StringBuffer g| 523 -- g| 11.5 t| Class Character g| 530 -- g| 11.6 t| Class StringTokenizer g| 537 -- g| 11.7 t| Card Shuffling and Dealing Simulation g| 539 -- g| 11.8 t| Regular Expressions, Class Pattern and Class Matcher g| 543 -- g| 11.9 t| (Optional Case Study) Thinking About Objects: Event Handling g| 553 -- g| 12 t| Graphics and Java2D g| 569 -- g| 12.2 t| Graphics Contexts and Graphics Objects g| 572 -- g| 12.3 t| Color Control g| 573 -- g| 12.4 t| Font Control g| 580 -- g| 12.5 t| Drawing Lines, Rectangles and Ovals g| 585 -- g| 12.6 t| Drawing Arcs g| 589 -- g| 12.7 t| Drawing Polygons and Polylines g| 591 -- g| 12.8 t| Java2D API g| 594 -- g| 12.9 t| (Optional Case Study) Thinking About Objects: Designing Interfaces with the UML g| 601 -- g| 13 t| Graphical User Interface Components g| 611 -- g| 13.2 t| Overview of Swing Components g| 613 -- g| 13.3 t| JLabel g| 616 -- g| 13.4 t| Event Handling g| 619 -- g| 13.5 t| Textfields g| 620 -- g| 13.6 t| How Event Handling Works g| 625 -- g| 13.7 t| JButton g| 626 -- g| 13.8 t| JCheckBox and JRadioButton g| 629 -- g| 13.9 t| JComboBox g| 634 -- g| 13.10 t| JList g| 637 -- g| 13.11 t| Multiple-Selection Lists g| 639 -- g| 13.12 t| Mouse Event Handling g| 642 -- g| 13.13 t| Adapter Classes g| 646 -- g| 13.14 t| Key Event Handling g| 651 -- g| 13.15 t| Layout Managers g| 654 -- g| 13.16 t| Panels g| 663 -- g| 13.17 t| (Optional Case Study) Thinking About Objects: Use Cases g| 664 -- g| 14.2 t| JTextArea g| 679 -- g| 14.3 t| Creating a Customized Subclass of JPanel g| 682 -- g| 14.4 t| JPanel Subclass that Handles Its Own Events g| 686 -- g| 14.5 t| JSlider g| 691 -- g| 14.6 t| Windows: Additional Notes g| 695 -- g| 14.7 t| Using Menus with Frames g| 696 -- g| 14.8 t| JPopupMenu g| 704 -- g| 14.9 t| Pluggable Look-and-Feel g| 707 -- g| 14.10 t| JDesktopPane and JInternal Frame g| 711 -- g| 14.11 t| JTabbedPane g| 715 -- g| 14.12 t| Layout Managers: BoxLayout and GridBagLayout g| 717 -- g| 14.13 t| (Optional Case Study) Thinking About Objects: Model-View-Controller g| 729 -- g| 14.14 t| (Optional) Discovering Design Patterns: Design Patterns Used in Packages java.awt and javax.swing g| 738 -- g| 15 t| Exception Handling g| 751 -- g| 15.3 t| Exception-Handling Example: Divide by Zero g| 756 -- g| 15.4 t| Java Exception Hierarchy g| 760 -- g| 15.5 t| Rethrowing an Exception g| 762 -- g| 15.6 t| finally Clause g| 762 -- g| 15.7 t| Stack Unwinding g| 766 -- g| 15.8 t| printStackTrace, getStackTrace and getMessage g| 767 -- g| 15.9 t| Chained Exceptions g| 770 -- g| 15.10 t| Declaring New Exception Types g| 772 -- g| 15.11 t| Constructors and Exception Handling g| 773 -- g| 16 t| Multithreading g| 778 -- g| 16.2 t| Thread States: Life Cycle of a Thread g| 781 -- g| 16.3 t| Thread Priorities and Thread Scheduling g| 783 -- g| 16.4 t| Creating and Executing 

505 

0 

0 

t| Threads g| 785 -- g| 16.5 t| Thread Synchronization g| 787 -- g| 16.6 t| Producer/Consumer Relationship without Synchronization g| 789 -- g| 16.7 t| Producer/Consumer Relationship with Synchronization g| 795 -- g| 16.8 t| Producer/Consumer Relationship: Circular Buffer g| 802 -- g| 16.9 t| Daemon Threads g| 814 -- g| 16.10 t| Runnable Interface g| 814 -- g| 16.11 t| (Optional Case Study) Thinking About Objects: Multithreading g| 820 -- g| 16.12 t| (Optional) Discovering Design Patterns: Concurrent Design Patterns g| 824 -- 

505 

8 

0 

g| 17 t| Files and Streams g| 833 -- g| 17.2 t| Data Hierarchy g| 835 -- g| 17.3 t| Files and Streams g| 837 -- g| 17.4 t| Class File g| 840 -- g| 17.5 t| Creating a Sequential-Access File g| 846 -- g| 17.6 t| Reading Data from a Sequential-Access File g| 857 -- g| 17.7 t| Updating Sequential-Access Files g| 869 -- g| 17.8 t| Random-Access Files g| 869 -- g| 17.9 t| Creating a Random-Access File g| 870 -- g| 17.10 t| Writing Data Randomly to a Random-Access File g| 875 -- g| 17.11 t| Reading Data Sequentially from a Random-Access File g| 880 -- g| 17.12 t| Case Study: A Transaction-Processing Program g| 885 -- g| 17.13 t| New I/O APIs for the Java Platform g| 897 -- g| 18 t| Networking g| 914 -- g| 18.2 t| Manipulating URLs g| 917 -- g| 18.3 t| Reading a File on a Web Server g| 922 -- g| 18.4 t| Establishing a Simple Server Using Stream Sockets g| 925 -- g| 18.5 t| Establishing a Simple Client Using Stream Sockets g| 927 -- g| 18.6 t| Client/Server Interaction with Stream Socket Connections g| 927 -- g| 18.7 t| Connectionless Client/Server Interaction with Datagrams g| 940 -- g| 18.8 t| Client/Server Tic-Tac-Toe Using a Multithreaded Server g| 947 -- g| 18.9 t| Security and the Network g| 961 -- g| 18.10 t| DeitelMessenger Chat Server and Client g| 962 -- g| 18.11 t| NIO Networking Overview g| 990 -- g| 18.12 t| (Optional) Discovering Design Patterns: Design Patterns Used in Packages java.io and java.net g| 1002 -- g| 19 t| Multimedia: Images, Animation and Audio g| 1014 -- g| 19.2 t| Loading, Displaying and Scaling Images g| 1016 -- g| 19.3 t| Animating a Series of Images g| 1019 -- g| 19.4 t| Image Maps g| 1022 -- g| 19.5 t| Loading and Playing Audio Clips g| 1025 -- g| 19.6 t| Internet and World Wide Web Resources g| 1028 -- g| 19.7 t| (Optional Case Study) Thinking About Objects: Animation and Sound in the View g| 1030 -- g| 20 t| Data Structures g| 1048 -- g| 20.2 t| Self-Referential Classes g| 1050 -- g| 20.3 t| Dynamic Memory Allocation g| 1050 -- g| 20.4 t| Linked Lists g| 1051 -- g| 20.5 t| Stacks g| 1061 -- g| 20.6 t| Queues g| 1066 -- g| 20.7 t| Trees g| 1069 -- g| 21 t| Java Utilities Package and Bit Manipulation g| 1098 -- g| 21.2 t| Vector Class and Enumeration Interface g| 1099 -- g| 21.3 t| Stack Class of Package java.util g| 1103 -- g| 21.4 t| Hashtable Class g| 1106 -- g| 21.5 t| Properties Class g| 1110 -- g| 21.6 t| Bit Manipulation and the Bitwise Operators g| 1117 -- g| 21.7 t| BitSet Class g| 1131 -- g| 22 t| Collections g| 1140 -- g| 22.2 t| Collections Overview g| 1142 -- g| 22.3 t| Class Arrays g| 1142 -- g| 22.4 t| Interface Collection and Class Collections g| 1147 -- g| 22.5 t| Lists g| 1147 -- g| 22.6 t| Algorithms g| 1154 -- g| 22.7 t| Sets g| 1164 -- g| 22.9 t| Synchronization Wrappers g| 1170 -- g| 22.10 t| Unmodifiable Wrappers g| 1170 -- g| 22.11 t| Abstract Implementations g| 1171 -- g| 22.12 t| (Optional) Discovering Design Patterns: Design Patterns Used in Package java.util g| 1171 -- g| 23 t| Java Database Connectivity with JDBC g| 1178 -- g| 23.2 t| Relational Databases g| 1180 -- g| 23.3 t| Relational Database Overview: The books Database g| 1181 -- g| 23.4 t| SQL g| 1185 -- g| 23.5 t| Creating Database books in Cloudscape g| 1194 -- g| 23.6 t| Manipulating Databases with JDBC g| 1195 -- g| 23.7 t| Stored Procedures g| 1212 -- g| 23.8 t| Internet and World Wide Web Resources g| 1212 -- g| 24 t| Servlets g| 1220 -- g| 24.2 t| Servlet Overview and Architecture g| 1223 -- g| 24.3 t| Handling HTTP get Requests g| 1229 -- g| 24.4 t| Handling HTTP get Requests Containing Data g| 1239 -- g| 24.5 t| Handling HTTP post Requests g| 1242 -- g| 24.6 t| Redirecting Requests to Other Resources g| 1245 -- g| 24.7 t| Multi-Tier Applications: Using JDBC from a Servlet g| 1249 -- g| 24.8 t| Internet and World Wide Web Resources g| 1255 -- g| 25 t| JavaServer Pages (JSP) g| 1261 -- g| 25.2 t| JavaServer Pages Overview g| 1262 -- g| 25.3 t| First JavaServer Page Example g| 1263 -- g| 25.4 t| Implicit Objects g| 1266 -- g| 25.5 t| Scripting g| 1267 -- g| 25.6 t| Standard Actions g| 1271 -- g| 25.7 t| Directives g| 1285 -- g| 25.8 t| Case Study: Guest Book g| 1290 -- g| 25.9 t| Internet and World Wide Web Resources g| 1301 -- g| A t| Operator Precedence Chart g| 1307 -- g| B t| ASCII Character Set g| 1309 -- g| C t| Number Systems g| 1310 -- g| C.2 t| Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers g| 1314 -- g| C.3 t| Converting Octal Numbers and Hexadecimal Numbers to Binary Numbers g| 1315 -- g| C.4 t| Converting from Binary, Octal or Hexadecimal to Decimal g| 1315 -- g| C.5 t| Converting from Decimal to Binary, Octal or Hexadecimal g| 1316 -- g| C.6 t| Negative Binary Numbers: Two's Complement Notation g| 1318 -- g| D t| Elevator Events and Listener Interfaces g| 1323 -- g| D.2 t| Events g| 1323 -- g| D.3 t| Listeners g| 1327 -- g| D.4 t| Artifacts Revisited g| 1330 -- g| E t| Elevator Model g| 1332 -- g| E.2 t| Class ElevatorSimulation g| 1332 -- g| E.3 t| Classes Location and Floor g| 1340 -- g| E.4 t| Classes Door and ElevatorDoor g| 1343 -- g| E.5 t| Class Button g| 1347 -- g| E.6 t| Class ElevatorShaft g| 1349 -- g| E.7 t| Classes Light and Bell g| 1356 -- g| E.8 t| Class Elevator g| 1360 -- g| E.9 t| Class Person g| 1368 -- g| E.10 t| Artifacts Revisited g| 1375 -- g| F t| Elevator View (on CD) g| 1377 -- g| F.2 t| Class Objects g| 1394 -- g| F.3 t| Class Constants g| 1396 -- g| F.4 t| Class Constructor g| 1397 -- g| F.5 t| Event Handling g| 1398 -- g| F.6 t| Artifacts Revisited g| 1401 -- g| G t| Unicode g| 1403 -- g| G.2 t| Unicode Transformation Formats g| 1405 -- g| G.3 t| Characters and Glyphs g| 1406 -- g| G.4 t| Advantages/Disadvantages of Unicode g| 1407 -- g| G.6 t| Using Unicode g| 1408 -- g| G.7 t| Character Ranges g| 1411\. 

520 

a| Accompanying CD-ROM contains ... "Java 2 Platform Software Development Kit, Stnatard Edition, v.1.4.1; Sun ONE Studio 4, Community Edition; IBM Cloudscape Server Edition, v.5.0.4 (60 day evaluation) and Apache Tomcat v.4.1.12, from the Apache Software Foundation ... " p. [1] of cover. 

538 

a| System requirements: Pentium III 500 MHz (minimum) processor; 256 MB of RAM (512 MB recommended); Microsoft Windows NT (with Service Pack 6a), Windows XP, or Red Hat Linux 7.2; Internet connection and Web browser. 

590 

a| Acquired for the Penn Libraries with assistance from the Class of 1924 Book Fund. 

650 

0 

a| Java (Computer program language) 0| http://id.loc.gov/authorities/subjects/sh95008574 

650 

7 

a| Java (Computer program language) 2| fast 0| http://id.worldcat.org/fast/982065 

700 

1 

a| Deitel, Paul J. 0| http://id.loc.gov/authorities/names/n87945260 

710 

2 

a| Class of 1924 Book Fund. 5| PU 

856 

4 

2 

3| The Class of 1924 Book Fund Home Page u| http://hdl.library.upenn.edu/1017.12/366301 

830 

0 

a| How to program series 0| http://id.loc.gov/authorities/names/no97016170 

902 

a| MARCIVE 2022 

994 

a| E0 b| PAU