Big Java
Home > Computing and Information Technology > Computer programming / software engineering > Big Java: Early Objects
Big Java: Early Objects

Big Java: Early Objects


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Big Java: Early Objects, 7th Edition focuses on the essentials of effective learning and is suitable for a two-semester introduction to programming sequence. This 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. Choosing the enhanced eText format allows students to develop their coding skills using targeted, progressive interactivities designed to integrate with the eText. All sections include built-in activities, open-ended review exercises, programming exercises, and projects to help students practice programming and build confidence. These activities go far beyond simplistic multiple-choice questions and animations. They have been designed to guide students along a learning path for mastering the complexities of programming. Students demonstrate comprehension of programming structures, then practice programming with simple steps in scaffolded settings, and finally write complete, automatically graded programs. The perpetual access VitalSource Enhanced eText, when integrated with your school's learning management system, provides the capability to monitor student progress in VitalSource SCORECenter and track grades for homework or participation. *Enhanced eText and interactive functionality available through select vendors and may require LMS integration approval for SCORECenter.

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 Sellers


Product Details
  • ISBN-13: 9781119635659
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Height: 257 mm
  • No of Pages: 1024
  • Sub Title: Early Objects
  • Width: 201 mm
  • ISBN-10: 1119635659
  • Publisher Date: 06 Aug 2019
  • Binding: Hardback
  • Language: English
  • Spine Width: 36 mm
  • Weight: 1613 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Big Java: Early Objects
John Wiley & Sons Inc -
Big Java: Early Objects
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

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


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!