Core Java, Volume I--Fundamentals and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $2.16 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Core Java, Volume I--Fundamentals on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Core Java, Volume I--Fundamentals (8th Edition) [Paperback]

Cay S. Horstmann , Gary Cornell
4.5 out of 5 stars  See all reviews (37 customer reviews)

Buy New
$40.99 & FREE Shipping. Details
Rent
$23.23
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
Want it tomorrow, May 23? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $21.60  
Paperback $40.99  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now
There is a newer edition of this item:
Core Java Volume I--Fundamentals (9th Edition) (Core Series) Core Java Volume I--Fundamentals (9th Edition) (Core Series) 4.4 out of 5 stars (13)
$37.49
In Stock.

Book Description

September 21, 2007 0132354764 978-0132354769 8

This revised edition of the classic Core Java™, Volume I–Fundamentals , is the definitive guide to Java for serious programmers who want to put Java to work on real projects.

 

Fully updated for the new Java SE 6 platform, this no-nonsense tutorial and reliable reference illuminates the most important language and library features with thoroughly tested real-world examples. The example programs have been carefully crafted to be easy to understand as well as useful in practice, so you can rely on them as an outstanding starting point for your own code.

 

Volume I is designed to quickly bring you up to speed on what’s new in Java SE 6 and to help you make the transition as efficiently as possible, whether you’re upgrading from an earlier version of Java or migrating from another language. The authors concentrate on the fundamental concepts of the Java language, along with the basics of user-interface programming. You’ll find detailed, insightful coverage of 

  • Java fundamentals
  • Object-oriented programming
  • Interfaces and inner classes
  • Reflection and proxies
  • The event listener model
  • GUI programming with Swing
  • Packaging applications
  • Exception handling
  • Logging and debugging
  • Generic programming
  • The collections framework
  • Concurrency

For detailed coverage of XML processing, networking, databases, internationalization, security, advanced AWT/Swing, and other advanced features, look for the forthcoming eighth edition of Core Java™, Volume II—Advanced Features (ISBN: 978-0-13-235479-0).


Frequently Bought Together

Core Java, Volume I--Fundamentals (8th Edition) + Core Java, Vol. 2: Advanced Features, 8th Edition + Effective Java (2nd Edition)
Price for all three: $114.70

Buy the selected items together


Editorial Reviews

About the Author

Cay S. Horstmann is also coauthor of Core JavaServer Faces, Second Edition (Prentice Hall, 2007). Cay is a professor of computer science at San Jose State University, a Java Champion, and a frequent speaker at computer industry conferences.

 

Gary Cornell has been writing and teaching programming professionals for more than twenty years and is the cofounder of Apress. He has written numerous best-selling books for programming professionals, was a cofinalist for a Jolt Award, and won the Readers Choice award from Visual Basic Magazine.

Excerpt. © Reprinted by permission. All rights reserved.

To the Reader

In late 1995, the Java programming language burst onto the Internet scene and gained instant celebrity status. The promise of Java technology was that it would become the universal glue that connects users with information, whether that information comes from web servers, databases, information providers, or any other imaginable source. Indeed, Java is in a unique position to fulfill this promise. It is an extremely solidly engineered language that has gained acceptance by all major vendors, except for Microsoft. Its built-in security and safety features are reassuring both to programmers and to the users of Java programs. Java even has built-in support that makes advanced programming tasks, such as network programming, database connectivity, and multithreading, straightforward.

Since 1995, Sun Microsystems has released seven major revisions of the Java Development Kit. Over the course of the last eleven years, the Application Programming Interface (API) has grown from about 200 to over 3,000 classes. The API now spans such diverse areas as user interface construction, database management, internationalization, security, and XML processing.

The book you have in your hands is the first volume of the eighth edition of Core Java TM . With the publishing of each edition, the book followed the release of the Java Development Kit as quickly as possible, and each time, we rewrote the book to take advantage of the newest Java features. This edition has been updated to reflect the features of Java Standard Edition (SE) 6.

As with the previous editions of this book, we still target serious programmers who want to put Java to work on real projects. We think of you, our reader, as a programmer with a solid background in a programming language other than Java, and we assume that you don’t like books filled with toy examples (such as toasters, zoo animals, or “nervous text”). You won’t find any of these in this book. Our goal is to enable you to fully understand the Java language and library, not to give you an illusion of understanding.

