close menu
Bookswagon-24x7 online bookstore
close menu
My Account
6%
Big Java: Early Objects, EMEA Edition

Big Java: Early Objects, EMEA Edition

          
5
4
3
2
1

International Edition


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Quantity:
Add to Wishlist

About the Book

Big Java: Early Objects, 7e focuses on the essentials of effective learning and is suitable for a two-semester introduction to programming sequence. The text requires no prior programming experience and only a modest amount of high school algebra. Objects and classes from the standard library are used where appropriate in early sections with coverage on object oriented design starting in Chapter 8. This gradual approach allows students to use objects throughout their study of the core algorithmic topics, without teaching bad habits that must be un-learned later. The second half covers algorithms and data structures at a level suitable for beginning students.



Table of Contents:

Preface iii

Special Features xxiv

1 Introduction 1

1.1 Computer Programs 2

1.2 The Anatomy of a Computer 3

1.3 The Java Programming Language 5

1.4 Becoming Familiar with Your Programming Environment 7

1.5 Analyzing Your First Program 11

1.6 Errors 13

1.7 PROBLEM SOLVING Algorithm Design 15

The Algorithm Concept 15

An Algorithm for Solving an Investment Problem 16

Pseudocode 17

From Algorithms to Programs 18

2 Using Objects 23

2.1 Objects and Classes 24

Using Objects 24

Classes 25

2.2 Variables 26

Variable Declarations 26

Types 28

Names 29

Comments 30

Assignment 30

2.3 Calling Methods 33

The Public Interface of a Class 33

Method Arguments 34

Return Values 35

Method Declarations 36

2.4 Constructing Objects 38

2.5 Accessor and Mutator Methods 40

2.6 The API Documentation 41

Browsing the API Documentation 41

Packages 43

2.7 Implementing a Test Program 44

2.8 Object References 46

2.9 Graphical Applications 49

Frame Windows 50

Drawing on a Component 51

Displaying a Component in a Frame 53

2.10 Ellipses, Lines, Text, and Color 54

Ellipses and Circles 54

Lines 55

Drawing Text 56

Colors 56

3 Implementing Classes 61

3.1 Instance Variables and Encapsulation 62

Instance Variables 62

The Methods of the Counter Class 64

Encapsulation 64

3.2 Specifying the Public Interface of a Class 66

Specifying Methods 66

Specifying Constructors 67

Using the Public Interface 69

Commenting the Public Interface 69

3.3 Providing the Class Implementation 72

Providing Instance Variables 72

Providing Constructors 73

Providing Methods 75

3.4 Unit Testing 81

3.5 PROBLEM SOLVING Tracing Objects 84

3.6 Local Variables 86

3.7 The this Reference 88

3.8 Shape Classes 90

4 Fundamental Data Types 99

4.1 Numbers 100

Number Types 100

Constants 102

4.2 Arithmetic 107

Arithmetic Operators 107

Increment and Decrement 107

Integer Division and Remainder 108

Powers and Roots 109

Converting Floating-Point Numbers to Integers 110

4.3 Input and Output 114

Reading Input 114

Formatted Output 115

4.4 PROBLEM SOLVING First Do it By Hand 121

4.5 Strings 122

The String Type 122

Concatenation 123

String Input 124

Escape Sequences 124

Strings and Characters 124

Substrings 125

5 Decisions 131

5.1 The if Statement 132

5.2 Comparing Values 137

Relational Operators 138

Comparing Floating-Point Numbers 139

Comparing Strings 140

Comparing Objects 141

Testing for null 141

5.3 Multiple Alternatives 146

5.4 Nested Branches 149

5.5 PROBLEM SOLVING Flowcharts 156

5.6 PROBLEM SOLVING Selecting Test Cases 159

5.7 Boolean Variables and Operators 161

Operators 165

5.8 APPLICATION Input Validation 166

6 Loops 171

6.1 The while Loop 172

6.2 PROBLEM SOLVING Hand-Tracing 179

