Essential Java Programming Skills--Made Easy!
Fully updated for Java Platform, Standard Edition 8 (Java SE 8), Java: A Beginner's Guide, Sixth Edition gets you started programming in Java right away. Bestselling programming author Herb Schildt begins with the basics, such as how to create, compile, and run a Java program. He then moves on to the keywords, syntax, and constructs that form the core of the Java language. This Oracle Press resource also covers some of Java's more advanced features, including multithreaded programming, generics, and Swing. Of course, new Java SE 8 features such as lambda expressions and default interface methods are described. An introduction to JavaFX, Java's newest GUI, concludes this step-by-step tutorial.
Designed for Easy Learning:
- Key Skills & Concepts -- Chapter-opening lists of specific skills covered in the chapter
- Ask the Expert -- Q&A sections filled with bonus information and helpful tips
- Try This -- Hands-on exercises that show you how to apply your skills
- Self Tests -- End-of-chapter quizzes to reinforce your skills
- Annotated Syntax -- Example code with commentary that describes the programming techniques being illustrated
The book's code examples are available FREE for download.
Most helpful customer reviews
87 of 92 people found the following review helpful.
Too big and at the same time too shallow for a reference
By Constantine Kulak
The first impression after reading this book for one day -- it is definitely not a complete reference. Many important points are covered too shallow.
For example, while discussing Properties, the author mentions that this API is sort of obsolete, but he doesn't mention Preferences. In fact, Preferences are not mentioned at all (at least I couldn't find it in the Index). Another example -- StringTokenizer class, for which the author dedicates two pages, but doesn't mention how it is different from String.split, e.g. from the performance point of view. There are javadocs for ArrayList, but it doesn't say how it grows and when it shrinks. I was unable to find some of the important contracts, e.g. what has the higher priority for a TreeSet -- Comparator's 0, or element's equals returning false? Those are rather trivial questions, naturally appearing while reading the book, but unfortunately you'll have to google for it. The author provides virtually no hints about the implementation of the library and the language, which I believe is essential for understanding most of the design decisions. This is absolutely unacceptable for a reference book.
There are two other annoying things:
1. The book is full of Javadocs, I would say 1/3 of the book is Oracle javadocs, which I personally find rather useless. It looks like something completely artificial, added just to extend this (already enormous) volume.
2. The book is very thick, while the binding and cover are very soft and unsubstantial. It had some signs of wear already after one day of reading! If you use this book regularly as a reference, it will wear out very soon.
Having said that, I must mention that some of the topics are covered well, concise and right to the point. For example, I like the way author incorporated new Java 8 language features throughout the whole book. For instance, you will find lambdas and new collection features used regularly in examples. In general, I've got an impression that "Java Language" section is written better than "The Java Library" one.
Finally, it is hard to understand the point of this book -- it is far too huge to be read linearly, and it is not deep enough to serve as a reference. Probably, the best uses for it would be to remind some of the core language and library concepts, and also to learn new features of Java 8.
19 of 19 people found the following review helpful.
An Outstanding Resource
Some reviewers have said this book is too big to read through. I'll put that to the test. This book is BIG but written very nicely. It is a reference book, yes, but can be read through comfortably. It is clear and succinct without embellishment. There are plenty of examples throughout each section to apply the outlined knowledge. I especially like how some sections include the *why* of the way things are. It helps with understanding. I am an experienced programmer coming from many other object-oriented languages and wanted a way to learn Java without the fluff. This book is perfect in that respect. It is in no way a novice guide to programming. If you are not familiar--at least conceptually--and experienced with OOP/OOD (among other things), come back later for this massive text. Otherwise, it's worth the splurge at ~$45 for nearly 1300 pages. It is well-organized and written with great clarity.
TOC (At a Glance):
__ Part I The Java Language __
1. The History and Evolution of Java 3
2. An Overview of Java 17
3. Data Types, Variables, and Arrays 35
4. Operators 61
5. Control Statements 81
6. Introducing Classes 109
7. A Closer Look at Methods and Classes 129
8. Inheritance 161
9. Packages and Interfaces 187
10. Exception Handling 213
11. Multithreaded Programming 233
12. Enumerations, Autoboxing, and Annotations (Metadata) 263
13. I/O, Applets, and Other Topics 301
14. Generics 337
15. Lambda Expressions 381
__ Part II The Java Library __
16. String Handling 413
17. Exploring java.lang 441
18. java.util Part 1: The Collections Framework 497
19. java.util Part 2: More Utility Classes 579
20. Input/Output: Exploring java.io 641
21. Exploring NIO 689
22. Networking 727
23. The Applet Class 747
24. Event Handling 769
25. Introducing the AWT: Working withWindows, Graphics, and Text 797
26. Using AWT Controls, Layout Managers, and Menus 833
27. Images 885
28. The Concurrency Utilities 915
29. The Stream API 965
30. Regular Expressions and Other Packages 991
322 of 355 people found the following review helpful.
See all 279 customer reviews...
Warning for beginners
By An Amazon Customer
Well, I hate to be the lone voice of dissent here, but I have major reservations about this book, in terms of the title's target audience.
1). First, it should have been titled "Beginning Java for Programmers". I say this as, for example, Ch 2 problem 10 requires a nested for loop. This is NOT something I would expect a beginner programmer to know, especially only in chapter TWO! Also, p36 refers to being able to do "all the old char tricks you know".
2). Chapter 2 also talks about primitives, typecasting. Typecasting is not something a beginner needs to know at only chapter 2.
3). The editing is poor. Page 65 shows a sample program listing. Turns out this is a completely different program than the downloaded source files.
4). The author (&/or Oracle) should not expect a beginner to learn the command line straightaway from chapter one. I also have the book "Java for Dummies", which is able to explain how to use the Eclipse IDE. Why can't Oracle? This is lazy, IMO.
I am giving this 3 stars overall, with a caveat. This is a 4-5 star book for a programmer who already can figure out the nuances, or if the book's code is wrong, & knows how to use Eclipse. However, a 1 star book for a real beginner who doesn't know any language & the command line. It would be a nightmare for a true beginner.