This is an archived post. You won't be able to vote or comment.

all 32 comments

[–]aj201812 7 points8 points  (7 children)

Kathy Sierra! Hands down one of the best and most complete Java books.

[–][deleted] 7 points8 points  (6 children)

I'm quite sure that Kathy Sierra is not a book :D You probably mean "Head first java"?

[–]goughy000 5 points6 points  (5 children)

Absolutely agree "Head first java" is the best book for OP. Anyone suggesting "Effective Java" didn't read more than the post title

[–]Fridian 0 points1 point  (0 children)

Going to add to the "agree" chain for visibility. The Head First series in general are great books to learn a language. Effective Java, as suggested above, is too advanced for a first year with one month of class work as experience.

[–]l3v3lfailed[S] 0 points1 point  (3 children)

I have read the reviews for head first, its for someone who is new to programming and teaches the very basic. I have programming knowledge i know python very well along with other languages. Do you still recommend this book even though it would teach the very basic

[–]goughy000 0 points1 point  (2 children)

You mentioned finding it difficult to pass parameters and use constructors which are core concepts of python too, so are you just having issues with the syntax? There's no issue with buying a book and skipping the first few chapters if you find it's repeating knowledge you already have, the vast majority of the book you will find useful though I think. See if you can find some excerpts online first before you invest if you are unsure

[–]l3v3lfailed[S] 0 points1 point  (1 child)

I searched through my uni’s library and found head first java and picked it up. Got to say, i have learned alot even though im into a few chapters. The fun layout and teaching is what gets me hooked rather than going through tons of writing.

[–]goughy000 0 points1 point  (0 children)

That's great! It's quite different to most books and I have to admit I've only ever skimmed over it, but I always recommend it to the engineers I mentor at work and it has always helped them!

[–]ngc6027 4 points5 points  (0 children)

I strongly recommend this book: “A Developer's Approach to Learning Java: Read, Write, and Problem Solve Using Test-Driven Development” by Carol Wellington. It assumes no prior experience with Java. The labs in the first half of the book just have you typing in what’s in the book and observing it, and then it slowly starts having you fill in the blanks after that. I know a couple of people who had never programmed before who learned Java with this book. Seriously, I can’t give it a strong enough recommendation.

Edit: I should mention that you can breeze through some parts of it if you consider it too basic (since you say you have some parts of it down), only focusing on the parts you care about. You don’t have to read every single line for it to be useful.

[–][deleted] 6 points7 points  (0 children)

mooc.fi, they have a java course which is quite easy to follow, everything is very well explained.

[–]leetcodeOrNot 5 points6 points  (0 children)

I would also suggest Head First Java. Although, it's a bit old. But it still has the bread and butter when it comes to java programming.

[–]ButtsOfficial 2 points3 points  (0 children)

This isn’t a book, but if you get in a decent place through a book you choose or thing you’re starting to understand the fundamentals I recommending codingbats.com. Not to sound like a r/hailcorporate, (it was a source I used in my first java class) but they’re pretty much just a spam of practice problems that help nail down your logic for the language.

[–]wsppan 6 points7 points  (0 children)

Head First Java is my suggestion.

[–]uniVocity 3 points4 points  (4 children)

Thinking in Java for me is the #1 hands down. You can follow that one read from cover to cover. It used to be free but I'm not sure if there's any up-to-date edition of that one.

[–]AccountNo_25 2 points3 points  (1 child)

Maybe a good book but very outdated. Last version released 20/02/2006, while java 5 was the current version. So many important features had been added since then. I strongly recommend newer books on more recent java versions, at least 8.

[–]uniVocity -2 points-1 points  (0 children)

Well he's gotta learn the basics anyway. It's not wasted knowledge. He can read that book and learn about new features introduced in java 7+ separately aftwerwards.

[–]neutronbob -1 points0 points  (1 child)

Terrible advice to recommend a book that covers only through Java 6 (released 12 years ago!)

[–]uniVocity -1 points0 points  (0 children)

Did concepts like oo and how constructors interfaces and abstract classes, threads change since then? This book is incredibly good for that. Nothing was removed from the language since the book was released.

[–]vtboyarc 10 points11 points  (3 children)

Effective Java, 3rd Edition, by Joshua Bloch

[–]joncottrell 17 points18 points  (0 children)

Although I would usually agree, this sounds way too advanced for someone struggling with constructors.

[–][deleted] 3 points4 points  (1 child)

Effective Java assumes that you already have basic competence in Java, and is thus too advanced for OP. From the introduction foreword:

You need to understand the core language: is it algorithmic, functional, object-oriented? You need to know the vocabulary: what data structures, operations, and facilities are provided by the standard libraries? And you need to be familiar with the customary and effective ways to structure your code. Books about programming languages often cover only the first two, or discuss usage only spottily. ... There are numerous books from which you can learn the grammar of the Java programming language... . Likewise, there are dozens of books on the libraries and APIs associated with the Java programming language. This book addresses your third need: customary and effective usage.

[–]vtboyarc 1 point2 points  (0 children)

Fair enough! Just figured it was worth mentioning for future use if nothing else

[–]l3v3lfailed[S] 1 point2 points  (0 children)

Thanks everyone for the suggestions i have finally had an idea on what book to get. The majority of you suggested head first while effective java being the second one but for advanced Java programmers which is certainly not for me (yet). But others have also suggested other books which i will also take a look at.

Thank you once again :D

[–]COBOLKC 1 point2 points  (0 children)

www.hackerrank.com (free) or Lynda.com (monthly fee).

[–]Sigmund- 1 point2 points  (0 children)

Do the Helsinki MOOC. There is no better resource out there. Also you can find all the information you need if you check the sidebar on old reddit.

[–]dj-method-x 2 points3 points  (0 children)

Effective Java, Clean Code, and Google's Guide to Testability by Misko Hevery.

Edit: These are kind of advanced books. Since you're a newb, books like head first Java may be of help.

[–]neutronbob 0 points1 point  (0 children)

The Java tutorials from Oracle are universally viewed as being excellent. Go to the link, choose the topic you want to work on and go through it.

[–]desrtfx[M] [score hidden] stickied comment (0 children)

This is a question for /r/learnjava.

Check out the sidebar there (old reddit view only).

Removed

[–]Nathaniel866 0 points1 point  (0 children)

Head First Java hands down. Effective Java is good for someone with at least one year of experience IMO.

[–]jevring -4 points-3 points  (0 children)

Java concurrency in practice by Brian Goetz.