JAVA learning books

I just downloaded JDK 1.2. Until I downloaded JAVA I have only programmed in SQL, VB, HTML, and QBasic. I have gone over Suns tutorial, and it is very good. But I want a book that will take me through step by step learning the JAVA language (structure, syntax, keywords, commands...), the java software itself (javaUI, GUI's, applets, classes, run-times...).

If it takes multiple books fine, but I am intrigued with this language, and I can't stop now  :)

I want to understand JAVA as well as possible, so remember I have no C/C++ experience, and need a book that will break it down very well for me.

Oh, also tell me why you recommend the book.

Thank you
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Well, I knew some c and c++ before but I can recommend 2 sites:

This site covers everything you need to know about java with examples and helps me very much.

And there is also a nice book you can read and its free in the internet.
The book is called "Thinking in Java" By Bruce Eckel.

Try these two and goodluck!

Hi berg1375,

  I don't know the exact name.

   But i think the name is

   the complete reference -- Patrik Naughton @ H.schildt. is the best book for beginers.
berg1375Author Commented:

I have been using the tutorial, but it jumps around so much, I have just gotten myself confused.

I downloaded "Thinking in JAVA" yesterday, but have not had a chance to look at it.


"The Complete Reference"? Thats all it's called?

Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

"Thinking in Java" is the book to start with - it leads you through the main points clearly and thoroughly and doesn't hurry you in the early chapters. You will feel you understand all the underlying core concepts of Java once finished.

Don't use the Java Tutorial for learning as it is exceptionally badly written and not very well structured.

Java in a Nutshell is a good book if you want to learn by example - it has a good but concise overview of Java and then gets down to business with some genuinely useful examples.

Exploring Java is another good book for when you are ready to learn a few more tricks.
berg1375Author Commented:
I just visited, and was reading the book reviews for "Beginning Java 2" By Ivor someone. The customer reviews state it is an excellent book if you have no c/c++experiance and want to learn JAVA.

Does anyone else know about this book? As of right now, I am thinking of purchasing this book, but I want a Java programmers opinion.

Jod: can you recommend some book for expert :)
I haven't read any Java book (except some online resources - and some parts from 'Thinking in Java').

now I can afford some real book, but I know almost everything (but not everything) from my personal experience.

there are so so so many books, dealing with Java, but I'm afraid that most of them will have less that 10-15 pages with usefull information ... for me :)

I would like to get some advanced UML book(s) and some design patterns / Java book (I already read the 'Design Patterns' bible :)

probably I have to post new question ... but don't have the time :)

The biggest problem in Java is learning how the classes fit together and what functions are available to you. It's not like C++ in that you have to think in a truly object oriented fashion to understand Java well. Often it's not just a case of looking up the correct method in a library of functions but more figuring out which objects to use and how they need to interact in order to work.

For example, there is a book by O'Reilly just on Java I/O because the combinations of things you can do is so vast it requires a whole book to explore.

The main reason being that classes have to fit together and quite often pass output to one another or contain references.

You will actually find many of the features outlined in "Design Patterns" incorporated into Java, especially the avoidance of multiple inheritance, use of interfaces, observer patterns, object aggregationa and delegation and so on...

The hacked version of UML in Design Patterns works quite well and is a good baseline to go by, as most version use workarounds for the problems that Design Patterns raises with UML.

I have a good reference to a UML case study somewhere that makes interesting reading if I can find it...
Again, the Java in a Nutshell (and Java Examples in a Nutshell) books are good - look them up on Amazon - because they will show you how to do quite complex things without going through loads of simple explanations of what a string is.
For example, look here and look down to the example given in my answer: 
I found core java 1.1 by cay s. horstmann and gary cornell quite good. it is a bit pricey and it comes in two volumes.
Something to be aware of:
Most applets can only use JDK1.1 (unless the user has installed the Java Plugin).  So if you are only looking to program applets a 1.1 will do just fine.  There is alot more functionality in the version you downloaded (1.2.2) but alot of 1.1 books dont cover this added functionality. (GUI components, printing, collections have all been enhanced)

Make sure the book you get covers what you need.

I believe the Java in a NutShell books (OReily) are 1.1 only.  I dont believe they have put out a version for 1.2 (yet).
"Thinking in Java" is a VERY good book and he keeps it up to date but it does alot of comparing/contrasting with C++ which may drive you nuts even though he does have a chapter on syntax.  (can you say run-on sentence :))
berg1375Author Commented:
Thats why I read all the comments on Beginning Java 2, there were a lot of mentions, that it covers 1.2, so I think I have made up my mind.

Yep, I have had a look at the Amazon site and Begining Java 1.2 looks quite good so go for it. At least the reviewers seem happy, so you can have some assurances that it is put together well.

Also, have a look here for a short list of recommendations with some comments on Java Books (including Begining Java 2):

berg1375Author Commented:
I just ordered it, and can't wait for it to arrive. It seems like such a fun language  :) Plus I love a good challenge.

Java in a Nutshell may not be a good book for you to begin with.  This book assumes that you have a C/C++ foundation, and it sounds as if you don't.  Further, the descriptions provided for often omit useful code examples.  I'm referring to the 2nd edition; later editions may be more useful.  I've used Java, How to Program, by Deitel & Deitel, and it provides a good OOP background, which you may find helpful.
berg1375Author Commented:
Okay, since I found a book, and ordered it, I don't know what to do with the points. I don't want to delete the Q, and I don't really want them back.

So, I will give the points to the person who gives me the best use or uses for JAVA. I want the opinion backed up with some facts or experience, so I can get some ideas of what I may be able to accomplish when I get to your level.

Thank you all for your input

J oin the large number of overpaid Java contractors
A maze you friends with clever applets on your web site
V iew other languages smugly with disdain
A nnoy your friends with smart ass applets on your web site

For UML, I recommend "UML Distilled" by Fowler. For more patterns, take a look at "Pattern Oriented Software Architecture" and at the series "Pattern Languages of Programming". For an advanced Java book, see "Concurrent Programming in Java" by Doug Lea - as the name says, it is about concurrent and distibuted programming.

Lastly, you may want to read some OO process books. I highly recommend Alistair Cockburn's "Surviving Object-Oriented Projects". Also check out Kent Beck's "Extreme Programming Explained". And of course, there is the classic "The Mythical Man-Month" by Fred Brooks.

You can fund my complete list of recommendations at

sorry haven't got back to you sooner

There are several books worth the effort:

Design Patterns : Elements of Reusable Object-Oriented Software

(this you have read already)

For practical application of UML look at:

Applying UMl and Patterns : An Introduction to Object-Oriented Analysis and Design

(Craig Larman)

For practical applications of Patterns in Java look at:

Data Structures and Algorithms with Object-oriented Design Patterns in Java

This last one is not brilliant, but it does show you how to put the principles into practice, which is always useful...
Thanks Jod :)

I already have some of these books on my 'To Buy' list.
I'll check your suggestions next week ... and maybe post a question for you :)

thanks again.

P.S. have you used BeOS ?
>> Join the large number of overpaid Java contractors

overpaid ? :)
Excellent set of links and good info at the site, by the way yonat...patterns info is well covered.

Also There is a book

" Understanding Object-Oriented Programming With JAVA"

I read it and toke it as a course in my university
it will shift your way of thinking to object-oriented programming which will make JAVA easier to understand

also to get the latest news visit

I hope it will satisfy your requisted

I am answering this question and refunding bergs points.

Community Support @ Experts Exchange

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.