To really take advantage of the opportunity to learn the Java Programming Language, I came to the conclusion that the internet was my best friend. Over a period of weeks as I continued to learn. There were about 5 major websites that I referred to on a constant basis for Java application examples–and I’d like to share them with you.
First, let me recommend that no matter what, you should pick up a book or two on Java. Books allow someone to focus almost completely, whereas the internet is oftentimes shrouded by distraction or multitasking. I personally find that owning the book is best, since it gives me the capability to highlight important pages or mark specific sections with a sticky note. This works best for me, but of course your mileage may vary.
Next, I would turn to a variety of online sources to give you relevant java application examples and different explanations for the concepts presented in a book. Below I’ve outlined several websites where you can do just that–and even a bit more.
A valuable database full of Java programs, Planet Source Code boasts one of the largest Java code databases I’ve seen on the internet. Within the website, you’ll find the source code for thousands of Java applications, games, and utilities. Some of the categories on Planet Source Code even include programs dealing with security, data structure, and applets–to name a few.
While you’re there, I would highly recommend viewing PSC’s java program Hall of Fame, where the most impressive or well written code submissions from the past few years are displayed. I personally found that the programs in the Hall of Fame were useful and professional. Oh, and of course–the source for all of the programs is free for you to use, monkey with, and recompile on your computer.
Hands down one of my favorite sites as a Java Resource, Freeware Java provides source code for hundreds and hundreds of games and applications. This is by far one of the most valuable websites I’ve had access to over the past year for learning Java. My suggestion for using this as a resource is to look at a game or application similar to an area of interest you have, or even a program you want to write. If I want to write an air hockey game, it would be very beneficial to get coding ideas from another programmer’s “Classic Pong” source code, and improve on his or her methods and ideas.
If nothing else, Freeware Java gives you source code access to quite a few well written Java applets and Java application examples. I’d recommend you go straight to the applets page to check out the source for chat rooms, games, website scripts and more.
Java Galaxy is another internet database with hundreds of applications and games complete with free source codes for your learning pleasure. The difference between Java Galaxy and some of the other source code databases in this article is that Java Galaxy source codes are smaller and simpler–the programs aren’t as complex. I would recommend that if you’re a new Java programmer looking for simple examples, you check this site out before the others.
If you’re only about the source code itself, then just go straight to that page. However, feel free to take a look at some of the other interesting features that Java Galaxy has to offer, such as sample interview questions for java developers, or a practice test for the SCJP exam.
Java2s is a relatively popular resource for Java developers because it contains a useful database of example code for different aspects of the Java language. An aspiring coder would be hard pressed to find something java related that isn’t contained somewhere in the Java2s website. One valuable resource that the site offers is a very structured Java Tutorial section which especially centers on file I/O and Swing, but has a section on almost everything.
Caution; this site doesn’t have any eye candy or pretty flashing lights that many websites today thrive off of–you can expect a practical, organized java resource and nothing else. While the site is not 100% dedicated to program source codes, I decided to include it because it still offers a large amount of code, but in a structured and ordered manner that I found extremely helpful.
Java DB provides access to a database of Java programming tips and example Java code for certain problems. The site’s layout is relatively simple and convenient as far as content management goes. Code examples and tutorials are separated into small box-categories on the home page, and there is a Google site search box for accessing quicker, more targeted results. Also on this site is an excellent free. Although a work in progress, the tutorial is comprehensive, informative, and clear.
Learning Java can be an extremely daunting process, especially if you’re preparing for the SCJP exam or something to that effect (if you are, I feel your pain). I often find that one of the best ways you can gain an understanding of something is by jumping headlong into it. Learn from other people, get your hands dirty, ask questions and make mistakes (I certainly do). Hopefully this article gave you a few resources to use in learning Java or getting a feel for its practical uses.
If you have a site to add to this list, let me know in the comments section and I might add it to the article.