GO TO
Big Java, 3rd Edition
by
Horstmann, Cay S., San Jose State Univ.
Publisher: John Wiley & Sons
Publishing Date: 2007/03/23
eText ISBN-10
0-470-37266-4
eText ISBN-13
978-0-470-37266-1
Print ISBN-10
0-470-10554-2
Print ISBN-13
978-0-470-10554-2
« Back to My CourseSmart
Big Java, 3rd Edition
by
Horstmann, Cay S., San Jose State Univ.
eTextbook $64.50
(180 day subscription)
Compare Online & Downloadable
Copyright, viii
Preface, ix
Special Features, xxix
Chapter 1. Introduction, ...
Chapter 2. Using Objects,...
Chapter 3. Implementing C...
Chapter 4. Fundamental Da...
Chapter 5. Decisions, 181
Chapter 6. Iteration, 227
Chapter 7. Arrays and Arr...
Chapter 8. Designing Clas...
Chapter 9. Interfaces and...
Chapter 10. Inheritance, ...
Chapter 11. Input/Output ...
Chapter 12. Object-Orient...
Chapter 13. Recursion, 58...
Chapter 14. Sorting and S...
Chapter 15. An Introducti...
Chapter 16. Advanced Data...
Chapter 17. Generic Progr...
Chapter 18. Graphical Use...
Chapter 19. Files and Str...
Chapter 20. Multithreadin...
Chapter 21. Internet Netw...
Chapter 22. Relational Da...
Chapter 23. XML (Advanced...
Chapter 24. Web Applicati...
Appendix A. Java Language...
Appendix B. The Basic Lat...
Appendix C. The Java Libr...
Appendix D. Java Syntax S...
Appendix E. Java Operator...
Appendix F. Java Keyword ...
Appendix G. Metric Conver...
Appendix H. HTML Summary,...
Appendix I. Tool Summary,...
Appendix J. javadoc Summa...
Appendix K. Number System...
Appendix L. Bit and Shift...
Appendix M. UML Summary, ...
Glossary, 1147
Index, 1163
Illustration Credits, 120...
Table of Contents
Copyright, viii
Preface, ix
Special Features, xxix
Chapter 1. Introduction, 1
1.1. What Is Programming?, 2
1.2. The Anatomy of a Computer, 3
1.3. Translating Human-Readable Programs to Machine Code, 8
1.4. The Java Programming Language, 10
1.5. Becoming Familiar with Your Computer, 12
1.6. Compiling a Simple Program, 17
1.7. Errors, 23
1.8. The Compilation Process, 25
Chapter 2. Using Objects, 33
2.1. Types and Variables, 34
2.2. The Assignment Operator, 36
2.3. Objects, Classes, and Methods, 37
2.4. Method Parameters and Return Values, 40
2.5. Number Types, 43
2.6. Constructing Objects, 44
2.7. Accessor and Mutator Methods, 46
2.8T. Implementing a Test Program, 47
2.9. The API Documentation, 50
2.10. Object References, 53
2.11G. Graphical Applications and Frame Windows, 58
2.12G. Drawing on a Component, 59
2.13G. Ellipses, Lines, Text, and Color, 65
Chapter 3. Implementing Classes, 81
3.1. Levels of Abstraction, 82
3.2. Specifying the Public Interface of a Class, 85
3.3. Commenting the Public Interface, 90
3.4. Instance Fields, 93
3.5. Implementing Constructors and Methods, 95
3.6T. Unit Testing, 102
3.7. Categories of Variables, 104
3.8. Implicit and Explicit Method Parameters, 107
3.9G. Shape Classes, 112
Chapter 4. Fundamental Data Types, 133
4.1. Number Types, 134
4.2. Constants, 140
4.3. Assignment, Increment, and Decrement, 146
4.4. Arithmetic Operations and Mathematical Functions, 148
4.5. Calling Static Methods, 153
4.6. Strings, 158
4.7. Reading Input, 165
Chapter 5. Decisions, 181
5.1. The if Statement, 182
5.2. Comparing Values, 188
5.3. Multiple Alternatives, 193
5.4. Using Boolean Expressions, 205
5.5T. Test Coverage, 212
Chapter 6. Iteration, 227
6.1. while Loops, 228
6.2. for Loops, 237
6.3. Nested Loops, 244
6.4. Processing Sentinel Values, 247
6.5. Random Numbers and Simulations, 256
6.6T. Using a Debugger, 264
6.7T. A Sample Debugging Session, 267
Chapter 7. Arrays and Array Lists, 287
7.1. Arrays, 288
7.2. Array Lists, 292
7.3. Wrappers and Auto-boxing, 298
7.4. The Enhanced for Loop, 300
7.5. Simple Array Algorithms, 301
7.6. Two-Dimensional Arrays, 306
7.7. Copying Arrays, 311
7.8T. Regression Testing, 319
Chapter 8. Designing Classes, 335
8.1. Choosing Classes, 336
8.2. Cohesion and Coupling, 338
8.3. Accessors, Mutators, and Immutable Classes, 341
8.4. Side Effects, 341
8.5. Preconditions and Postconditions, 347
8.6. Static Methods, 352
8.7. Static Fields, 354
8.8. Scope, 358
8.9. Packages, 363
8.10T. Unit Test Frameworks, 372
Chapter 9. Interfaces and Polymorphism, 387
9.1. Using Interfaces for Code Reuse, 388
9.2. Converting Between Class and Interface Types, 395
9.3. Polymorphism, 396
9.4. Using Interfaces for Callbacks, 398
9.5. Inner Classes, 403
9.6G. Events, Event Sources, and Event Listeners, 408
9.7G. Using Inner Classes for Listeners, 411
9.8G. Building Applications with Buttons, 414
9.9G. Processing Timer Events, 418
9.10G. Mouse Events, 421
Chapter 10. Inheritance, 437
10.1. An Introduction to Inheritance, 438
10.2. Inheritance Hierarchies, 443
10.3. Inheriting Instance Fields and Methods, 445
10.4. Subclass Construction, 451
10.5. Converting Between Subclass and Superclass Types, 452
10.6. Polymorphism, 455
10.7. Access Control, 462
10.8. Object: The Cosmic Superclass, 465
10.9G. Using Inheritance to Customize Frames, 478
10.10G. Processing Text Input, 480
10.11G. Text Areas, 483
Chapter 11. Input/Output and Exception Handling, 497
11.1. Reading and Writing Text Files, 498
11.2. Throwing Exceptions, 503
11.3. Checked and Unchecked Exceptions, 506
11.4. Catching Exceptions, 508
11.5. The finally Clause, 511
11.6. Designing Your Own Exception Types, 513
11.7. Case Study: A Complete Example, 515
Chapter 12. Object-Oriented Design, 529
12.1. The Software Life Cycle, 530
12.2. Discovering Classes, 536
12.3. Relationships Between Classes, 539
12.4. Case Study: Printing an Invoice, 544
12.5. Case Study: An Automatic Teller Machine, 556
Chapter 13. Recursion, 587
13.1. Triangle Numbers, 588
13.2. Permutations, 592
13.3. Recursive Helper Methods, 600
13.4. The Efficiency of Recursion, 602
13.5. Mutual Recursions, 611
Chapter 14. Sorting and Searching, 627
14.1. Selection Sort, 628
14.2. Profiling the Selection Sort Algorithm, 631
14.3. Analyzing the Performance of the Selection Sort Algorithm, 635
14.4. Merge Sort, 639
14.5. Analyzing the Merge Sort Algorithm, 642
14.6. Searching, 649
14.7. Binary Search, 651
14.8. Sorting Real Data, 654
Chapter 15. An Introduction to Data Structures, 665
15.1. Using Linked Lists, 666
15.2. Implementing Linked Lists, 671
15.3. Abstract and Concrete Data Types, 682
15.4. Stacks and Queues, 686
Chapter 16. Advanced Data Structures, 699
16.1. Sets, 700
16.2. Maps, 705
16.3. Hash Tables, 707
16.4. Computing Hash Codes, 715
16.5. Binary Search Trees, 720
16.6. Tree Traversal, 731
16.7. Using Tree Sets and Tree Maps, 735
16.8. Priority Queues, 739
16.9. Heaps, 740
16.10. The Heapsort Algorithm, 751
Chapter 17. Generic Programming, 765
17.1. Type Variables, 766
17.2. Implementing Generic Classes, 768
17.3. Generic Methods, 776
17.4. Constraining Type Variables, 777
17.5. Raw Types, 780
Chapter 18. Graphical User Interfaces (Advanced), 787
18.1G. Layout Management, 788
18.2G. Choices, 790
18.3G. Menus, 802
18.4G. Exploring the Swing Documentation, 808
Chapter 19. Files and Streams (Advanced), 819
19.1. Text and Binary Formats, 820
19.2. An Encryption Program, 822
19.3. Random Access, 827
19.4. Object Streams, 833
Chapter 20. Multithreading (Advanced), 845
20.1. Running Threads, 846
20.2. Terminating Threads, 852
20.3. Race Conditions, 855
20.4. Synchronizing Object Access, 861
20.5. Avoiding Deadlocks, 864
20.6G. Case Study: Algorithm Animation, 871
Chapter 21. Internet Networking (Advanced), 887
21.1. The Internet Protocol, 888
21.2. Application Level Protocols, 890
21.3. A Client Program, 894
21.4. A Server Program, 897
21.5. URL Connections, 905
Chapter 22. Relational Databases (Advanced), 915
22.1. Organizing Database Information, 916
22.2. Queries, 925
22.3. Installing a Database, 933
22.4. Database Programming in Java, 939
22.5. Case Study: A Bank Database, 947
Chapter 23. XML (Advanced), 961
23.1. XML Tags and Documents, 962
23.2. Parsing XML Documents, 972
23.3. Creating XML Documents, 981
23.4. Validating XML Documents, 988
Chapter 24. Web Applications (Advanced), 1009
24.1. The Architecture of a Web Application, 1010
24.2. The Architecture of a JSF Application, 1014
24.3. Deploying a JSF Application, 1017
24.4. JavaBeans Components, 1020
24.5. JSF Components, 1029
24.6. Navigation Between Pages, 1031
24.7. A Three-Tier Application, 1034
Appendix A. Java Language Coding Guidelines, 1049
Appendix B. The Basic Latin and Latin-1 Subsets of Unicode, 1057
Appendix C. The Java Library, 1060
Appendix D. Java Syntax Summary, 1107
Appendix E. Java Operator Summary, 1119
Appendix F. Java Keyword Summary, 1121
Appendix G. Metric Conversion Factors, 1124
Appendix H. HTML Summary, 1125
Appendix I. Tool Summary, 1130
Appendix J. javadoc Summary, 1133
Appendix K. Number Systems, 1136
Appendix L. Bit and Shift Operations, 1142
Appendix M. UML Summary, 1145
Glossary, 1147
Index, 1163
Illustration Credits, 1203
Please use the Print button in the CourseSmart Reader header.