(Part 2) Best products from r/learnjava

We found 25 comments on r/learnjava discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 65 products and ranked them based on the amount of positive reactions they received. Here are the products ranked 21-40. You can also go back to the previous section.

Top comments mentioning products on r/learnjava:

u/seanprefect · 2 pointsr/learnjava

Interfaces are often hard to understand, that's more a java thing than an OOP thing. As far as books go this one

https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304/ref=la_B000AQ1QDY_1_1?s=books&ie=UTF8&qid=1519328730&sr=1-1

is written by the same guy who wrote the java textbook i learned from (but that was like java 5 so my exact book would be out of date, this is up to date) I haven't read this one but going by how much I like my text book i'd imagine it's pretty good.


Going into interfaces and inheritance I'll attempt to provide a more approachable explanation. So classes can be sub classes of another object. This has 2 important affects.

First the subclass can access the properties and methods of its parent, this is useful for many reasons. You don't have to change every class when you want to make a change to some aspect, it also helps keep any given class from getting too large and complicated.

But the second important affect of being a subclass is that it allows other classes to know what a class can or can not do. So for example lets i have a class called animal, and it has the subclass dog, and I have another class called home which has a method that expects an animal. Since dog is a subclass of animal my home class knows it can treat dog like an animal. which involves casting the dog to animal, basically you're telling the JVM "Until i tell you otherwise treat this dog as just an animal" so after that casting you've got a dog but it's only treated as an animal (until you cast it back to dog) this is called polymorphism.

now the thing about subclassing , in java you can only be the child of one class, (this is a java thing not a general OOP thing, different languages have different approaches and there are pros and cons) but what if you want multiple superclasses ?

This is where we have interfaces. Implementing an interface basically promises the JVM that the methods that exist in the interface exist in the class. This means that you can treat classes that implement the interface the same way because you have a list of what you can do with the class , but you don't really make it a proper child of the class.

