rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9781119625216

Big Java: Early Objects, 5th Edition [Rental Edition]

by
  • ISBN13:

    9781119625216

  • ISBN10:

    1119625211

  • Edition: 5th
  • Format: Hardcover
  • Copyright: 2019-08-06
  • Publisher: Wiley Rental
  • 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: $259.95
We're Sorry.
No Options Available at This Time.

Table of Contents

Preface iii

Special Features xxii

Chapter 1 Introduction 1

1.1 Computer Programs 2

1.2 The Anatomy of a Computer 3

1.3 The Java Programming Language 6

1.4 Becoming Familiar with Your Programming Environment 8

1.5 Analyzing Your First Program 12

1.6 Errors 15

1.7 Problem Solving: Algorithm Design 16

Chapter 2 Using Objects 33

2.1 Objects and Classes 34

2.2 Variables 36

2.3 Calling Methods 43

2.4 Constructing Objects 48

2.5 Accessor and Mutator Methods 50

2.6 The API Documentation 52

2.7 Implementing a Test Program 55

2.8 Object References 57

2.9 Graphical Applications 61

2.10 Ellipses, Lines, Text, and Color 66

Chapter 3 Implementing Classes 81

3.1 Instance Variables and Encapsulation 82

3.2 Specifying the Public Interface of a Class 86

3.3 Providing the Class Implementation 93

3.4 Unit Testing 102

3.5 Problem Solving: Tracing Objects 105

3.6 Local Variables 107

3.7 The this Reference 109

3.8 Shape Classes 112

Chapter 4 Fundamental Data Types 131

4.1 Numbers 132

4.2 Arithmetic 139

4.3 Input and Output 147

4.4 Problem Solving: First Do it By Hand 154

4.5 Strings 156

Chapter 5 Decisions 179

5.1 The if Statement 180

5.2 Comparing Values 186

5.3 Multiple Alternatives 196

5.4 Nested Branches 200

5.5 Problem Solving: Flowcharts 207

5.6 Problem Solving: Selecting Test Cases 210

5.7 Boolean Variables and Operators 213

5.8 Application: Input Validation 218

Chapter 6 Loops 241

6.1 The while Loop 242

6.2 Problem Solving: Hand-Tracing 249

6.3 The for Loop 254

6.4 The do Loop 262

6.5 Application: Processing Sentinel Values 263

6.6 Problem Solving: Storyboards 269

6.7 Common Loop Algorithms 272

6.8 Nested Loops 279

6.9 Application: Random Numbers and Simulations 283

6.10 Using a Debugger 286

Chapter 7 Arrays and Array Lists 311

7.1 Arrays 312

7.2 The Enhanced for Loop 321

7.3 Common Array Algorithms 322

7.4 Problem Solving: Adapting Algorithms 331

7.5 Problem Solving: Discovering Algorithms by Manipulating Physical Objects 336

7.6 Two-Dimensional Arrays 340

7.7 Array Lists 347

7.8 Regression Testing 356

Chapter 8 Designing Classes 379

8.1 Discovering Classes 380

8.2 Designing Good Methods 381

8.3 Problem Solving: Patterns for Object Data 390

8.4 Static Variables and Methods 395

8.5 Packages 400

8.6 Unit Test Frameworks 407

Chapter 9 Inheritance 421

9.1 Inheritance Hierarchies 422

9.2 Implementing Subclasses 426

9.3 Overriding Methods 431

9.4 Polymorphism 437

9.5 Object: The Cosmic Superclass 448

Chapter 10 Interfaces 463

10.1 Using Interfaces for Algorithm Reuse 464

10.2 Working with Interface Variables 471

10.3 The Comparable Interface 473

10.4 Using Interfaces for Callbacks 477

10.5 Inner Classes 481

10.6 Mock Objects 483

10.7 Event Handling 484

10.8 Building Applications with Buttons 490

10.9 Processing Timer Events 494

10.10 Mouse Events 497

Chapter 11 Input/Output and Exception Handling 513

11.1 Reading and Writing Text Files 514

11.2 Text Input and Output 519