In this book you will find lots of sample code that demonstrates almost every language and library feature that we discuss. We keep the sample programs purposefully simple to focus on the major points, but, for the most part, they aren’t fake and they don’t cut corners. They should make good starting points for your own code.

We assume you are willing, even eager, to learn about all the advanced features that Java puts at your disposal. For example, we give you a detailed treatment of:

  • Object-oriented programming
  • Reflection and proxies
  • Interfaces and inner classes
  • The event listener model
  • Graphical user interface design with the Swing UI toolkit
  • Exception handling
  • Generic programming
  • The collections framework
  • Concurrency

With the explosive growth of the Java class library, a one-volume treatment of all the features of Java that serious programmers need to know is no longer possible. Hence, we decided to break up the book into two volumes. The first volume, which you hold in your hands, concentrates on the fundamental concepts of the Java language, along with the basics of user-interface programming. The second volume, Core Java TM , Volume II—Advanced Features (forthcoming, ISBN: 978-0-13-235479-0), goes further into the enterprise features and advanced user-interface programming. It includes detailed discussions of:

  • Files and streams
  • Distributed objects
  • Databases
  • Advanced GUI components
  • Native methods
  • XML processing
  • Network programming
  • Advanced graphics
  • Internationalization
  • JavaBeans
  • Annotations

In this edition, we reshuffled the contents of the two volumes. In particular, multithreading is now covered in Volume I because it has become so important, with Moore’s law coming to an end.

When writing a book, errors and inaccuracies are inevitable. We’d very much like to know about them. But, of course, we’d prefer to learn about each of them only once. We have put up a list of frequently asked questions, bugs fixes, and workarounds in a web page at http://horstmann.com/corejava. Strategically placed at the end of the errata page (to encourage you to read through it first) is a form you can use to report bugs and suggest improvements. Please don’t be disappointed if we don’t answer every query or if we don’t get back to you immediately. We do read all e-mail and appreciate your input to make future editions of this book clearer and more informative.

A Tour of This Book

Chapter 1 gives an overview of the capabilities of Java that set it apart from other programming languages. We explain what the designers of the language set out to do and to what extent they succeeded. Then, we give a short history of how Java came into being and how it has evolved.

In Chapter 2, we tell you how to download and install the JDK and the program examples for this book. Then we guide you through compiling and running three typical Java programs, a console application, a graphical application, and an applet, using the plain JDK, a Java-enabled text editor, and a Java IDE.

Chapter 3 starts the discussion of the Java language. In this chapter, we cover the basics: variables, loops, and simple functions. If you are a C or C++ programmer, this is smooth sailing because the syntax for these language features is essentially the same as in C. If you come from a non-C background such as Visual Basic, you will want to read this chapter carefully.

Object-oriented programming (OOP) is now in the mainstream of programming practice, and Java is completely object oriented. Chapter 4 introduces encapsulation, the first of two fundamental building blocks of object orientation, and the Java language mechanism to implement it, that is, classes and methods. In addition to the rules of the Java language, we also give advice on sound OOP design. Finally, we cover the marvelous javadoc tool that formats your code comments as a set of hyperlinked web pages. If you are familiar with C++, then you can browse through this chapter quickly. Programmers coming from a non-object-oriented background should expect to spend some time mastering OOP concepts before going further with Java.

Classes and encapsulation are only one part of the OOP story, and Chapter 5 introduces the other, namely, inheritance. Inheritance lets you take an existing class and modify it according to your needs. This is a fundamental technique for programming in Java. The inheritance mechanism in Java is quite similar to that in C++. Once again, C++ programmers can focus on the differences between the languages.

Chapter 6 shows you how to use Java’s notion of an interface. Interfaces let you go beyond the simple inheritance model of Chapter 5. Mastering interfaces allows you to have full access to the power of Java’s completely object-oriented approach to programming. We also cover a useful technical feature of Java called inner classes. Inner classes help make your code cleaner and more concise.

In Chapter 7, we begin application programming in earnest. Every Java programmer should know a bit about GUI programming, and this volume contains the basics. We show how you can make windows, how to paint on them, how to draw with geometric shapes, how to format text in multiple fonts, and how to display images.

Chapter 8 is a detailed discussion of the event model of the AWT, the abstract window toolkit. You’ll see how to write the code that responds to events like mouse clicks or key presses. Along the way you’ll see how to handle basic GUI elements like buttons and panels.

