Java How to Program: Early Objects Version [With CDROM] [8th ed]
0136053068, 9780136053064
KEY BENEFIT: The Deitels' groundbreaking "How to Program" series offers unparalleled breadth and depth of
375
47
17MB
English
Pages xlii, 1506 pages: color illustrations
[1552]
Year 2009;2010
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
Cover......Page 1
Contents......Page 10
Preface......Page 26
Before You Begin......Page 40
1 Introduction to Computers, the Internet and the Web......Page 44
1.1 Introduction......Page 45
1.2 Computers: Hardware and Software......Page 46
1.3 Computer Organization......Page 47
1.4 Early Operating Systems......Page 48
1.6 The Internet and the World Wide Web......Page 49
1.7 Machine Languages, Assembly Languages and High-Level Languages......Page 50
1.9 History of Java......Page 51
1.10 Java Class Libraries......Page 52
1.11 Fortran, COBOL, Pascal and Ada......Page 53
1.13 Typical Java Development Environment......Page 54
1.14 Notes about Java and Java How to Program, Eighth Edition......Page 57
1.15 Test-Driving a Java Application......Page 58
1.16 Software Engineering Case Study: Introduction to Object Technology and the UML......Page 63
1.17 Web 2.0......Page 67
1.18 Software Technologies......Page 68
1.20 Web Resources......Page 69
2 Introduction to Java Applications......Page 80
2.2 Our First Program in Java: Printing a Line of Text......Page 81
2.3 Modifying Our First Java Program......Page 87
2.4 Displaying Text with printf......Page 89
2.5 Another Application: Adding Integers......Page 90
2.6 Memory Concepts......Page 95
2.7 Arithmetic......Page 96
2.8 Decision Making: Equality and Relational Operators......Page 99
2.9 Wrap-Up......Page 103
3 Introduction to Classes and Objects......Page 115
3.2 Classes, Objects, Methods and Instance Variables......Page 116
3.3 Declaring a Class with a Method and Instantiating an Object of a Class......Page 118
3.4 Declaring a Method with a Parameter......Page 121
3.5 Instance Variables, set Methods and get Methods......Page 125
3.6 Primitive Types vs. Reference Types......Page 130
3.7 Initializing Objects with Constructors......Page 131
3.8 Floating-Point Numbers and Type double......Page 134
3.9 (Optional) GUI and Graphics Case Study: Using Dialog Boxes......Page 138
3.10 Wrap-Up......Page 141
4 Control Statements: Part I......Page 149
4.2 Algorithms......Page 150
4.4 Control Structures......Page 151
4.5 if Single-Selection Statement......Page 153
4.6 if…else Double-Selection Statement......Page 154
4.7 while Repetition Statement......Page 159
4.8 Formulating Algorithms: Counter-Controlled Repetition......Page 160
4.9 Formulating Algorithms: Sentinel-Controlled Repetition......Page 165
4.10 Formulating Algorithms: Nested Control Statements......Page 172
4.11 Compound Assignment Operators......Page 177
4.12 Increment and Decrement Operators......Page 178
4.14 (Optional) GUI and Graphics Case Study: Creating Simple Drawings......Page 181
4.15 Wrap-Up......Page 185
5 Control Statements: Part 2......Page 199
5.2 Essentials of Counter-Controlled Repetition......Page 200
5.3 for Repetition Statement......Page 202
5.4 Examples Using the for Statement......Page 205
5.5 do…while Repetition Statement......Page 210
5.6 switch Multiple-Selection Statement......Page 212
5.7 break and continue Statements......Page 219
5.8 Logical Operators......Page 221
5.9 Structured Programming Summary......Page 227
5.10 (Optional) GUI and Graphics Case Study: Drawing Rectangles and Ovals......Page 232
5.11 Wrap-Up......Page 235
6 Methods: A Deeper Look......Page 245
6.2 Program Modules in Java......Page 246
6.3 static Methods, static Fields and Class Math......Page 248
6.4 Declaring Methods with Multiple Parameters......Page 250
6.5 Notes on Declaring and Using Methods......Page 253
6.6 Method-Call Stack and Activation Records......Page 254
6.7 Argument Promotion and Casting......Page 255
6.8 Java API Packages......Page 256
6.9 Case Study: Random-Number Generation......Page 258
6.9.1 Generalized Scaling and Shifting of Random Numbers......Page 262
6.10 Case Study: A Game of Chance; Introducing Enumerations......Page 263
6.11 Scope of Declarations......Page 268
6.12 Method Overloading......Page 271
6.13 (Optional) GUI and Graphics Case Study: Colors and Filled Shapes......Page 274
6.14 Wrap-Up......Page 277
7 Arrays and ArrayLists......Page 291
7.1 Introduction......Page 292
7.2 Arrays......Page 293
7.3 Declaring and Creating Arrays......Page 294
7.4 Examples Using Arrays......Page 295
7.5 Case Study: Card Shuffling and Dealing Simulation......Page 304
7.6 Enhanced for Statement......Page 307
7.7 Passing Arrays to Methods......Page 309
7.8 Case Study: Class GradeBook Using an Array to Store Grades......Page 312
7.9 Multidimensional Arrays......Page 317
7.10 Case Study: Class GradeBook Using a Two-Dimensional Array......Page 321
7.11 Variable-Length Argument Lists......Page 327
7.12 Using Command-Line Arguments......Page 328
7.13 Class Arrays......Page 330
7.14 Introduction to Collections and Class ArrayList......Page 332
7.15 (Optional) GUI and Graphics Case Study: Drawing Arcs......Page 335
7.16 Wrap-Up......Page 338
8 Classes and Objects: A Deeper Look......Page 359
8.2 Time Class Case Study......Page 360
8.3 Controlling Access to Members......Page 364
8.4 Referring to the Current Object's Members with the this Reference......Page 365
8.5 Time Class Case Study: Overloaded Constructors......Page 368
8.6 Default and No-Argument Constructors......Page 373
8.7 Notes on Set and Get Methods......Page 374
8.8 Composition......Page 375
8.9 Enumerations......Page 378
8.11 static Class Members......Page 381
8.12 static Import......Page 385
8.13 final Instance Variables......Page 386
8.14 Time Class Case Study: Creating Packages......Page 389
8.15 Package Access......Page 394
8.16 (Optional) GUI and Graphics Case Study: Using Objects with Graphics......Page 395
8.17 Wrap-Up......Page 399
9 Object- Oriented Programming: Inheritance......Page 408
9.1 Introduction......Page 409
9.2 Superclasses and Subclasses......Page 410
9.3 protected Members......Page 412
9.4.1 Creating and Using a CommissionEmployee Class......Page 413
9.4.2 Creating and Using a BasePlusCommissionEmployee Class......Page 418
9.4.3 Creating a CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy......Page 423
9.4.4 CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables......Page 426
9.4.5 CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using private Instance Variables......Page 429
9.5 Constructors in Subclasses......Page 433
9.6 Software Engineering with Inheritance......Page 434
9.7 Object Class......Page 435
9.8 (Optional) GUI and Graphics Case Study: Displaying Text and Images Using Labels......Page 437
9.9 Wrap-Up......Page 439
10 Object-Oriented Programming: Polymorphism......Page 443
10.1 Introduction......Page 444
10.2 Polymorphism Examples......Page 446
10.3 Demonstrating Polymorphic Behavior......Page 447
10.4 Abstract Classes and Methods......Page 449
10.5 Case Study: Payroll System Using Polymorphism......Page 451
10.5.1 Abstract Superclass Employee......Page 452
10.5.2 Concrete Subclass SalariedEmployee......Page 455
10.5.3 Concrete Subclass HourlyEmployee......Page 457
10.5.4 Concrete Subclass CommissionEmployee......Page 458
10.5.5 Indirect Concrete Subclass BasePlusCommissionEmployee......Page 460
10.5.6 Polymorphic Processing, Operator instanceof and Downcasting......Page 461
10.6 final Methods and Classes......Page 466
10.7 Case Study: Creating and Using Interfaces......Page 467
10.7.1 Developing a Payable Hierarchy......Page 469
10.7.3 Class Invoice......Page 470
10.7.4 Modifying Class Employee to Implement Interface Payable......Page 473
10.7.5 Modifying Class SalariedEmployee for Use in the Payable Hierarchy......Page 474
10.7.6 Using Interface Payable to Process Invoices and Employees Polymorphically......Page 476
10.7.7 Common Interfaces of the Java API......Page 478
10.8 (Optional) GUI and Graphics Case Study: Drawing with Polymorphism......Page 479
10.9 Wrap-Up......Page 481
11 Exception Handling......Page 486
11.1 Introduction......Page 487
11.3 Example: Divide by Zero without Exception Handling......Page 488
11.4 Example: Handling ArithmeticExceptions and InputMismatchExceptions......Page 491
11.6 Java Exception Hierarchy......Page 496
11.7 finally Block......Page 499
11.8 Stack Unwinding......Page 504
11.9 printStackTrace, getStackTrace and getMessage......Page 505
11.10 Chained Exceptions......Page 508
11.11 Declaring New Exception Types......Page 510
11.13 Assertions......Page 511
11.14 Wrap-Up......Page 513
12 ATM Case Study, Part 1: Object-Oriented Design with the UML......Page 519
12.2 Examining the Requirements Document......Page 520
12.3 Identifying the Classes in a Requirements Document......Page 528
12.4 Identifying Class Attributes......Page 534
12.5 Identifying Objects' States and Activities......Page 539
12.6 Identifying Class Operations......Page 543
12.7 Indicating Collaboration Among Objects......Page 549
12.8 Wrap-Up......Page 556
13 ATM Case Study Part 2: Implementing an Object-Oriented Design......Page 560
13.2 Starting to Program the Classes of the ATM System......Page 561
13.3 Incorporating Inheritance and Polymorphism into the ATM System......Page 566
13.3.1 Implementing the ATM System Design (Incorporating Inheritance)......Page 571
13.4 ATM Case Study Implementation......Page 572
13.4.1 Class ATM......Page 573
13.4.2 Class Screen......Page 578
13.4.3 Class Keypad......Page 579
13.4.4 Class CashDispenser......Page 580
13.4.5 Class DepositSlot......Page 581
13.4.6 Class Account......Page 582
13.4.7 Class BankDatabase......Page 584
13.4.8 Class Transaction......Page 586
13.4.9 Class BalanceInquiry......Page 588
13.4.10 Class Withdrawal......Page 589
13.4.11 Class Deposit......Page 593
13.5 Wrap-Up......Page 596
14 GUI Components: Part 1......Page 598
14.1 Introduction......Page 599
14.2 Java's New Nimbus Look-and-Feel......Page 600
14.3 Simple GUI-Based Input/Output with JOptionPane......Page 601
14.4 Overview of Swing Components......Page 604
14.5 Displaying Text and Images in a Window......Page 606
14.6 Text Fields and an Introduction to Event Handling with Nested Classes......Page 611
14.7 Common GUI Event Types and Listener Interfaces......Page 617
14.8 How Event Handling Works......Page 619
14.9 JButton......Page 621
14.10.1 JCheckBox......Page 624
14.10.2 JRadioButton......Page 627
14.11 JComboBox and Using an Anonymous Inner Class for Event Handling......Page 630
14.12 JList......Page 634
14.13 Multiple-Selection Lists......Page 636
14.14 Mouse Event Handling......Page 639
14.15 Adapter Classes......Page 643
14.16 JPanel Subclass for Drawing with the Mouse......Page 647
14.17 Key Event Handling......Page 650
14.18 Introduction to Layout Managers......Page 653
14.18.1 FlowLayout......Page 655
14.18.2 BorderLayout......Page 658
14.18.3 GridLayout......Page 661
14.19 Using Panels to Manage More Complex Layouts......Page 663
14.20 JTextArea......Page 665
14.21 Wrap-Up......Page 667
15 Graphics and Java 2D™......Page 683
15.1 Introduction......Page 684
15.2 Graphics Contexts and Graphics Objects......Page 686
15.3 Color Control......Page 687
15.4 Manipulating Fonts......Page 694
15.5 Drawing Lines, Rectangles and Ovals......Page 699
15.6 Drawing Arcs......Page 703
15.7 Drawing Polygons and Polylines......Page 705
15.8 Java 2D API......Page 708
15.9 Wrap-Up......Page 715
16 Strings, Characters and Regular Expressions......Page 724
16.2 Fundamentals of Characters and Strings......Page 725
16.3.1 String Constructors......Page 726
16.3.2 String Methods length, charAt and getChars......Page 727
16.3.3 Comparing Strings......Page 728
16.3.4 Locating Characters and Substrings in Strings......Page 733
16.3.6 Concatenating Strings......Page 735
16.3.7 Miscellaneous String Methods......Page 736
16.3.8 String Method valueOf......Page 737
16.4.1 StringBuilder Constructors......Page 739
16.4.2 StringBuilder Methods length, capacity, setLength and ensureCapacity......Page 740
16.4.3 StringBuilder Methods charAt, setCharAt, getChars and reverse......Page 741
16.4.4 StringBuilder append Methods......Page 743
16.4.5 StringBuilder Insertion and Deletion Methods......Page 744
16.5 Class Character......Page 746
16.6 Tokenizing Strings......Page 750
16.7 Regular Expressions, Class Pattern and Class Matcher......Page 751
16.8 Wrap-Up......Page 760
17 Files, Streams and Object Serialization......Page 771
17.1 Introduction......Page 772
17.2 Data Hierarchy......Page 773
17.3 Files and Streams......Page 775
17.4 Class File......Page 776
17.5.1 Creating a Sequential-Access Text File......Page 781
17.5.2 Reading Data from a Sequential-Access Text File......Page 788
17.5.3 Case Study: A Credit-Inquiry Program......Page 790
17.5.4 Updating Sequential-Access Files......Page 795
17.6 Object Serialization......Page 796
17.6.1 Creating a Sequential-Access File Using Object Serialization......Page 797
17.6.2 Reading and Deserializing Data from a Sequential-Access File......Page 803
17.7.1 Interfaces and Classes for Byte-Based Input and Output......Page 805
17.7.2 Interfaces and Classes for Character-Based Input and Output......Page 807
17.8 Opening Files with JFileChooser......Page 808
17.9 Wrap-Up......Page 811
18 Recursion......Page 821
18.1 Introduction......Page 822
18.2 Recursion Concepts......Page 823
18.3 Example Using Recursion: Factorials......Page 824
18.4 Example Using Recursion: Fibonacci Series......Page 827
18.5 Recursion and the Method-Call Stack......Page 830
18.6 Recursion vs. Iteration......Page 832
18.7 Towers of Hanoi......Page 833
18.8 Fractals......Page 835
18.10 Wrap-Up......Page 846
19 Searching, Sorting and Big O......Page 854
19.1 Introduction......Page 855
19.2.1 Linear Search......Page 856
19.2.2 Binary Search......Page 860
19.3.1 Selection Sort......Page 865
19.3.2 Insertion Sort......Page 869
19.3.3 Merge Sort......Page 873
19.4 Wrap-Up......Page 879
20 Generic Collections......Page 884
20.2 Collections Overview......Page 885
20.3 Type-Wrapper Classes for Primitive Types......Page 886
20.5 Interface Collection and Class Collections......Page 887
20.6 Lists......Page 888
20.6.1 ArrayList and Iterator......Page 889
20.6.2 LinkedList......Page 891
20.7 Collections Methods......Page 896
20.7.1 Method sort......Page 897
20.7.2 Method shuffle......Page 900
20.7.3 Methods reverse, fill, copy, max and min......Page 902
20.7.4 Method binarySearch......Page 904
20.7.5 Methods addAll, frequency and disjoint......Page 906
20.8 Stack Class of Package java. util......Page 907
20.9 Class PriorityQueue and Interface Queue......Page 910
20.10 Sets......Page 911
20.11 Maps......Page 914
20.12 Properties Class......Page 917
20.13 Synchronized Collections......Page 920
20.14 Unmodifiable Collections......Page 921
20.16 Wrap-Up......Page 922
21 Generic Classes and Methods......Page 929
21.2 Motivation for Generic Methods......Page 930
21.3 Generic Methods: Implementation and Compile-Time Translation......Page 933
21.4 Additional Compile-Time Translation Issues: Methods That Use a Type Parameter as the Return Type......Page 936
21.6 Generic Classes......Page 939
21.7 Raw Types......Page 947
21.8 Wildcards in Methods That Accept Type Parameters......Page 951
21.9 Generics and Inheritance: Notes......Page 955
21.10 Wrap-Up......Page 956
22 Custom Generic Data Structures......Page 960
22.2 Self-Referential Classes......Page 961
22.3 Dynamic Memory Allocation......Page 962
22.4 Linked Lists......Page 963
22.5 Stacks......Page 973
22.6 Queues......Page 977
22.7 Trees......Page 980
22.8 Wrap-Up......Page 986
23 Applets and Java Web Start......Page 997
23.1 Introduction......Page 998
23.2 Sample Applets Provided with the JDK......Page 999
23.3 Simple Java Applet: Drawing a String......Page 1003
23.3.1 Executing WelcomeApplet in the appletviewer......Page 1005
23.4 Applet Life-Cycle Methods......Page 1007
23.5 Initializing an Instance Variable with Method init......Page 1008
23.6 Sandbox Security Model......Page 1010
23.7 Java Web Start and the Java Network Launch Protocol (JNLP)......Page 1011
23.7.1 Packaging the DrawTest Applet for Use with Java Web Start......Page 1012
23.7.2 JNLP Document for the DrawTest Applet......Page 1013
23.8 Wrap- Up......Page 1017
24 Multimedia: Applets and Applications......Page 1023
24.1 Introduction......Page 1024
24.2 Loading, Displaying and Scaling Images......Page 1025
24.3 Animating a Series of Images......Page 1031
24.4 Image Maps......Page 1037
24.5 Loading and Playing Audio Clips......Page 1040
24.6 Playing Video and Other Media with Java Media Framework......Page 1043
24.8 Web Resources......Page 1048
25 GUI Components: Part 2......Page 1056
25.2 JSlider......Page 1057
25.3 Windows: Additional Notes......Page 1061
25.4 Using Menus with Frames......Page 1062
25.5 JPopupMenu......Page 1070
25.6 Pluggable Look-and-Feel......Page 1073
25.7 JDesktopPane and JInternalFrame......Page 1077
25.8 JTabbedPane......Page 1081
25.9 Layout Managers: BoxLayout and GridBagLayout......Page 1083
25.10 Wrap-Up......Page 1095
26 Multithreading......Page 1101
26.1 Introduction......Page 1102
26.2 Thread States: Life Cycle of a Thread......Page 1104
26.3 Thread Priorities and Thread Scheduling......Page 1106
26.4.1 Runnables and the Thread Class......Page 1108
26.4.2 Thread Management with the Executor Framework......Page 1111
26.5 Thread Synchronization......Page 1112
26.5.1 Unsynchronized Data Sharing......Page 1113
26.5.2 Synchronized Data Sharing—Making Operations Atomic......Page 1117
26.6 Producer/Consumer Relationship without Synchronization......Page 1121
26.7 Producer/Consumer Relationship: ArrayBlockingQueue......Page 1128
26.8 Producer/Consumer Relationship with Synchronization......Page 1131
26.9 Producer/ Consumer Relationship: Bounded Buffers......Page 1137
26.10 Producer/Consumer Relationship: The Lock and Condition Interfaces......Page 1144
26.11 Multithreading with GUI......Page 1151
26.11.1 Performing Computations in a Worker Thread......Page 1152
26.11.2 Processing Intermediate Results with SwingWorker......Page 1158
26.13 Wrap-Up......Page 1165
27 Networking......Page 1174
27.1 Introduction......Page 1175
27.2 Manipulating URLs......Page 1176
27.3 Reading a File on a Web Server......Page 1181
27.4 Establishing a Simple Server Using Stream Sockets......Page 1184
27.5 Establishing a Simple Client Using Stream Sockets......Page 1186
27.6 Client/Server Interaction with Stream Socket Connections......Page 1187
27.7 Connectionless Client/ Server Interaction with Datagrams......Page 1199
27.8 Client/Server Tic-Tac-Toe Using a Multithreaded Server......Page 1206
27.10 Wrap-Up......Page 1221
28 Accessing Databases with JDBC......Page 1227
28.1 Introduction......Page 1228
28.2 Relational Databases......Page 1229
28.3 Relational Database Overview: The books Database......Page 1230
28.4 SQL......Page 1233
28.4.1 Basic SELECT Query......Page 1234
28.4.2 WHERE Clause......Page 1235
28.4.3 ORDER BY Clause......Page 1236
28.4.4 Merging Data from Multiple Tables: INNER JOIN......Page 1238
28.4.5 INSERT Statement......Page 1239
28.4.6 UPDATE Statement......Page 1240
28.4.7 DELETE Statement......Page 1241
28.5 Instructions for Installing MySQL and MySQL Connector/J......Page 1242
28.7 Creating Database books in MySQL......Page 1243
28.8.1 Connecting to and Querying a Database......Page 1244
28.8.2 Querying the books Database......Page 1249
28.9 RowSet Interface......Page 1261
28.10 Java DB/Apache Derby......Page 1263
28.11 PreparedStatements......Page 1265
28.13 Transaction Processing......Page 1280
28.15 Web Resources......Page 1281
29 JavaServer™ Faces Web Applications......Page 1290
29.1 Introduction......Page 1291
29.2 Simple HTTP Transactions......Page 1292
29.3 Multitier Application Architecture......Page 1295
29.4.1 Servlets......Page 1296
29.4.2 JavaServer Pages......Page 1297
29.4.3 JavaServer Faces......Page 1298
29.5 Creating and Running a Simple Application in NetBeans......Page 1299
29.5.1 Examining a JSP Document......Page 1300
29.5.2 Examining a Page Bean File......Page 1302
29.5.3 Event-Processing Life Cycle......Page 1304
29.5.4 Building a Web Application in NetBeans......Page 1305
29.6.1 Text and Graphics Components......Page 1312
29.6.2 Validation Using Validator Components and Custom Validators......Page 1316
29.7 Session Tracking......Page 1324
29.7.1 Cookies......Page 1326
29.7.2 Session Tracking with Session Beans......Page 1337
29.8 Wrap-Up......Page 1346
30 Ajax-Enabled JavaServer™ Faces Web Applications......Page 1356
30.2 Accessing Databases in Web Applications......Page 1357
30.2.1 Building a Web Application That Displays Data from a Database......Page 1358
30.2.2 Modifying the Page Bean File for the AddressBook Application......Page 1367
30.3 Ajax-Enabled JSF Components......Page 1370
30.4.1 Configuring Virtual Forms......Page 1372
30.4.2 JSP File with Virtual Forms and an Autocomplete Text Field......Page 1374
30.4.3 Providing Suggestions for an Autocomplete Text Field......Page 1378
30.4.4 Displaying the Contact's Information......Page 1380
30.5 Wrap-Up......Page 1382
31 Web Services......Page 1386
31.1 Introduction......Page 1387
31.3 Simple Object Access Protocol (SOAP)......Page 1389
31.6 Publishing and Consuming SOAP-Based Web Services......Page 1390
31.6.2 Defining the WelcomeSOAP Web Service in NetBeans......Page 1391
31.6.3 Publishing the WelcomeSOAP Web Service from NetBeans......Page 1393
31.6.4 Testing the WelcomeSOAP Web Service with GlassFish Application Server's Tester Web Page......Page 1394
31.6.6 Creating a Client to Consume the WelcomeSOAP Web Service......Page 1396
31.6.7 Consuming the WelcomeSOAP Web Service......Page 1399
31.7.1 Creating a REST-Based XML Web Service......Page 1401
31.7.2 Consuming a REST-Based XML Web Service......Page 1405
31.8 Publishing and Consuming REST-Based JSON Web Services......Page 1406
31.8.1 Creating a REST-Based JSON Web Service......Page 1407
31.8.2 Consuming a REST-Based JSON Web Service......Page 1408
31.9 Session Tracking in a SOAP-Based Web Service......Page 1410
31.9.1 Creating a Blackjack Web Service......Page 1411
31.9.2 Consuming the Blackjack Web Service......Page 1415
31.10.1 Creating the Reservation Database......Page 1426
31.10.2 Creating a Web Application to Interact with the Reservation Service......Page 1429
31.11 Equation Generator: Returning User-Defined Types......Page 1434
31.11.1 Creating the REST-Based XML EquationGenerator Web Service......Page 1437
31.11.2 Consuming the REST-Based XML EquationGenerator Web Service......Page 1438
31.11.3 Creating the REST-Based JSON EquationGenerator Web Service......Page 1441
31.11.4 Consuming the REST-Based JSON EquationGenerator Web Service......Page 1442
31.12 Wrap-Up......Page 1445
A: Operator Precedence Chart......Page 1454
B: ASCII Character Set......Page 1456
C: Keywords and Reserved Words......Page 1457
D: Primitive Types......Page 1458
E.1 Introduction......Page 1459
E.2 Navigating the Java API......Page 1460
F: Using the Debugger......Page 1468
F.2 Breakpoints and the run, stop, cont and print Commands......Page 1469
F.3 The print and set Commands......Page 1473
F.4 Controlling Execution Using the step, step up and next Commands......Page 1475
F.5 The watch Command......Page 1478
F.6 The clear Command......Page 1481
F.7 Wrap-Up......Page 1483
G: Formatted Output......Page 1485
G.3 Formatting Output with printf......Page 1486
G.4 Printing Integers......Page 1487
G.5 Printing Floating-Point Numbers......Page 1488
G.6 Printing Strings and Characters......Page 1490
G.7 Printing Dates and Times......Page 1491
G.8 Other Conversion Characters......Page 1493
G.9 Printing with Field Widths and Precisions......Page 1495
G.10 Using Flags in the printf Format String......Page 1497
G.11 Printing with Argument Indices......Page 1500
G.13 Formatting Output with Class Formatter......Page 1501
G.14 Wrap-Up......Page 1503
Appendices on the Web......Page 1508
A......Page 1509
B......Page 1512
C......Page 1513
D......Page 1518
E......Page 1520
F......Page 1521
G......Page 1523
H......Page 1525
I......Page 1526
J......Page 1527
K......Page 1530
L......Page 1531
M......Page 1532
N......Page 1534
O......Page 1535
P......Page 1536
R......Page 1538
S......Page 1540
T......Page 1545
U......Page 1546
W......Page 1547
Z......Page 1549