Think Java

How to Think Like a Computer Scientist
 
 
O'Reilly (Verlag)
  • 2. Auflage
  • |
  • erschienen am 27. November 2019
  • |
  • 326 Seiten
 
E-Book | ePUB mit Adobe-DRM | Systemvoraussetzungen
978-1-4920-7245-4 (ISBN)
 
Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. Youll learn how to programa useful skill by itselfbut youll also discover how to use programming as a means to an end.Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming. Each brief chapter covers the material for one week of a college course and includes exercises to help you practice what youve learned.Learn one concept at a time: tackle complex topics in a series of small steps with examplesUnderstand how to formulate problems, think creatively about solutions, and write programs clearly and accuratelyDetermine which development techniques work best for you, and practice the important skill of debuggingLearn relationships among input and output, decisions and loops, classes and methods, strings and arraysWork on exercises involving word games, graphics, puzzles, and playing cardsThe updated second edition of Think Java also features new chapters on polymorphism and data processing, as well as content covering changes through Java 12.
  • Englisch
  • Sebastopol
  • |
  • USA
  • 5,55 MB
978-1-4920-7245-4 (9781492072454)
weitere Ausgaben werden ermittelt
  • Intro
  • Table of Contents
  • Preface
  • Acknowledgments
  • CHAPTER 1 Computer Programming
  • What Is a Computer?
  • What Is Programming?
  • The Hello World Program
  • Compiling Java Programs
  • Displaying Two Messages
  • Formatting Source Code
  • Using Escape Sequences
  • What Is Computer Science?
  • Debugging Programs
  • Vocabulary
  • Exercises
  • CHAPTER 2 Variables and Operators
  • Declaring Variables
  • Assigning Variables
  • Memory Diagrams
  • Printing Variables
  • Arithmetic Operators
  • Floating-Point Numbers
  • Rounding Errors
  • Operators for Strings
  • Compiler Error Messages
  • Other Types of Errors
  • Vocabulary
  • Exercises
  • CHAPTER 3 Input and Output
  • The System Class
  • The Scanner Class
  • Language Elements
  • Literals and Constants
  • Formatting Output
  • Reading Error Messages
  • Type Cast Operators
  • Remainder Operator
  • Putting It All Together
  • The Scanner Bug
  • Vocabulary
  • Exercises
  • CHAPTER 4 Methods and Testing
  • Defining New Methods
  • Flow of Execution
  • Parameters and Arguments
  • Multiple Parameters
  • Stack Diagrams
  • Math Methods
  • Composition
  • Return Values
  • Incremental Development
  • Vocabulary
  • Exercises
  • CHAPTER 5 Conditionals and Logic
  • Relational Operators
  • The if-else Statement
  • Chaining and Nesting
  • The switch Statement
  • Logical Operators
  • De Morgan's Laws
  • Boolean Variables
  • Boolean Methods
  • Validating Input
  • Example Program
  • Vocabulary
  • Exercises
  • CHAPTER 6 Loops and Strings
  • The while Statement
  • Increment and Decrement
  • The for Statement
  • Nested Loops
  • Characters
  • Which Loop to Use
  • String Iteration
  • The indexOf Method
  • Substrings
  • String Comparison
  • String Formatting
  • Vocabulary
  • Exercises
  • CHAPTER 7 Arrays and References
  • Creating Arrays
  • Accessing Elements
  • Displaying Arrays
  • Copying Arrays
  • Traversing Arrays
  • Generating Random Numbers
  • Building a Histogram
  • The Enhanced for Loop
  • Counting Characters
  • Vocabulary
  • Exercises
  • CHAPTER 8 Recursive Methods
  • Recursive Void Methods
  • Recursive Stack Diagrams
  • Value-Returning Methods
  • The Leap of Faith
  • Counting Up Recursively
  • Binary Number System
  • Recursive Binary Method
  • CodingBat Problems
  • Vocabulary
  • Exercises
  • CHAPTER 9 Immutable Objects
  • Primitives Versus Objects
  • The null Keyword
  • Strings Are Immutable
  • Wrapper Classes
  • Command-Line Arguments
  • Argument Validation
  • BigInteger Arithmetic
  • Incremental Design
  • More Generalization
  • Vocabulary
  • Exercises
  • CHAPTER 10 Mutable Objects
  • Point Objects
  • Objects as Parameters
  • Objects as Return Values
  • Rectangles Are Mutable
  • Aliasing Revisited
  • Java Library Source
  • Class Diagrams
  • Scope Revisited
  • Garbage Collection
  • Mutable Versus Immutable
  • StringBuilder Objects
  • Vocabulary
  • Exercises
  • CHAPTER 11 Designing Classes
  • The Time Class
  • Constructors
  • Value Constructors
  • Getters and Setters
  • Displaying Objects
  • The toString Method
  • The equals Method
  • Adding Times
  • Vocabulary
  • Exercises
  • CHAPTER 12 Arrays of Objects
  • Card Objects
  • Card toString
  • Class Variables
  • The compareTo Method
  • Cards Are Immutable
  • Arrays of Cards
  • Sequential Search
  • Binary Search
  • Tracing the Code
  • Vocabulary
  • Exercises
  • CHAPTER 13 Objects of Arrays
  • Decks of Cards
  • Shuffling Decks
  • Selection Sort
  • Merge Sort
  • Subdecks
  • Merging Decks
  • Adding Recursion
  • Static Context
  • Piles of Cards
  • Playing War
  • Vocabulary
  • Exercises
  • CHAPTER 14 Extending Classes
  • CardCollection
  • Inheritance
  • Dealing Cards
  • The Player Class
  • The Eights Class
  • Class Relationships
  • Vocabulary
  • Exercises
  • CHAPTER 15 Arrays of Arrays
  • Conway's Game of Life
  • The Cell Class
  • Two-Dimensional Arrays
  • The GridCanvas Class
  • Other Grid Methods
  • Starting the Game
  • The Simulation Loop
  • Exception Handling
  • Counting Neighbors
  • Updating the Grid
  • Vocabulary
  • Exercises
  • CHAPTER 16 Reusing Classes
  • Langton's Ant
  • Refactoring
  • Abstract Classes
  • UML Diagram
  • Vocabulary
  • Exercises
  • CHAPTER 17 Advanced Topics
  • Polygon Objects
  • Adding Color
  • Regular Polygons
  • More Constructors
  • An Initial Drawing
  • Blinking Polygons
  • Interfaces
  • Event Listeners
  • Timers
  • Vocabulary
  • Exercises
  • APPENDIX A Tools
  • Installing DrJava
  • DrJava Interactions
  • Command-Line Interface
  • Command-Line Testing
  • Running Checkstyle
  • Tracing with a Debugger
  • Testing with JUnit
  • Vocabulary
  • APPENDIX B Javadoc
  • Reading Documentation
  • Writing Documentation
  • Javadoc Tags
  • Example Source File
  • Vocabulary
  • APPENDIX C Graphics
  • Creating Graphics
  • Graphics Methods
  • Example Drawing
  • Vocabulary
  • Exercises
  • APPENDIX D Debugging
  • Compile-Time Errors
  • Run-Time Errors
  • Logic Errors
  • Index

Dateiformat: ePUB
Kopierschutz: Adobe-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Bitte beachten Sie bei der Verwendung der Lese-Software Adobe Digital Editions: wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

48,99 €
inkl. 5% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe-DRM
siehe Systemvoraussetzungen
E-Book bestellen