This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Ive been teaching myself Java for a few months (with a short break in between), and have a question regarding my study techniques. The first book I used was Java The Complete Reference by Herbet Schildt. That is not a easy book for a beginner, and now I'm thinking it isn't meant to teach one how to program (hence the word "reference" in the title). Right now I'm using Deitel's Java How to Program 8th edition. I find it much easier to understand, which may be because it's mostly review at this point. However, it really does seem to be written to teach one how to program, and not just list theories and OOP concepts like the other book.
Now, my question is should I just start Java How to Program and go from page 1 all the way to the end? I also have some Android programming books, and am wondering if I should be taking time to go through that book to put what I'm learning into real use (instead of making for loops that count from 1 - 10, for example). Is going through the book chapter by chapter and doing the exercises by myself really the best way to learn to program? Or is it not enough, and should I be supplementing with another book, like the Android Cookbook?
My long term goal is game design, but I'm open to other form of programming, too.
You hit the nail on the head when you said that you should put what you learn to "real use". In my experience, that's the best way to learn. Do the exercises, then come up with an idea for a complete application utilizing everything that you learnt in each chapter.
You said that you want to program games, so here's a challenge for you. After you've covered the basics of user interfaces, create a simple naughts and crosses game. If you haven't done user interfaces yet, write a naughts and crosses game that runs in the command line.
"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." - George Bernard Shaw
Joined: Oct 17, 2011
Thanks for the reply! The problem with the book I'm using is that it doesn't give answers for all of the examples. So, when it tells me to make an application that does a certain thing, I don't have anything to check my application against to see if it's correct or not. I also don't have anyone living near me (I'm in Taiwan) that can help me out with this stuff. So, that's why I mentioned using the Android Cookbook. Would learning to make simple Android apps with Java be a good way to learn to program with Java?
Another question is the connection between the GUI elements of Java and all the stuff I'm learning now. I'm guessing that real programs use for and while loops, ifs, etc., in combination with the GUI elements of Java. Since the section dealing with GUI in Java books is usually placed towards the middle or end, I haven't learned much about it yet. Should I jump ahead and be learning how to make GUIs, too?