Need help:I want to learn Java

So my friend started learning how to code a long time back (primary school we were about 11) he learned python then he learned java.And basically he keeps telling me to learn Java and I agreed(Note:I also wanted to he isnt forcing me) so I bought a book...but that book completely confuzeled me because it was meant for people who already new a different language(the book was Head First Java).

So what I'm asking is what book do I get for Java that is meant for beginners to coding and Java and only has basic knowledge of how computers work,well alot more than the average person atleast. I'd like if it was in a casual tone and explained everything clearly and simply some clear diagrams here and there. (if you could provide links that'd be great!)

Also anything that is coding for games using Java related is useful (Is there a book for coding games using Java? after you've learnt Java of course)

Well anything Java related is helpful.

You could give this a crack:

well... that's javascript, not java... theya re completely different things.

that said, going through the javascript course is a good way to get started in coding

You can tell what I don't do for a living :p 

well, the textbook I have for my java class is "Data Abstraction & Problem Solving with Java: Walls & Mirrors" 3 ed... however, I would find a newer textbook, as this is based off java 6, and java 8 is coming out this spring.

Why don't you get your friend to teach you?


knowing java, and being able to teach it are two different things....

I'm sure they have published an updated edition of this book for current versions of java...That is the money house of publishing...

^ True.

Alternatively, learn with someone - learning in groups works wonders. I personally recommend choosing a project (one that you have no idea how to accomplish, but something you would like when you've finished it, and learn on the go - can be great for project motivation).

Also, if you're completely new, I'd check out the Java Tutorials online as these should be up to date, and easy to find with a Google search should you want to refer back to something:

Lastly, to this day I am still learning things, due to different projects and scope, learning new languages etc etc.Learning is a life long process. So come to terms with the fact that you will never know everything and that Google is your friend!

One of the problems with learning a programming language is not the language itself, it is learning how to learn it. This is how some developers can pick up new languages or paradigms relatively quickly.

He himself admitted hes a terrible teacher.

Incase it wasn't clear my aim is to program games with my friend. I really just want to get to a stage where I can program a top down shooter game that's my aim for now.I might then move on to JavaScript as I think Unreal script is very like it and I'd like to work with the unreal engine and then I want to move onto modelling with 3ds max etc and then animation and then I'll be off to college (I think I'm a bit ambitious to get all that done)    

There is no end all be all starting book for Java, or even a starting location. What the responses from various people are saying is you should start with codecademy JavaScript as its free and will give you a good basic familiarity with the syntax and basic structure Java, then if you wish to go on you can. My personal suggestion is to look on Amazon, find a Java book for the current version of Java that has a solid quantity of good reviews, then get it and just dive in and power through. After that it comes to a balance of learning on your own by doing and learning from some sort of source material when you're really really stumped. I can't give any words on modelling or animation as I have pretty much no experience with that(except a little 2d level design in Blendr and that's not really what you're talking about)

The book I use to teach Java is:  Java How to Program.  It definitely starts from the beginning.  The first two chapters do nothing but go over what a computer is, what an operating system is, how computers communicate, what the web is, the history of web application, etc.  And the third chapter starts with the absolute basics of programming.  It’s a good beginner’s book, although I have found a few mistakes in it.  Nothing horribly glaring, just a few minor mistakes.  Here’s the link on for the book:

To be honest, I would just start with Marty Hall’s Introduction to Java tutorial:

Marty Hall is the author of one of the most widely used Java books for web development—Core Servlets.  His online tutorial is kind of the same thing as the Java How to Program book.  He starts from the beginning as well.  He even walks through how to setup a Java project in Eclipse.  Plus it is free and easy to use.  If you find that Marty’s tutorial goes too fast, then maybe start with Java How to Program, and switch to Marty’s tutorial once you get the hang of basic Java development.

The website linked is way more than enough to get started. There is literally everything you need to know about java in the link found on this thread.

Right now i'm taking a really good course, it feels just like taking a college course, go ahead and try it you wont be loosing your time

I'm in college and this semester I took a beginners class in Java. Java is not easy to learn, but it will be even harder if you haven't practiced with a lower level language like JavaScript, so if I were you I would use  to learn JavaScript first. After you learn JavaScript you should use the book i'm using in the class, you can find it online by doing a file type search in Google  I hope this helps.