6.3 The for Loop 183

Header 189

6.4 The do Loop 190

6.5 APPLICATION Processing Sentinel Values 192

6.6 PROBLEM SOLVING Storyboards 197

6.7 Common Loop Algorithms 199

Sum and Average Value 199

Counting Matches 200

Finding the First Match 200

Prompting Until a Match is Found 201

Maximum and Minimum 201

Comparing Adjacent Values 202

6.8 Nested Loops 206

6.9 APPLICATION Random Numbers and Simulations 209

Generating Random Numbers 210

The Monte Carlo Method 211

6.10 Using a Debugger 213

7 Arrays and Array Lists 221

7.1 Arrays 222

Declaring and Using Arrays 222

Array References 225

Using Arrays with Methods 226

Partially Filled Arrays 226

Arguments 229

7.2 The Enhanced for Loop 230

7.3 Common Array Algorithms 232

Filling 232

Sum and Average Value 232

Maximum and Minimum 232

Element Separators 232

Linear Search 233

Removing an Element 234

Inserting an Element 234

Swapping Elements 236

Copying Arrays 237

Reading Input 238

7.4 PROBLEM SOLVING Adapting Algorithms 240

7.5 PROBLEM SOLVING Discovering Algorithms by Manipulating Physical Objects 245

7.6 Two-Dimensional Arrays 248

Declaring Two-Dimensional Arrays 248

Accessing Elements 249

Locating Neighboring Elements 250

Accessing Rows and Columns 251

Two-Dimensional Array Parameters 252

7.7 Array Lists 255

Declaring and Using Array Lists 255

Using the Enhanced for Loop with Array Lists 258

Copying Array Lists 259

Wrappers and Auto-boxing 259

Using Array Algorithms with Array Lists 260

Storing Input Values in an Array List 261

Removing Matches 261

Choosing Between Array Lists and Arrays 262

7.8 Regression Testing 264

8 Designing Classes 271

8.1 Discovering Classes 272

8.2 Designing Good Methods 273

Providing a Cohesive Public Interface 273

Minimizing Dependencies 274

Separating Accessors and Mutators 275

Minimizing Side Effects 276

8.3 PROBLEM SOLVING Patterns for Object Data 282

Keeping a Total 282

Counting Events 283

Collecting Values 283

Managing Properties of an Object 284

Modeling Objects with Distinct States 284

Describing the Position of an Object 285

8.4 Static Variables and Methods 286

8.5 PROBLEM SOLVING Solve a Simpler Problem First 291

8.6 Packages 295

Organizing Related Classes into Packages 295

Importing Packages 296

Package Names 297

Packages and Source Files 297

8.7 Unit Test Frameworks 300

9 Inheritance 305

9.1 Inheritance Hierarchies 306

9.2 Implementing Subclasses 310

9.3 Overriding Methods 314

9.4 Polymorphism 319

9.5 Object: The Cosmic Superclass 330

Overriding the toString Method 330

The equals Method 332

The instanceof Operator 333

10 Interfaces 339

10.1 Using Interfaces for Algorithm Reuse 340

Discovering an Interface Type 340

Declaring an Interface Type 341

Implementing an Interface Type 343

Comparing Interfaces and Inheritance 345

10.2 Working with Interface Variables 348

Converting from Classes to Interfaces 348

Invoking Methods on Interface Variables 349

Casting from Interfaces to Classes 349

10.3 The Comparable Interface 350

Interface 352

10.4 Using Interfaces for Callbacks 355

10.5 Inner Classes 360

10.6 Mock Objects 361

10.7 Event Handling 363

Listening to Events 363

Using Inner Classes for Listeners 365

10.8 Building Applications with Buttons 368

10.9 Processing Timer Events 371

10.10 Mouse Events 374

11 Input/Output and Exception Handling 383

11.1 Reading and Writing Text Files 384

11.2 Text Input and Output 389

Reading Words 389