u/bleki_one · 3 pointsr/learnjava
  1. IDE. The quicker you start the better you will be. Writing code in Java without IDE is possible, but in real development you will use IDE. SO the quicker you start lerning one of it (all useful tricks) then better for you. The only disadvantage is, as my class mate said "when you are using IDE you will end up with typing 'syso' and CTRL+space to complete syntax, without remembering that it is 'System.out.println()'". Because of that, some resources recommend to use text editor. But I think better way is to use IDE from start.

  2. I'm not in the point yet to tell you when.

  3. In London and into Java? London Java Community is one of the biggest local JUGs around the world. Check http://www.meetup.com/Londonjavacommunity/. We have plenty of events around Java, where you can learn new stuff. It's maybe not as useful for beginners as for advanced developers (I consider myself as beginner too), but you can find your place there. Also we have in plan to run computer club under the wings of Graduate Developers Community (more beginners friendly) which is associated with LJC.

    Anyway London is a great place if you want to be involved in any community, there is plenty of them.

  4. I recommend "Java, A Beginner's Guide" by Herbert Schildt (http://www.amazon.co.uk/Java-Beginners-Guide-5th-Edition/dp/0071606327). I tried few others, but this one is the best in my opinion.

    PM me if you are interested to join LJC. I'm quite active member of it and we are almost same age (34).

    Another thing is, if you think that 10 weeks course (even intensive) teach you Java, then you are wrong. I don't think anyone can say I learn all Java.
u/Brandonthegeek · 3 pointsr/learnjava

You could go down two routes IMO: learn some algorithms and data structures, or start working with a more complex domain.

For the algorithms and data structures, this would be mostly stuff you'd learn in a second semester CS program course. In fact, you can work through some of these classes that are open, like the one at Berkeley. Another option is to pick up a good book; I personally love the Algorithm Design Manual. This will give you a really firm foundation on computation (not just programming in Java). It's also great practice for jobs since most interview questions revolve around these concepts.

For a new domain, I'd recommend Android development, since it's all done in Java. There's tons of documentation and resources for that, and loads to learn outside of just programming in Java. Not to mention you can carry around your work in your pocket and show off to potential employers. Aside from that, you can volunteer for an open source project. Apache has tons of projects in lots of languages.

u/ingl0ri0usandr0id · 3 pointsr/learnjava

Look for a good simple book on swing and get reading. It sounds like a reasonably simple project so you probably won't need to read a huge amount of a book to get enough basics together to make a working assignment but it's up to you and how far you want to go.

I like this book but I can't say how it would read to a beginner since I already had a lot of experience with Java in general before I picked it up. Good luck mate

u/Java_Junior · 1 pointr/learnjava

I think you should not avoid a course or a book because you think it's boring. Boring does not mean the content isn't important to learn. I moved from Python to Java; all the Python books were fun and exciting, and all of the Java books are boring and dry. But you just have to power through it.


Java: A Beginner's Guide by Schildt is a very good book, but it is boring, and some of the examples are wack. I haven't found a perfect book yet.


This guy is a pretty good teacher and his lessons are short. Some of his examples are a little weird too but overall I like him.


Also remember that HTML and CSS are not programming languages. Java and JS are, and therefore they are a lot more complicated. Being in a classroom setting might be extremely beneficial.

u/Thetoeknows · 1 pointr/learnjava

I am studying for the OCA right now, too, and I hope to take it at the end of July. I also started with the MOOC but never finished it as I started getting a bit fed up with the typos and some of the "arbitrary" exercises that didn't really appeal to me. I did other exercises from different websites instead.


Basically, I have been learning Java since January this year, and it is my first programming language (I am entirely new to coding as I am transitioning careers). I thought hey, why not do OCA since I have no prior experience in coding, and this will prove to prospective employers that I at least know SOMETHING about OOP and Java. It has been challenging, but this is what I am using / doing to study.


January, 2019: Start learning Java with Helsinki MOOC

February: Learn that Oracle has a certification for Java and decide I should go for it

March: Order study materials

April: Start learning OCA via books. Make goal to take exam within 4 months

May: Finish all new study topics in books

June: Practice topic-based questions until I can get between 90-100% in all topics

July: Mock exams at home, hope to take OCA exam on July 30th

​

The materials that I am using are the study guide and the practice test books written by Jeanne Boyarsky and Scott Selikoff, and I have, so far, found them excellent. The book are generally very conversational in tone, and every single question has an explanation for its answer. I have learned a TON about the way Java (and OOP in many ways) function just by preparing for this exam and despite not finishing the MOOC. Here is a link if curious:


Study Guide

Practice Tests (OCA / OCP)


The cool thing is that both of these books have an online component where the revision questions can be done on your computer, and it keeps track of your scores and allows you to "create" your own quizzes and exam simulations based on the available question bank. I am currently spamming these until I git gud.

​

Since I am now at the "I've finished the material, now let's bang it all into my head repeatedly until I can remember it all" stage, here are the tips I have found as I have been learning for the past several months:


  1. I read each chapter once over first, just to get a feel for what was in it. Then, I let it sink in for a day or so. It took me about 2 days to read each chapter (between 4-6 hours in total), as I read slowly and carefully. I marked down in notes any concepts that I wanted to remember IN THE FORM OF QUESTIONS that I could ask myself later as revision, and I underlined these ideas in the book.

  2. The second read-through I did all the code pieces, even the examples, and I played with them a bit by changing variables, scope, modifiers, etc., just to get a feel for it. My IDE has now about 3 bazillion classes saved in it lol.... However, I would recommend also using a text editor for typing out code. The exam itself, as you know, makes you be a "human compiler", so you have to get used to reading unhighlighted code. I usually typed my code into a text editor first, looked at it, tried to imagine what it was going to do, whether it would compile, etc., then checked my answer via IDE, THEN I checked the book's explanation. It was slow, sure, but I learned a lot. For code pieces that I just could not wrap my head around the first, second, or even third time, I used Pastebin to paste my code with comments in it, explaining what each line did, so now I have a record of it.

  3. After the second read-through, I asked myself all of the questions that I had previously wrote to see if I could remember them. Some of the things, yeah, just take simple memorisation, like order of initialisation with static / non-static variables and non-static methods in the same code piece, certain methods that go only with certain classes, how String and StringBuilder use .equals and ==, etc., so I found this technique helpful.

  4. After the second read-through, I attempted the chapter review questions. I typed them into my text editor, thought about them, dumped them into my IDE, then I checked all the answers in the back of the book, even for the questions I got right. I forced myself to say, out lout, like literally talking to myself, the justification / rationale for the answer. I found this oral strategy pretty helpful, too.

  5. Now, I am working my way through each topic-based chapter exercises online on the book publisher's website / practice portal, and once I can consistently get 90% on each topic, I will start doing mock exams. The study guide comes with one free mock exam, and the practice tests book comes with a TON of very targeted topic-based questions as well as 3 mock exams. I have also purchased a Udemy pack of 4 mock exams for 10 euro and I will also get the Enthuware mock exams for 10 dollars (I believe it is 8 mock exams).


    Yeah, I hear you that, as a new Java learner, there is a LOT to remember and there are some intricacies that more experienced coders will think are trivial and silly, but for us newbs, it is a challenge. My BIGGEST recommendation is this, though: Even if you do none of what I did, make sure you do SOMETHING every single day. I took about 2 weeks off in May and it set me back big time. I had to go back and revise 2 chapters because I forgot stupid little things. STUPID little things are the killer for me on this, and the more often you practice, the more you will remember as it all soaks in.

    ​

    I hope this was helpful, and if you want to chat about the exam or anything else, message me!
u/Sigmund- · 1 pointr/learnjava

I have heard very good things about Java Cookbook by Ian F. Darwin. Has anybody read it? Would you recommend it? I am currently on the last chapter of the Helsinki MOOC and would like a way to continue learning besides practice (I already know that that is the best way).

u/fiveofakind · 1 pointr/learnjava

I used Core Java Vol 1 9th edition by Cay Horstmann: http://www.amazon.com/Core-Java-I--Fundamentals-9th/dp/0137081898/

I thought it was pretty good as a beginner. Chapters 3 to 6 are especially useful and good.

u/owen800q · 1 pointr/learnjava

You are wrong, the only books to learn Java foundation is core Java..
Of course, you should read some books about algorithms but not necessarily related to Java,
I recommend
Algorithms to live

Also I don't think the book effective Java should be read at the beginning.. because this book is used to tidying up your knowledge....
The value of studying a CS program is they are not only programming, the more they are doing problem solving by building large project rather than continually doing exercises in books.

The books you have read are quite enough, just start building something..

u/opaz · 1 pointr/learnjava

Thank you for suggesting this! The style of learning the book serves is right up my alley. Do you have any other suggestions of books that are just like this? One book I enjoyed reading in a similar fashion was Grokking Algorithms

u/mofomeat · 1 pointr/learnjava

I don't know about its lighthearted-ness, but Cay's texts are usually pretty decent and somewhat 'friendly'. There is Core Java for the Impatient covering Java 8 as well as a newer version that covers Java 9.

u/angryRake · 1 pointr/learnjava

OP you're looking for OOP analysis and design. You also want to look at design patterns. Anything on OOP software design or the proper use of objects. If you find a course let me know - the only one I found was a linda.com course and it was relatively brief.

Come to think of it Derek Banas, on YouTube, does a good job of illustrating a lot of these concepts - definitely check it out. I'd supplement it with a decent book though.. This was a decent: http://www.amazon.co.uk/Beginning-Java-Objects-Concepts-Edition/dp/1590594576

It begins with the usual syntax stuff and some language features - some of it is worth a read.. But the second half of the book was quite decent.

u/SpeculativeEffort · 1 pointr/learnjava

We used this book in my intro CS classes: https://www.amazon.com/Starting-Out-Java-Control-Structures/dp/0133957055

Found it to be really good and full of examples and explanations. You can find the book for free if you search around.

u/BertilMuth · 3 pointsr/learnjava

It will certainly take time. How long is hard to say. One thing is being exposed to code, and writing code yourself. Another thing is actually collaborating with people that are more experienced - that helped me a lot. An eye opener in my coding journey was the "Gang of Four" design patterns book (https://www.amazon.de/dp/B000SEIBB8/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1). The risk is that you will overdo design patterns at first, but that will hopefully settle :-)

u/Yorshelf · 8 pointsr/learnjava

IMHO books if you're an absolute beginner (which you are).
You need a solid foundation, few online courses can give you that.

My favorite, very pedagogic writing style
Head First Java is also reknown (the teaching style just happens to not be my cup of tea) .
Both books are well known, you can find them online.

u/chris-c-thomas · 5 pointsr/learnjava

I'll second the Core Java series.

If learning programming from the beginning though I really like Absolute Java

There's also a C++ version of the textbook. Used both in college CS. Good books.

u/dbakathaillist · 1 pointr/learnjava

I used this site to help me learn. I also supplemented what I learned with this book here. Worked well for me.

u/lbkulinski · 1 pointr/learnjava

The third edition of Effective Java might be helpful. It was updated for Java 8 and 9. For 10 and 11, I suggest taking a look at some of Oracle’s articles. This one covers local variable type inference.

u/realizmbass · 1 pointr/learnjava

Tony Gaddis's book was my go-to for my intro to java class. You also probably can find a way to not buy it. Use libgen.io