skip to content
Head first Java Preview this item
ClosePreview this item
Checking...

Head first Java

Author: Kathy Sierra; Bert Bates
Publisher: Sebastopol, CA : O'Reilly, 2005.
Edition/Format:   Print book : English : 2nd edView all editions and formats
Summary:
Learning a complex new language is no easy task, especially when it's an object-oriented computer programming language like Java. Your brain doesn't always want to take in the dry, technical stuff you're forced to study. Your brain craves novelty. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. Despite its  Read more...
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: Kathy Sierra; Bert Bates
ISBN: 9780596009205 0596009208 9781435291799 1435291794
OCLC Number: 57683611
Notes: Includes index.
Description: xxxii, 688 pages : illustrations ; 24 cm
Contents: Breaking the Surface --
The way Java works --
Code structure in Java --
Anatomy of a class --
The main() method --
Looping --
Conditional branching (if tests) --
Coding the "99 bottles of beer" app --
Phrase-o-matic --
Fireside chat: compiler vs. JVM --
A Trip to Objectville --
Chair Wars (Brad the OO guy vs. Larry the procedural guy) --
Inheritance (an introduction) --
Overriding methods (an introduction) --
What's in a class? (methods, instance variables) --
Making your first object --
Using main() --
Guessing Game code --
Know Your Variables --
Declaring a variable (Java cares about type) --
Primitive types ("I'd like a double with extra foam, please") --
Java keywords --
Reference variables (remote control to an object) --
Object declaration and assignment --
Objects on the garbage-collectible heap --
Arrays (a first look) --
How Objects Behave --
Methods use object state (bark different) --
Method arguments and return types --
Pass-by-value (the variable is always copied) --
Getters and Setters --
Encapsulation (do it or risk humiliation) --
Using references in an array --
Extra-Strength Methods --
Building the Sink a Dot Com game --
Starting with the Simple Dot Com game (a simpler version) --
Writing prepcode (pseudocode for the game) --
Test code for Simple Dot Com --
Coding the Simple Dot Com game --
Final code for Simple Dot Com --
Generating random numbers with Math.random() --
Ready-bake code for getting user input from the command-line --
Looping with for loops --
Casting primitives from a large size to a smaller size --
Converting a String to an int with Integer.parseInt() --
Using the Java Library --
Analyzing the bug in the Simple Dot Com Game --
ArrayList (taking advantage of the Java API) --
Fixing the DotCom class code --
Building the real game (Sink a Dot Com) --
Prepcode for the real game --
Code for the real game --
boolean expressions --
Using the library (Java API) --
Using packages (import statements, fully-qualified names) --
Using the HTML API docs and reference books --
Better Living in Objectville --
Understanding inheritance (superclass and subclass relationships) --
Designing an inheritance tree (the Animal simulation) --
Avoiding duplicate code (using inheritance) --
Overriding methods --
IS-A and HAS-A (bathtub girl) --
What do you inherit from your superclass? --
What does inheritance really buy you? --
Polymorphism (using a supertype reference to a subclass object) --
Rules for overriding (don't touch those arguments and return types!) --
Method overloading (nothing more than method name re-use) --
Serious Polymorphism --
Some classes just should not be instantiated --
Abstract classes (can't be instantiated) --
Abstract methods (must be implemented) --
Polymorphism in action --
Class Object (the ultimate superclass of everything) --
Taking objects out of an ArrayList (they come out as type Object) --
Compiler checks the reference type (before letting you call a method) --
Get in touch with your inner object --
Polymorphic references --
Casting an object reference (moving lower on the inheritance tree) --
Deadly Diamond of Death (multiple inheritance problem) --
Using interfaces (the best solution!) --
Life and Death of an Object --
The stack and the heap, where objects and variables live --
Methods on the stack --
Where local variables live --
Where instance variables live --
The miracle of object creation --
Constructors (the code that runs when you say new) --
Initializing the state of a new Duck --
Overloaded constructors --
Superclass constructors (constructor chaining) --
Invoking overloaded constructors using this() --
Life of an object --
Garbage Collection (and making objects eligible) --
Numbers Matter --
Math class (do you really need an instance of it?) --
static methods --
static variables --
Constants (static final variables) --
Math methods (random(), round(), abs(), etc.) --
Wrapper classes (Integer, Boolean, Character, etc.) --
Autoboxing --
Number formatting --
Date formatting and manipulation --
Static imports --
Risky Behavior --
Making a music machine (the BeatBox) --
What if you need to call risky code? --
Exceptions say "something bad may have happened ..." --
The compiler guarantees (it checks) that you're aware of the risks --
Catching exceptions using a try/catch (skateboarder) --
Flow control in try/catch blocks --
The finally block (no matter what happens, turn off the oven!) --
Catching multiple exceptions (the order matters) --
Declaring an exception (just duck it) --
Handle or declare law --
Code Kitchen (making sounds) --
A Very Graphic Story --
Your first GUI --
Getting a user event --
Implement a listener interface --
Getting a button's ActionEvent --
Putting graphics on a GUI --
Fun with paintComponent() --
The Graphics2D object --
Putting more than one button on a screen --
Inner classes to the rescue (make your listener an inner class) --
Animation (move it, paint it, move it, paint it, move it, paint it ...) --
Code Kitchen (painting graphics with the beat of the music) --
Work on your Swing --
Swing Components --
Layout Managers (they control size and placement) --
Three Layout Managers (border, flow, box) --
BorderLayout (cares about five regions) --
FlowLayout (cares about the order and preferred size) --
BoxLayout (like flow, but can stack components vertically) --
JTextField (for single-line user input) --
JTextArea (for multi-line, scrolling text) --
JCheckBox (is it selected?) --
JList (a scrollable, selectable list) --
Code Kitchen (The Big One --
building the BeatBox chat client) --
Saving Objects --
Saving object state --
Writing a serialized object to a file --
Java input and output streams (connections and chains) --
Object serialization --
Implementing the Serializable interface --
Using transient variables --
Deserializing an object --
Writing to a text file --
java.io. File --
Reading from a text file --
Splitting a String into tokens with split() --
CodeKitchen --
Make a Connection --
Chat program overview --
Connecting, sending, and receiving --
Network sockets --
TCP ports --
Reading data from a socket (using BufferedReader) --
Writing data to a socket (using PrintWriter) --
Writing the Daily Advice Client program --
Writing a simple server --
Daily Advice Server code --
Writing a chat client --
Multiple call stacks --
Launching a new thread (make it, start it) --
The Runnable interface (the thread's job) --
Three states of a new Thread object (new, runnable, running) --
The runnable-running loop --
Thread scheduler (it's his decision, not yours) --
Putting a thread to sleep --
Making and starting two threads --
Concurrency issues: can this couple be saved? --
The Ryan and Monica concurrency problem, in code --
Locking to make things atomic --
Every object has a lock --
The dreaded "Lost Update" problem --
Synchronized methods (using a lock) --
Deadlock! --
Multithreaded ChatClient code --
Ready-bake SimpleChatServer --
Data Structures --
Collections --
Sorting an ArrayList with Collections.sort() --
Generics and type-safety --
Sorting things that implement the Comparable interface --
Sorting things with a custom Comparator --
The collection API-lists, sets, and maps --
Avoiding duplicates with HashSet --
Overriding hashCode() and equals() --
HashMap --
Using wildcards for polymorphism --
Release Your Code --
Deployment options --
Keep your source code and class files separate --
Making an executable JAR (Java ARchives) --
Running an executable JAR --
Put your classes in a package! --
Packages must have a matching directory structure --
Compiling and running with packages --
Compiling with -d --
Making an executable JAR (with packages) --
Java Web Start (JWS) for deployment from the web --
How to make and deploy a JWS application --
Distributed Computing --
Java Remote Method Invocation (RMI), hands-on, very detailed --
Servlets (a quick look) --
Enterprise JavaBeans (EJB), a very quick look --
Jini, the best trick of all --
Building the really cool universal service browser --
BeatBoxFinal (client code) --
MusicServer (server code) --
Top Ten List.
Responsibility: Kathy Sierra, Bert Bates.
More information:

Abstract:

A highly interactive, multi-sensory learning experience that lets new programmers pick up the fundamentals of the Java language quickly. Through mind-stretching exercises, memorable analogies,  Read more...

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.

Similar Items

Related Subjects:(2)

User lists with this item (17)

Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/57683611> # Head first Java
    a schema:CreativeWork, schema:Book ;
    library:oclcnum "57683611" ;
    library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/361455#Place/sebastopol_ca> ; # Sebastopol, CA
    library:placeOfPublication <http://id.loc.gov/vocabulary/countries/cau> ;
    schema:about <http://dewey.info/class/005.71262/e22/> ;
    schema:about <http://experiment.worldcat.org/entity/work/data/361455#Topic/java_langage_de_programmation> ; # Java (Langage de programmation)
    schema:about <http://dewey.info/class/005.133/e22/> ;
    schema:about <http://experiment.worldcat.org/entity/work/data/361455#Topic/java_computer_program_language> ; # Java (Computer program language)
    schema:bookEdition "2nd ed." ;
    schema:bookFormat bgn:PrintBook ;
    schema:contributor <http://viaf.org/viaf/85527358> ; # Bert Bates
    schema:creator <http://viaf.org/viaf/85527362> ; # Kathy Sierra
    schema:datePublished "2005" ;
    schema:description "Learning a complex new language is no easy task, especially when it's an object-oriented computer programming language like Java. Your brain doesn't always want to take in the dry, technical stuff you're forced to study. Your brain craves novelty. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. Despite its playful appearance, Head First Java is serious: a complete introduction to object-oriented programming and Java. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. The second edition focuses on Java 5.0, a major update to the platform, with deep, code-level changes.--From publisher description."@en ;
    schema:description "Breaking the Surface -- The way Java works -- Code structure in Java -- Anatomy of a class -- The main() method -- Looping -- Conditional branching (if tests) -- Coding the "99 bottles of beer" app -- Phrase-o-matic -- Fireside chat: compiler vs. JVM -- A Trip to Objectville -- Chair Wars (Brad the OO guy vs. Larry the procedural guy) -- Inheritance (an introduction) -- Overriding methods (an introduction) -- What's in a class? (methods, instance variables) -- Making your first object -- Using main() -- Guessing Game code -- Know Your Variables -- Declaring a variable (Java cares about type) -- Primitive types ("I'd like a double with extra foam, please") -- Java keywords -- Reference variables (remote control to an object) -- Object declaration and assignment -- Objects on the garbage-collectible heap -- Arrays (a first look) -- How Objects Behave -- Methods use object state (bark different) -- Method arguments and return types -- Pass-by-value (the variable is always copied) -- Getters and Setters -- Encapsulation (do it or risk humiliation) -- Using references in an array -- Extra-Strength Methods -- Building the Sink a Dot Com game -- Starting with the Simple Dot Com game (a simpler version) -- Writing prepcode (pseudocode for the game) -- Test code for Simple Dot Com -- Coding the Simple Dot Com game -- Final code for Simple Dot Com -- Generating random numbers with Math.random() -- Ready-bake code for getting user input from the command-line -- Looping with for loops -- Casting primitives from a large size to a smaller size -- Converting a String to an int with Integer.parseInt() -- Using the Java Library -- Analyzing the bug in the Simple Dot Com Game -- ArrayList (taking advantage of the Java API) -- Fixing the DotCom class code -- Building the real game (Sink a Dot Com) -- Prepcode for the real game -- Code for the real game -- boolean expressions -- Using the library (Java API) -- Using packages (import statements, fully-qualified names) -- Using the HTML API docs and reference books -- Better Living in Objectville -- Understanding inheritance (superclass and subclass relationships) -- Designing an inheritance tree (the Animal simulation) -- Avoiding duplicate code (using inheritance) -- Overriding methods -- IS-A and HAS-A (bathtub girl) -- What do you inherit from your superclass? -- What does inheritance really buy you? -- Polymorphism (using a supertype reference to a subclass object) -- Rules for overriding (don't touch those arguments and return types!) -- Method overloading (nothing more than method name re-use) -- Serious Polymorphism -- Some classes just should not be instantiated -- Abstract classes (can't be instantiated) -- Abstract methods (must be implemented) -- Polymorphism in action -- Class Object (the ultimate superclass of everything) -- Taking objects out of an ArrayList (they come out as type Object) -- Compiler checks the reference type (before letting you call a method) -- Get in touch with your inner object -- Polymorphic references -- Casting an object reference (moving lower on the inheritance tree) -- Deadly Diamond of Death (multiple inheritance problem) -- Using interfaces (the best solution!) -- Life and Death of an Object -- The stack and the heap, where objects and variables live -- Methods on the stack -- Where local variables live -- Where instance variables live -- The miracle of object creation -- Constructors (the code that runs when you say new) -- Initializing the state of a new Duck -- Overloaded constructors -- Superclass constructors (constructor chaining) -- Invoking overloaded constructors using this() -- Life of an object -- Garbage Collection (and making objects eligible) -- Numbers Matter -- Math class (do you really need an instance of it?) -- static methods -- static variables -- Constants (static final variables) -- Math methods (random(), round(), abs(), etc.) -- Wrapper classes (Integer, Boolean, Character, etc.) -- Autoboxing -- Number formatting -- Date formatting and manipulation -- Static imports -- Risky Behavior -- Making a music machine (the BeatBox) -- What if you need to call risky code? -- Exceptions say "something bad may have happened ..." -- The compiler guarantees (it checks) that you're aware of the risks -- Catching exceptions using a try/catch (skateboarder) -- Flow control in try/catch blocks -- The finally block (no matter what happens, turn off the oven!) -- Catching multiple exceptions (the order matters) -- Declaring an exception (just duck it) -- Handle or declare law -- Code Kitchen (making sounds) -- A Very Graphic Story -- Your first GUI -- Getting a user event -- Implement a listener interface -- Getting a button's ActionEvent -- Putting graphics on a GUI -- Fun with paintComponent() -- The Graphics2D object -- Putting more than one button on a screen -- Inner classes to the rescue (make your listener an inner class) -- Animation (move it, paint it, move it, paint it, move it, paint it ...) -- Code Kitchen (painting graphics with the beat of the music) -- Work on your Swing -- Swing Components -- Layout Managers (they control size and placement) -- Three Layout Managers (border, flow, box) -- BorderLayout (cares about five regions) -- FlowLayout (cares about the order and preferred size) -- BoxLayout (like flow, but can stack components vertically) -- JTextField (for single-line user input) -- JTextArea (for multi-line, scrolling text) -- JCheckBox (is it selected?) -- JList (a scrollable, selectable list) -- Code Kitchen (The Big One -- building the BeatBox chat client) -- Saving Objects -- Saving object state -- Writing a serialized object to a file -- Java input and output streams (connections and chains) -- Object serialization -- Implementing the Serializable interface -- Using transient variables -- Deserializing an object -- Writing to a text file -- java.io. File -- Reading from a text file -- Splitting a String into tokens with split() -- CodeKitchen -- Make a Connection -- Chat program overview -- Connecting, sending, and receiving -- Network sockets -- TCP ports -- Reading data from a socket (using BufferedReader) -- Writing data to a socket (using PrintWriter) -- Writing the Daily Advice Client program -- Writing a simple server -- Daily Advice Server code -- Writing a chat client -- Multiple call stacks -- Launching a new thread (make it, start it) -- The Runnable interface (the thread's job) -- Three states of a new Thread object (new, runnable, running) -- The runnable-running loop -- Thread scheduler (it's his decision, not yours) -- Putting a thread to sleep -- Making and starting two threads -- Concurrency issues: can this couple be saved? -- The Ryan and Monica concurrency problem, in code -- Locking to make things atomic -- Every object has a lock -- The dreaded "Lost Update" problem -- Synchronized methods (using a lock) -- Deadlock! -- Multithreaded ChatClient code -- Ready-bake SimpleChatServer -- Data Structures -- Collections -- Sorting an ArrayList with Collections.sort() -- Generics and type-safety -- Sorting things that implement the Comparable interface -- Sorting things with a custom Comparator -- The collection API-lists, sets, and maps -- Avoiding duplicates with HashSet -- Overriding hashCode() and equals() -- HashMap -- Using wildcards for polymorphism -- Release Your Code -- Deployment options -- Keep your source code and class files separate -- Making an executable JAR (Java ARchives) -- Running an executable JAR -- Put your classes in a package! -- Packages must have a matching directory structure -- Compiling and running with packages -- Compiling with -d -- Making an executable JAR (with packages) -- Java Web Start (JWS) for deployment from the web -- How to make and deploy a JWS application -- Distributed Computing -- Java Remote Method Invocation (RMI), hands-on, very detailed -- Servlets (a quick look) -- Enterprise JavaBeans (EJB), a very quick look -- Jini, the best trick of all -- Building the really cool universal service browser -- BeatBoxFinal (client code) -- MusicServer (server code) -- Top Ten List."@en ;
    schema:exampleOfWork <http://worldcat.org/entity/work/id/361455> ;
    schema:inLanguage "en" ;
    schema:name "Head first Java"@en ;
    schema:productID "57683611" ;
    schema:publication <http://www.worldcat.org/title/-/oclc/57683611#PublicationEvent/sebastopol_ca_o_reilly_2005> ;
    schema:publisher <http://experiment.worldcat.org/entity/work/data/361455#Agent/o_reilly> ; # O'Reilly
    schema:url <http://proquest.safaribooksonline.com/0596009208> ;
    schema:workExample <http://worldcat.org/isbn/9781435291799> ;
    schema:workExample <http://worldcat.org/isbn/9780596009205> ;
    umbel:isLike <http://bnb.data.bl.uk/id/resource/GBA519434> ;
    wdrs:describedby <http://www.worldcat.org/title/-/oclc/57683611> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/361455#Place/sebastopol_ca> # Sebastopol, CA
    a schema:Place ;
    schema:name "Sebastopol, CA" ;
    .

<http://experiment.worldcat.org/entity/work/data/361455#Topic/java_computer_program_language> # Java (Computer program language)
    a schema:Intangible ;
    schema:name "Java (Computer program language)"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/361455#Topic/java_langage_de_programmation> # Java (Langage de programmation)
    a schema:Intangible ;
    schema:name "Java (Langage de programmation)"@fr ;
    .

<http://viaf.org/viaf/85527358> # Bert Bates
    a schema:Person ;
    schema:familyName "Bates" ;
    schema:givenName "Bert" ;
    schema:name "Bert Bates" ;
    .

<http://viaf.org/viaf/85527362> # Kathy Sierra
    a schema:Person ;
    schema:familyName "Sierra" ;
    schema:givenName "Kathy" ;
    schema:name "Kathy Sierra" ;
    .

<http://worldcat.org/isbn/9780596009205>
    a schema:ProductModel ;
    schema:isbn "0596009208" ;
    schema:isbn "9780596009205" ;
    .

<http://worldcat.org/isbn/9781435291799>
    a schema:ProductModel ;
    schema:isbn "1435291794" ;
    schema:isbn "9781435291799" ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.