Wiley.com
Print this page Share
Textbook

Big Java: Early Objects, 6e

June 2016, ©2015
Big Java: Early Objects, 6e (EHEP003420) cover image

Description

Cay Horstmann's sixth edition of Big Java, Early Objects provides an approachable introduction to fundamental programming techniques and design skills, helping students master basic concepts and become competent coders. Updates for the Java 8 software release and additional visual design elements make this student-friendly text even more engaging. The text is known for its realistic programming examples, great quantity and variety of homework assignments, and programming exercises that build student problem-solving abilities. This edition now includes problem solving sections, more example code online, and exercise from Science and Business. This text is an unbound, three hole punched version.

See More

Table of Contents

Chapter 1: Introduction 

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  7

1.5 Analyzing Your First Program  11

1.6 Errors  14

1.7 Problem Solving: Algorithm Design  15

 

Chapter 2: Using Objects

2.1 Objects and Classes  32

2.2 Variables  34

2.3 Calling Methods  41

2.4 Constructing Objects  46

2.5 Accessor and Mutator Methods  48

2.6 The API Documentation  50

2.7T Implementing a Test Program  53

2.8 Object References  55

2.9G Graphical Applications  59

2.10G Ellipses, Lines, Text, and Color  64

 

Chapter 3: Implementing Classes

3.1 Instance Variables and Encapsulation  80

3.2 Specifying the Public Interface of a Class  84

3.3 Providing the Class Implementation  91

3.4T Unit Testing  100

3.5 Problem Solving: Tracing Objects  103

3.6 Local Variables  105

3.7 The this Reference   107

3.8G Shape Classes  110

 

 

Chapter 4: Fundamental Data Types

4.1 Numbers  130

4.2 Arithmetic  137

4.3 Input and Output  145

4.4 Problem Solving: First Do It By Hand  152

4.5 Strings  154

 

Chapter 5: Decisions

5.1 The if Statement  178

5.2 Comparing Values  183

5.3 Multiple Alternatives  193

5.4 Nested Branches  196

5.5 Problem Solving: Flowcharts  203

5.6T Problem Solving: Selecting Test Cases  206

5.7 Boolean Variables and Operators  209

5.8 Application: Input Validation  214

 

Chapter 6: Loops

6.1 The while Loop  238

6.2 Problem Solving: Hand-Tracing  245

6.3 The for Loop  250

6.4 The do Loop  258

6.5 Application: Processing Sentinel Values  259

6.6 Problem Solving: Storyboards  265

6.7 Common Loop Algorithms  268

6.8 Nested Loops  275

6.9 Application: Random Numbers and Simulations  279

6.10T Using a Debugger  282

 

Chapter 7: Arrays and Array Lists

7.1 Arrays  308

7.2 The Enhanced for Loop  317

7.3 Common Array Algorithms  318

7.4 Problem Solving: Adapting Algorithms  327

7.5 Problem Solving: Discovering Algorithms by Manipulating Physical Objects  332

7.6 Two-Dimensional Arrays  336

7.7 Array Lists  343

7.8T Regression Testing  352

 

Chapter 8: Designing Classes

8.1  Discovering Classes  376

8.2 Designing Good Methods  377

8.3 Problem Solving: Patterns for Object Data  386

8.4 Static Variables and Methods  391

8.5 Problem Solving: Solve a Simpler Problem First  395

8.6 Packages  400

8.7T Unit Test Frameworks  405

 

Chapter 9: Inheritance

9.1 Inheritance Hierarchies  424

9.2 Implementing Subclasses  428

9.3 Overriding Methods  433

9.4 Polymorphism  439

9.5 Object: The Cosmic Superclass  450

 

Chapter 10: Interfaces

10.1 Using Interfaces for Algorithm Reuse  466

10.2 Working with Interface Types  475

10.3 The Comparable Interface  477

10.4 Using Interfaces for Callbacks  482

10.5 Inner Classes  487

10.6T Mock Objects  489

10.7G Event Handling  490

10.8G Building Applications with Buttons  496

10.9G Processing Timer Events  499

10.10G Mouse Events  502

 

Chapter 11: Input/Output and Exception Handling

11.1 Reading and Writing Text Files  520

11.2 Text Input and Output  525

11.3 Command-Line Arguments  533

11.4 Exception Handling  540

11.5 Application: Handling Input Errors  549

 

Chapter 12: Object-Oriented Design

12.1 Classes and Their Responsibilities  566

12.2  Relationships Between Classes  569

12.3 Application: Printing an Invoice  575

 

Chapter 13: Recursion

13.1 Triangle Numbers  594

13.2 Recursive Helper Methods  602

13.3 The Efficiency of Recursion  604

13.4 Permutations  609

13.5 Mutual Recursion  614

13.6 Backtracking  620

 

Chapter 14: Sorting and Searching

14.1 Selection Sort  636

14.2 Profiling the Selection Sort Algorithm  639

14.3 Analyzing the Performance of the Selection Sort Algorithm  642

14.4 Merge Sort  647

14.5 Analyzing the Merge Sort Algorithm  650

14.6 Searching  654

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

14.8 Sorting and Searching in the Java Library  664

 

Chapter 15: The Java Collections Framework

15.1 An Overview of the Collections Framework  678

15.2 Linked Lists  681

15.3 Sets  687

15.4 Maps  692

15.5 Stacks, Queues, and Priority Queues  698

15.6 Stack and Queue Applications  701

 

Chapter 16: Basic Data Structures

16.1 Implementing Linked Lists  722

16.2 Implementing Array Lists  737

16.3 Implementing Stacks and Queues  741

16.4 Implementing a Hash Table  747

 

Chapter 17: Tree Structures