Reading Characters 390

Classifying Characters 390

Reading Lines 390

Scanning a String 392

Converting Strings to Numbers 392

Avoiding Errors When Reading Numbers 392

Mixing Number, Word, and Line Input 393

Formatting Output 394

11.3 Command Line Arguments 396

11.4 Exception Handling 403

Throwing Exceptions 403

Catching Exceptions 405

Checked Exceptions 407

Closing Resources 409

Designing Your Own Exception Types 410

11.5 APPLICATION Handling Input Errors 412

12 Object-Oriented Design 419

12.1 Classes and Their Responsibilities 420

Discovering Classes 420

The CRC Card Method 421

12.2 Relationships Between Classes 423

Dependency 423

Aggregation 424

Inheritance 425

12.3 APPLICATION Printing an Invoice 428

Requirements 429

CRC Cards 429

UML Diagrams 432

Method Documentation 432

Implementation 434

13 Recursion 443

13.1 Triangle Numbers 444

13.2 Recursive Helper Methods 452

13.3 The Efficiency of Recursion 453

13.4 Permutations 459

13.5 Mutual Recursion 463

13.6 Backtracking 469

14 Sorting and Searching 477

14.1 Selection Sort 478

14.2 Profiling the Selection Sort Algorithm 481

14.3 Analyzing the Performance of the Selection Sort Algorithm 484

14.4 Merge Sort 488

14.5 Analyzing the Merge Sort Algorithm 491

14.6 Searching 495

Linear Search 495

Binary Search 497

14.7 PROBLEM SOLVING Estimating the Running Time of an Algorithm 500

Linear Time 500

Quadratic Time 501

The Triangle Pattern 502

Logarithmic Time 503

14.8 Sorting and Searching in the Java Library 504

Sorting 504

Binary Search 505

Comparing Objects 505

15 The Java Collections Framework 511

15.1 An Overview of the Collections Framework 512

15.2 Linked Lists 514

The Structure of Linked Lists 515

The LinkedList Class of the Java Collections Framework 516

List Iterators 516

15.3 Sets 520

Choosing a Set Implementation 520

Working with Sets 522

15.4 Maps 525

15.5 Stacks, Queues, and Priority Queues 531

Stacks 531

Queues 532

Priority Queues 533

15.6 Stack and Queue Applications 534

Balancing Parentheses 534

Evaluating Reverse Polish Expressions 535

Evaluating Algebraic Expressions 537

Backtracking 540

Customers 543

16 Basic Data Structures 545

16.1 Implementing Linked Lists 546

The Node Class 546

Adding and Removing the First Element 547

The Iterator Class 548

Advancing an Iterator 549

Removing an Element 550

Adding an Element 552

Setting an Element to a Different Value 553

Efficiency of Linked List Operations 553

16.2 Implementing Array Lists 560

Getting and Setting Elements 560

Removing or Adding Elements 562

Growing the Internal Array 563

16.3 Implementing Stacks and Queues 564

Stacks as Linked Lists 565

Stacks as Arrays 566

Queues as Linked Lists 567

Queues as Circular Arrays 568

16.4 Implementing a Hash Table 570

Hash Codes 570

Hash Tables 570

Finding an Element 572

Adding and Removing Elements 572

Iterating over a Hash Table 573

17 Tree Structures 581

17.1 Basic Tree Concepts 582

17.2 Binary Trees 585

Binary Tree Examples 586

Balanced Trees 588

A Binary Tree Implementation 589

17.3 Binary Search Trees 590

The Binary Search Property 591

Insertion 592

Removal 594

Efficiency of the Operations 595

17.4 Tree Traversal 599

Inorder Traversal 599

Preorder and Postorder Traversals 601

The Visitor Pattern 602

Depth-First and Breadth-First Search 603

Tree Iterators 604

17.5 Red-Black Trees 605

Basic Properties of Red-Black Trees 605

Insertion 607

Removal 608

17.6 Heaps 612

