

Think Java. How to Think Like a Computer



Think Java. How to Think Like a Computer - Najlepsze oferty
Think Java. How to Think Like a Computer - Opis
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. You...ll learn how to program-a useful skill by itself-but you...ll 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 you...ve 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. Spis treści:Preface
The Philosophy Behind the Book
Object-Oriented Programming
Changes to the Second Edition
About the Appendixes
Using the Code Examples
Conventions Used in This Book
OReilly (...) więcej Online Learning
How to Contact Us
Acknowledgments
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
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
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
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
5. Conditionals and Logic
Relational Operators
The if-else Statement
Chaining and Nesting
The switch Statement
Logical Operators
De Morgans Laws
Boolean Variables
Boolean Methods
Validating Input
Example Program
Vocabulary
Exercises
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
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
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
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
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
11. Designing Classes
The Time Class
Constructors
Value Constructors
Getters and Setters
Displaying Objects
The toString Method
The equals Method
Adding Times
Vocabulary
Exercises
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
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
14. Extending Classes
CardCollection
Inheritance
Dealing Cards
The Player Class
The Eights Class
Class Relationships
Vocabulary
Exercises
15. Arrays of Arrays
Conways 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
16. Reusing Classes
Langtons Ant
Refactoring
Abstract Classes
UML Diagram
Vocabulary
Exercises
17. Advanced Topics
Polygon Objects
Adding Color
Regular Polygons
More Constructors
An Initial Drawing
Blinking Polygons
Interfaces
Event Listeners
Timers
Vocabulary
Exercises
A. Tools
Installing DrJava
DrJava Interactions
Command-Line Interface
Command-Line Testing
Running Checkstyle
Tracing with a Debugger
Testing with JUnit
Vocabulary
B. Javadoc
Reading Documentation
Writing Documentation
Javadoc Tags
Example Source File
Vocabulary
C. Graphics
Creating Graphics
Graphics Methods
Example Drawing
Vocabulary
Exercises
D. Debugging
Compile-Time Errors
The compiler is spewing error messages.
Im getting a weird compiler message, and it wont go away.
I cant get my program to compile no matter what I do.
I did what the compiler told me to do, but it still doesnt work.
Run-Time Errors
My program hangs.
Infinite loop
Infinite recursion
Flow of execution
When I run the program, I get an exception.
I added so many print statements I get inundated with output.
Logic Errors
My program doesnt work.
Ive got a big, hairy expression and it doesnt do what I expect.
My method doesnt return what I expect.
My print statement isnt doing anything.
Im really, really stuck and I need help.
No, I really need help.
I found the bug!
Index mniej
Think Java. How to Think Like a Computer - Opinie i recenzje
Na liście znajdują się opinie, które zostały zweryfikowane (potwierdzone zakupem) i oznaczone są one zielonym znakiem Zaufanych Opinii. Opinie niezweryfikowane nie posiadają wskazanego oznaczenia.