17.1 Basic Tree Concepts  766

17.2 Binary Trees  770

17.3 Binary Search Trees  775

17.4 Tree Traversal  784

17.5 Red-Black Trees  790

17.6 Heaps  797

17.7 The Heapsort Algorithm  808

 

Chapter 18: Generic Classes

18.1 Generic Classes and Type Parameters  824

18.2 Implementing Generic Types  825

18.3 Generic Methods  829

18.4 Constraining Type Parameters  831

18.5 Type Erasure  835

 

Chapter 19: Stream Processing

19.1 The Stream Concept  846

19.2 Producing Streams  848

19.3 Collecting Results  850

19.4 Transforming Streams  852

19.5 Lambda Expressions  855

19.6 The Optional Type  859

19.7 Other Terminal Operations  862

19.8 Primitive-Type Streams  863

19.9 Grouping Results  866

19.10 Common Algorithms Revisited  868

 

Chapter 20: Graphical User Interfaces

20.1G Layout Management  884

20.2G Processing Text Input  888

20.3G Choices  894

20.4G Menus  905

20.5G Exploring the Swing Documentation  911

 

Chapter 21: Advanced Input/Output (Web Only)

21.1  Readers, Writers, and Streams  924

21.2 Binary Input and Output  925

21.3 Random Access  929

21.4 Object Input and Output Streams  934

21.5 File and Directory Operations  939

 

Chapter 22: Multithreading (Web Only)

22.1 Running Threads  W904

22.2 Terminating Threads  W909

22.3 Race Conditions  W911

22.4 Synchronizing Object Access  W917

22.5 Avoiding Deadlocks  W919

22.6 Application: Algorithm Animation  W926

 

Chapter 23: Internet Networking (Web Only)

23.1 The Internet Protocol  W942

23.2 Application Level Protocols  W944

23.3 A Client Program  W947

23.4 A Server Program  W950

23.5 URL Connections  W958

 

Chapter 24: Relational Databases (Web Only)

24.1 Organizing Database Information  W968

24.2 Queries  W975

24.3 Installing a Database  W982

24.4 Database Programming in Java  W986

24.5 Application: Entering an Invoice  W994

 

Chapter 25: XML (Web Only)

25.1 XML Tags and Documents  W1016

25.2 Parsing XML Documents  W1023

25.3 Creating XML Documents  W1028

25.4 Validating Xml Documents  W1037

 

Chapter 26: Web Applications (Web Only)

26.1 The Architecture of a Web Application  W1056

26.2 The Architecture of a JSF Application  W1058

26.3 JavaBeans Components  W1064

26.4 Navigation Between Pages  W1065

26.5 JSF Components  W1072

26.6 A Three-Tier Application  W1074

 

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-39

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

INDEX

CREDITS

See More

New To This Edition

Updated for the Diamond Syntax and Java 8 software release. A greater emphasis on problem solving with practical step-by-step illustrations of techniques that can help students devise and evaluate solutions to programming problems.
A new visual approach that motivates the reader and eases navigation including photographs, step-by-step figures, syntax boxes, and example tables. New exercises from science and business engage students with real world applications of Java in different industries.
An early introduction to object-oriented programming techniques, beginning in Chapter 2, provides extensive practice with objects and classes before students are asked to write their own classes. Horstmann’s clear explanations follow the beginner’s thinking process, providing examples and analogies, and anticipating where they may get confused or make mistakes.
The Testing Track identifies and emphasizes the test-driven approach to programming. The Graphics Track integrates optional graphics material into the chapters where it best fits. Self-Check Questions test understanding, not memorization, and can be used as springboards to a deeper discussion of key concepts in each section.
Nearly two hundred programming problems are available in Code Check with instructive feedback and automated grading for students.

This is a three-hole punched, unbound edition.

See More

The Wiley Advantage

An early introduction to object-oriented programming techniques, beginning in Chapter 2, provides extensive practice with objects and classes before students are asked to write their own classes.

Horstmann’s clear explanations follow the beginner’s thinking process, providing examples and analogies, and anticipating where they may get confused.

Self-Check Questions test understanding, not memorization, and can be used as springboards to a deeper discussion of key concepts in each section.

This is a three-hole punched, unbound edition.

See More
Instructors Resources
Wiley Instructor Companion Site
Test Bank
Test your students' comprehension with this digital collection of fill-in-the-blank, multiple-choice, true/false, and free-response questions.
Instructor's Resource Manual
Offers helpful teaching ideas, advice on course development, sample assignments, learning objectives, lecture outlines, class exercises, lecture notes, chapter reviews, and more!
PowerPoint Presentations
Our PowerPoint presentations contain a combination of key concepts allowing you to illustrate important topics with images, figures, and problems from the textbook.
Image Gallery
Use this digital repository of images displayed throughout the textbook to enliven your PowerPoint slides and interact with the reading assignments in the classroom.
Source Code
Source Code from examples in the text.
Worked Examples
Transition Guide
ENHANCE YOUR COURSE
Digital evaluation copy available for this title
Request Copy
Contact your Wiley Representative
Find Your Rep
See More
See Less
Students Resources
Wiley Student Companion Site
Source Code
Source Code from examples in the text.
Worked Examples
See More
See Less
Purchase Options
Wiley E-Text   
Big Java: Early Objects, Interactive Edition, 6th Edition
ISBN : 978-1-119-14159-4
1040 pages
December 2015, ©2015
$62.50   BUY

Loose-leaf   
Big Java: Early Objects, Binder Ready Version, 6th Edition
ISBN : 978-1-119-05644-7
1040 pages
June 2016, ©2015
$111.95   BUY

Related Titles

Back to Top