17.7 The Heapsort Algorithm 622

18 Generic Classes 629

18.1 Generic Classes and Type Parameters 630

18.2 Implementing Generic Types 631

18.3 Generic Methods 634

18.4 Constraining Type Parameters 636

18.5 Type Erasure 639

19 Stream Processing 645

19.1 The Stream Concept 646

19.2 Producing Streams 648

19.3 Collecting Results 649

19.4 Transforming Streams 652

19.5 Lambda Expressions 654

19.6 The Optional Type 659

19.7 Other Terminal Operations 661

19.8 Primitive-Type Streams 663

Creating Primitive-Type Streams 663

Mapping a Primitive-Type Stream 663

Processing Primitive-Type Streams 664

19.9 Grouping Results 665

19.10 Common Algorithms Revisited 667

Filling 667

Sum, Average, Maximum, and Minimum 668

Counting Matches 668

Element Separators 668

Linear Search 669

Comparing Adjacent Values 669

20 Graphical User Interfaces 675

20.1 Layout Management 676

Using Layout Managers 676

Achieving Complex Layouts 677

Using Inheritance to Customize Frames 678

20.2 Processing Text Input 680

Text Fields 680

Text Areas 682

20.3 Choices 685

Radio Buttons 685

Check Boxes 687

Combo Boxes 687

20.4 Menus 695

20.5 Exploring the Swing Documentation 702

21 Advanced Input/Output* (Etext Only)

21.1 Readers, Writers, and Input/Output Streams

21.2 Binary Input and Output

21.3 Random Access

21.4 Object Input and Output Streams

21.5 File and Directory Operations Paths

Creating and Deleting Files and Directories

Useful File Operations

Visiting Directories

22 Multithreading* (Etext Only)

22.1 Running Threads

22.2 Terminating Threads

22.3 Race Conditions

22.4 Synchronizing Object Access

22.5 Avoiding Deadlocks

22.6 APPLICATION Algorithm Animation

23 Internet Networking* (Etext Only)

23.1 The Internet Protocol

23.2 Application Level Protocols

23.3 A Client Program

23.4 A Server Program

23.5 URL Connections

24 Relational Databases* (Etext Only)

24.1 Organizing Database Information

Database Tables

Linking Tables

Implementing Multi-Valued Relationships

24.2 Queries

Simple Queries

Selecting Columns

Selecting Subsets

Calculations

Joins

Updating and Deleting Data

24.3 Installing a Database

24.4 Database Programming in Java

Connecting to the Database

Executing SQL Statements

Analyzing Query Results

Result Set Metadata

24.5 APPLICATION Entering an Invoice

25 XML* (Etext Only)

25.1 XML Tags and Documents

Advantages of XML

Differences Between XML and HTML

The Structure of an XML Document

25.2 Parsing XML Documents

25.3 Creating XML Documents

25.4 Validating XML Documents

Document Type Definitions

Specifying a DTD in an XML Document

Parsing and Validation

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 Language Coding Guidelines A-38

Appendix F Tool Summary (Etext Only)

Appendix G Number Systems (Etext Only)

Appendix H UML Summary (Etext Only)

Appendix I JAVA Syntax Summary (Etext Only)

Appendix J Html Summary (Etext Only)

Glossary G-1

Index I-1

Credits C-1

Quick Reference C-3


Best Seller

| | See All


Product Details
  • ISBN-13: 9781119588887
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Height: 10 mm
  • No of Pages: 1024
  • Sub Title: Early Objects, EMEA Edition
  • Width: 10 mm
  • ISBN-10: 111958888X
  • Publisher Date: 14 May 2019
  • Binding: Paperback
  • Language: English
  • Spine Width: 10 mm
  • Weight: 1832 gr


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Big Java: Early Objects, EMEA Edition
John Wiley & Sons Inc -
Big Java: Early Objects, EMEA Edition
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Big Java: Early Objects, EMEA Edition

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    | | See All


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA