Java

Join the Java Track
Java is a very widely used Object Oriented programming language. It's safe, simple to use and portable so that you can "write once, run anywhere".
Join the Java Track
Track mentors

76 Mentors

Our mentors are friendly, experienced Java developers who will help teach you new techniques and tricks.
Track students

46,998 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

114 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Java

class Greeter {

    String getGreeting() {
        return "Hello, World!";
    }

}

Java is among the most popular available programming languages, thanks to its versatility and compatibility. It is widely used for software development, mobile applications and developing larger systems.

Java was born in 1995 and is maintained by Oracle. Despite the fact that it isn't as young as some of the fresh languages out there, Java is still really popular. It was designed to be fast, secure, reliable, beginner-friendly and highly portable. This portability perk exists because Java is executed on a cross-platform compatible Java Virtual Machine - JVM. Android apps are also developed using Java, since the Android Operating System runs on a Java language environment.

The Java community is huge! GitHub for example has over 1.5 million Java projects. It's also worth mentioning that Java has the second largest community in StackOverflow! This is important because the larger a programming language community is, the more support you'd be likely to get.

Java also has a powerful and well-designed set of built-in APIs - Application Programming Interfaces, which can be used for various activities like Database connection, networking, I/O, XML parsing, utilities, and much more.

From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

Join the Java track

Exercism is a great website

What I like about it is that I am able to solve the challenges in a TDD way working in a environment that I am familiar (my own PC not a browser IDE) and the cherry on the top of the cake is that I have access to code reviews.

Relaxed. Encouraging. Supportive.

Meet the Java Track mentors

Once you join the Java language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Oleksandr Shmatko

Oleksandr Shmatko https://github.com/Ne0t0N

I'm a Software Engineer working with Java since 2012. Love to learn new languages and currently trying to master Nim.
Avatar of Alex Jablonski

Alex Jablonski https://github.com/ajablonski

I work as a software developer for a tech consulting company. No matter what language I'm working in, there's always a soft spot in my heart for Java.
Avatar of Thomas Gamble

Thomas Gamble https://github.com/gambtho

Enjoy solving problems and helping others learn. I've written java professionally, and also use it for open source projects.
Avatar of Sushovan Karmakar

Sushovan Karmakar GitHub Profile

I am professional Java Developer who want to contribute in open source. I want to share my knowledge and experiences to help others to reach their goals
Avatar of Alejandro Diaz

Alejandro Diaz Blog

I started work as a data analyst in 2017, doing typical excel stuff. I slowly discovered programming and am now entering my Master's in CS.
Avatar of Marco Bolis

Marco Bolis https://github.com/mbolis

I've been writing OO Java code for the last ten years or so. I also know a couple other languages and paradigms. I believe one should learn to think their code from many POVs. And dream big.
Fun. Challenging. Interesting

Community-sourced Java exercises

These are a few of the 114 exercises on the Java track. You can see all the exercises here.

Matrix
medium
arrays
integers
loops
pattern matching
strings
type conversion
Say
easy
integers
Series
medium
conditionals
lists
loops
strings
type conversion
List Ops
hard
filtering
functional programming
generics
lists
loops
Hangman
hard
strings
reactive programming
functional programming
Pascal's Triangle
medium
algorithms
arrays
exception handling
integers
matrices
math
Passionate. Knowledgeable. Creative.

Meet the Java Track maintainers

The Java Maintainers are the brains behind the Java Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Jason Runkle

Jason Runkle

I have been writing Java code professionally for the past 3 years and I have had a wonderful experience with it. The functional style of Java 8 took some getting used to, but it really improved my team's codebase and productivity.
Avatar of Sam Warner

Sam Warner

I am a software developer and consultant working for Black Pepper Software, a software company based in Leamington Spa, England. I'm a recent Computer Science graduate from the University of Warwick, and love all things to do with computers!

Get started with the Java track. As with everything on Exercism, it's 100% free!

Join the Java Track