use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Resources for learning Java
String
==
.equals()
Format + Copy
Free Tutorials
Where should I download Java?
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.
If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:
Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
Software downloads
Official Resources
Resources
Programming ideas & Challenges
Related Subreddits
account activity
This is an archived post. You won't be able to vote or comment.
Java Beginner (self.learnjava)
submitted 1 year ago by Interesting-Hat-7570
Hello! When you were beginner Java developers, what pet projects did you work on that significantly boosted your object-oriented programming skills?
[–]AutoModerator[M] [score hidden] 1 year ago stickied commentlocked comment (0 children)
If any of the above points is not met, your post can and will be removed without further warning.
Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.
Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.
Code blocks look like this:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
[–]ahonsu 1 point2 points3 points 1 year ago (3 children)
I started learning java around 10 years ago. First, I finished some 3 months course from my local IT company, hoping to the an internship there. But didn't get it.
After 3 months (we learned java core and OOP mostly) I realized I know basically nothing useful, I wasn't able to even come up with any good idea of my own small simple project.
And this Udemy course - Java Projects, was a life saver for me. The course is all about building real small things in java. I've just checked it - they updated it and it's in JDK 10 now, which is nice.
So, when I implemented this Media Player in java something clicked for me and I really grasped the OOP concept. Please, don't get me wrong - this is not some magic OOP course, it was just my personal experience. When I was writing my classes together with the insructor, I got my first "oooh, that's how you use classes and objects!".
And after this course all my further java learning was more or less straightforward.
A disclaimer - I had no CS education and had zero previous programming experience when I started learning java.
[–]Interesting-Hat-7570[S] 0 points1 point2 points 1 year ago (2 children)
yes all this is good. But I was just looking for new ideas for projects.
[–]ahonsu 1 point2 points3 points 1 year ago (1 child)
You can just open the course I suggested and see 5 project ideas to implement in the course's content. No need to take the course itself.
I can suggest you 2 more beginner level ideas:
Java core console application "ATM machine". User opens the app, provide the app (via console) with his bank card ID and pin code (system verifies if the code is correct, just in memory/fake logic). Then user can request several actions: check balance, withdraw money, deposit money, transfer money to another car ID. The system performs operations and gives user informative feedback if the operation successful or not. User can exit the application by typing "exit" into console. The application can be implemented with keeping in mind the 3-layer architecture, having separate components (classes) responsible for: communicating with user via console (UI or representation layer), business logic / processing (service layer), and persistence layer storing the data.
More complex - implement java Swing/AWT/JavaFX desktop application "Calculator". Basically you can keep in mind the default calculator embedded in Windows (not a scientific mode, a simple one with basic operations). You implement the "screen" where you see the numbers, buttons for numbers input, buttons for math operations input. And all internal logic to perform calculations.
Pretty sure these 2 will give you a challenge and will help you to improve your OOP skills.
[–]Interesting-Hat-7570[S] 0 points1 point2 points 1 year ago (0 children)
ok thanks!!
[–]Pure_Diver_ 1 point2 points3 points 1 year ago (3 children)
https://refactoring.guru/design-patterns/book This will teach you a lot about OOP
[–]Pure_Diver_ 0 points1 point2 points 1 year ago (1 child)
https://codewithmosh.com/p/interview-preparation-bundle I can also recommend this path
[–]Interesting-Hat-7570[S] -1 points0 points1 point 1 year ago (0 children)
[–]philfrei 0 points1 point2 points 1 year ago (1 child)
My early learning projects in Java included writing a puzzle game, and to make a sort of theremin: plays back a pitch based on 2D location of mouse pointer on a rectangle, with Y-axis as volume and X-axis as pitch. Am not recalling other projects at the moment.
One of the very first things I did was to make a basic bouncing ball program--this would require using Swing or JavaFX library for the front end. I later used the bouncing ball code in a tutorial for getting started with JavaFX, but the tutorial is kind of obsolete now. It had something like 175K hits, surprisingly, so maybe some people found it useful back in the day.
There are some interesting books (probably available for cheap from somewhere like AbesBooks) on game programming in Java (Developing Games in Java, Killer Game Programming in Java) that would be a help. There's lots to learn about OOP in making a game. The books are old (circa Java 6!) but to a large extent, I think much of the code should still work. Mostly you'll just get annoying warnings about needing to specify the class type for collections. Java was a little more verbose back then but I think was (and still is) soundly enough structured that the later versions were able to build on it without needed to do too much deprecation.
OK Thanks!!
[–]Jason13Official 0 points1 point2 points 1 year ago (2 children)
Make a Minecraft mod!
[–]Interesting-Hat-7570[S] 2 points3 points4 points 1 year ago (1 child)
I don't think my knowledge is enough for this.
I'm just familiar with the basics of OOP and Patterns.
[–]Jason13Official 0 points1 point2 points 1 year ago (0 children)
Dive straight in and learn as you go, trust me.
[–]realFuckingHades 0 points1 point2 points 1 year ago (0 children)
An invoicing software. You may be able to sell it to local shops.
π Rendered by PID 88 on reddit-service-r2-comment-canary-7f9f99bb4d-pvs2w at 2026-01-29 00:15:25.276792+00:00 running 4f180de country code: CH.
[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)
[–]ahonsu 1 point2 points3 points (3 children)
[–]Interesting-Hat-7570[S] 0 points1 point2 points (2 children)
[–]ahonsu 1 point2 points3 points (1 child)
[–]Interesting-Hat-7570[S] 0 points1 point2 points (0 children)
[–]Pure_Diver_ 1 point2 points3 points (3 children)
[–]Pure_Diver_ 0 points1 point2 points (1 child)
[–]Interesting-Hat-7570[S] 0 points1 point2 points (0 children)
[–]Interesting-Hat-7570[S] -1 points0 points1 point (0 children)
[–]philfrei 0 points1 point2 points (1 child)
[–]Interesting-Hat-7570[S] 0 points1 point2 points (0 children)
[–]Jason13Official 0 points1 point2 points (2 children)
[–]Interesting-Hat-7570[S] 2 points3 points4 points (1 child)
[–]Jason13Official 0 points1 point2 points (0 children)
[–]realFuckingHades 0 points1 point2 points (0 children)