Chapter 9 discusses the Swing GUI toolkit in great detail. The Swing toolkit allows you to build a cross-platform graphical user interface. You’ll learn all about the various kinds of buttons, text components, borders, sliders, list boxes, menus, and dialog boxes. However, some of the more advanced components are discussed in Volume II.

Chapter 10 shows you how to deploy your programs, either as applications or applets. We describe how to package programs in JAR files, and how to deliver applications over the Internet with the Java Web Start and applet mechanisms. Finally, we explain how Java programs can store and retrieve configuration information once they have been deployed.

Chapter 11 discusses exception handling, Java’s robust mechanism to deal with the fact that bad things can happen to good programs. Exceptions give you an efficient way of separating the normal processing code from the error handling. Of course, even after hardening your program by handling all exceptional conditions, it still might fail to work as expected. In the second half of this chapter, we give you a large number of useful debugging tips. Finally, we guide you through a sample debugging session.

Chapter 12 gives an overview of generic programming, a major advance of Java SE 5.0. Generic programming makes your programs easier to read and safer. We show you how you can use strong typing and remove unsightly and unsafe casts, and how you can deal with the complexities that arise from the need to stay compatible with older versions of Java.

The topic of Chapter 13 is the collections framework of the Java platform. Whenever you want to collect multiple objects and retrieve them later, you will want to use a collection that is best suited for your circumstances, instead of just tossing the elements into an array. This chapter shows you how to take advantage of the standard collections that are prebuilt for your use....


Product Details

  • Paperback: 864 pages
  • Publisher: Prentice Hall; 8 edition (September 21, 2007)
  • Language: English
  • ISBN-10: 0132354764
  • ISBN-13: 978-0132354769
  • Product Dimensions: 7.1 x 1.6 x 9.2 inches
  • Shipping Weight: 3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (37 customer reviews)
  • Amazon Best Sellers Rank: #136,282 in Books (See Top 100 in Books)

Customer Reviews

I recommend this book if you are looking to learn Java or have only used certain pieces of it. Jeanne Boyarsky  |  11 reviewers made a similar statement
Unlike so many other books this one provides meaningful and useful examples. Mitchell L Model  |  5 reviewers made a similar statement
Most Helpful Customer Reviews
80 of 82 people found the following review helpful
5.0 out of 5 stars Even for the most experienced Java programmers February 7, 2008
Format:Paperback
I am an extremely experienced Java programmer and Ph. D. computer scientist. I write and teach courses and develop technical assessments, so it's important to me to keep up with language developments. While I've bought a great many Java books over the years, I've been neglecting Core Java for many editions, thinking it would no longer be of any use and being tired of repurchasing books. I'm part way through this one, and I am astounded at how much I am discovering, especially about Java 5 & 6 (even though I thought I knew all about their new features). I'm also enjoying the detailed comparisons with C++, as I used to use and teach that too. No matter how much you know about Java I would strongly recommend this book, if only to read all the well-delineated comments and clarifications that appear frequently. A particularly nice feature is that where portions of the API are summarized there are indications of the version in which the feature was added -- it helped reduce my feelings of chagrin when I read something surprising to find that it had been introduced in v6 or was a part of v5 I hadn't yet explored. Unlike so many other books this one provides meaningful and useful examples. I am eagerly anticipating the second volume.
Was this review helpful to you?
38 of 38 people found the following review helpful
5.0 out of 5 stars java for programmers October 21, 2007
Format:Paperback
"Core Java, Volume I - Fundamentals" is meant to teach Java to developers who already know another language. Or as they put it, "serious programmers ... with a solid background in a language other than Java." This is important as the book assumes a knowledge of programming concepts. As such, the authors can explain OO rather than how a loop works. The syntax diagrams and flow diagrams offer concise explanations.

This edition (the eighth of the book) covers Java 6. I liked that each section was updated to reflect changes to the languages. The authors didn't just tack on some chapters about the new features. They integrated features as they made sense. More importantly, they updated existing examples to reflect the way they would be written if they were initially written today. This gives the reader appropriate exposure as to when to use new features. At the same time, the authors point out what was added in Java 1.4 so you can use it with an older version. There was even a screenshot of Windows Vista in the getting started section.