11.3 Command Line Arguments 527

11.4 Exception Handling 534

11.5 Application: Handling Input Errors 545

Chapter 12 Object-Oriented Design 559

12.1 Classes and Their Responsibilities 560

12.2 Relationships Between Classes 563

12.3 Application: Printing an Invoice 569

Chapter 13 Recursion 587

13.1 Triangle Numbers 588

13.2 Recursive Helper Methods 596

13.3 The Efficiency of Recursion 598

13.4 Permutations 603

13.5 Mutual Recursion 608

13.6 Backtracking 614

Chapter 14 Sorting and Searching 629

14.1 Selection Sort 630

14.2 Profiling the Selection Sort Algorithm 633

14.3 Analyzing the Performance of the Selection Sort Algorithm 636

14.4 Merge Sort 641

14.5 Analyzing the Merge Sort Algorithm 644

14.6 Searching 648

14.7 Problem Solving: Estimating the Running Time of an Algorithm 653

14.8 Sorting and Searching in the Java Library 658

Chapter 15 The Java Collections Framework 671

15.1 An Overview of the Collections Framework 672

15.2 Linked Lists 675

15.3 Sets 681

15.4 Maps 686

15.5 Stacks, Queues, and Priority Queues 692

15.6 Stack and Queue Applications 695

Chapter 16 Basic Data Structures 715

16.1 Implementing Linked Lists 716

16.2 Implementing Array Lists 731

16.3 Implementing Stacks and Queues 735

16.4 Implementing a Hash Table 741

Chapter 17 Tree Structures 761

17.1 Basic Tree Concepts 762

17.2 Binary Trees 766

17.3 Binary Search Trees 771

17.4 Tree Traversal 780

17.5 Red-Black Trees 786

17.6 Heaps 793

17.7 The Heapsort Algorithm 804

Chapter 18 Generic classes 819

18.1 Generic Classes and Type Parameters 820

18.2 Implementing Generic Types 821

18.3 Generic Methods 825

18.4 Constraining Type Parameters 827

18.5 Type Erasure 831

Chapter 19 Graphical User Interfaces 841

19.1 Layout Management 842

19.2 Processing Text Input 846

19.3 Choices 852

19.4 Menus 863

19.5 Exploring the Swing Documentation 869

Chapter 20 Streams and Binary Input/Output 881

20.1 Readers, Writers, and Streams 882

20.2 Binary Input and Output 883

20.3 Random Access 887

20.4 Object Streams 893

Chapter 21 Multithreading (Web Only)

21.1 Running Threads

21.2 Terminating Threads

21.3 Race Conditions

21.4 Synchronizing Object Access

21.5 Avoiding Deadlocks

21.6 Application: Algorithm Animation

Chapter 22 Internet Networking (Web Only)

22.1 The Internet Protocol

22.2 Application Level Protocols

22.3 A Client Program

22.4 A Server Program

22.5 URL Connections

Chapter 23 Relational databases (Web Only)

23.1 Organizing Database Information

23.2 Queries

23.3 Installing a Database

23.4 Database Programming in Java

23.5 Application: Entering an Invoice XML (Web Only)

Chapter 24 XML (Web Only)

24.1 XML Tags and Documents

24.2 Parsing XML Documents

24.3 Creating XML Documents

24.4 Validating XML Documents

Chapter 25 Web Applications (Web Only)

25.1 The Architecture of a Web Application

25.2 The Architecture of a JSF Application

25.3 JavaBeans Components

25.4 Navigation Between Pages

25.5 JSF Components

25.6 A Three-Tier Application

Appendices

Appendix A The Basic Latin And Latin-1 Subsets of Unicode A-1

Appendix B JAVA Operator Summary A-5

Appendix C JAVA Reserved Word Summary A-7

Appendix D The Java Library A-9

Appendix E Java Syntax Summary A-53

Appendix F Tool Summary A-64

Appendix G Number Systems A-68

Appendix H Uml Summary A-76

Appendix I Java Language Coding Guidelines A-79

Appendix J HTML Summary A-86

Glossary G-1

Index I-1

Credits C-1

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