The book is about 800 pages. Some of this is long classes and API extractions. The authors do highlight important code snippets with explanations first, so it is possible to skip these parts. I did like the feature of the API extractions that showed when methods were introduced.

The authors explain Java in practice well including caveats. There are a few carefully labeled sections that are quite advanced. (proxys and new classloaders.) This is definitely not just an intro book! There was a bit of premature optimization. I don't see a need to worry about whether ArrayList is efficient unless it is a problem. At the same time, it is important to know why things work the way they do.

I recommend this book if you are looking to learn Java or have only used certain pieces of it. Just be sure to read the TOC carefully as the authors branch out. For example, the inheritance chapter covers var args and reflection.
Comment | 
Was this review helpful to you?
15 of 15 people found the following review helpful
4.0 out of 5 stars Excellent pace, detail, and presentation of Java topics November 17, 2009
Format:Paperback|Amazon Verified Purchase
This book has been an excellent resource in my learning Java programming. I've been programming for over 20 years (yes, I used the original K&R C handbook to learn C), but I am new to Java. Using this book, working through the examples carefully (actually typing each of them into NetBeans and digesting the code piece by piece, modifying them here and there afterward to test ideas and enhance understanding), I can actually say that the topics are sinking in and the presented material (i.e. the Java skills , concepts, and syntax) is becoming second nature.

To give an honest impression: I did not, however, start completely fresh with this book. I first worked through the Java tutorial on Sun's website. I think that helped me grasp topics better when they were presented here in Core Java and I'd recommend doing something along those lines instead of relying strictly on this book (or any one source for that matter). In fact, for me personally, it helps to code and code and code as much as possible. So, the more sources of actual coding opportunities, the better.

That said, I would add that if this book had some companion exercises to go along with the material and the code examples contained within, it would be invaluable (and 5 star worthy). Giving the reader the additional chance to enhance and test his/her understanding of the material by starting with a problem and a blank page would (imo) make this book an incredible resource. I was a disappointed at first that there were only pre-done examples in this book, but that seems to be par for the course as it does not appear that there are current Java exercise books.

Anyway, I do believe I'll be moving on to Volume II and work through it in the same manner as I did in volume I (hoping that volume II is as well done as volume I).
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars For the programmer, not the student
Would you rather improve your understanding of Java with a book that is written for educated smart people than something "for dummies? Read more
Published 8 days ago by Carter Colmore Adams
5.0 out of 5 stars loveeee it
best best best i bought a used book but it is more than the new one except it
doesn't have CD with it. love it best book for java too
Published 2 months ago by kina
5.0 out of 5 stars Solid
This books provides a solid understanding, with decent examples, of basic Java and how to use it. You will use is as one of your goto reference pieces.
Published 2 months ago by Chuck
5.0 out of 5 stars fairly nice
For a used book, this is good enough though there is a little cut damage on the side of the cover. Inside the book, it looks really new.
Published 3 months ago by Chenyang Cui
4.0 out of 5 stars Good beginner book
I bought this book for my son as a supplement to the online book he used in his AP Computer Science high school class. Read more
Published 4 months ago by Misty May
4.0 out of 5 stars Good solid overview/material
I've been a C programmer most of my career. I hadn't looked at Java code in 10 years. When I saw some confusing Java code that had C++ templates (i.e. Read more
Published 4 months ago by Al
4.0 out of 5 stars Great conrtent - Needs better examples though!
I'm just learning Java, I used another book (Fundamentals to Java: AP Comp Sci Essentials) to get the fundamentals and dived into this book for extra stuff. Read more
Published 4 months ago by Captain Forge
5.0 out of 5 stars good for beginner
I have found this book at the same time when I was searching for "thinking in java". But Amazon don't provide this book so I've bought another book - "Core Java".
Published 7 months ago by Alexey
5.0 out of 5 stars Great book for beginners
Explained a lot better than the professor; it has a lot of examples, and it is very well structured.
I highly recommend it.
Published 8 months ago by Elisa Taymes
5.0 out of 5 stars Every thing you could hope for in a programming book.
The book is everything you could hope for.

But the Kindle reader "Sucks"
1)- Kindle has no page numbers!!! Read more
Published 9 months ago by Douglas
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

Have something you'd like to share about this product?
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Search Customer Discussions
Search all Amazon discussions


So You'd Like to...


Create a guide


Look for Similar Items by Category