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

44 Mentors

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

10,465 Students

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

102 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

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

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 Abdul Wahab

Abdul Wahab https://github.com/arwahab

Software developer versed in Java & Spring Boot looking to teach others and also learn from them
Avatar of Peter Tillemans

Peter Tillemans https://github.com/ptillemans

I am an electronics engineer and language geek who learned programming on an hp-41 and C-64. Now I do mostly java, javascript, python, rust and haskell. I believe that code should sing its intent so the last row in the hall understands the last syllable.
Avatar of Shankar Shastri

Shankar Shastri GitHub Profile

Lover Of Pure Functional Programming.
Avatar of Cameron MacDonald

Cameron MacDonald GitLab

Java was my second language and I wrote it professionally as well for a recommender system.
Avatar of Jônatas Barbosa

Jônatas Barbosa https://github.com/jonatascb

Java is one of my favorite languages. It's very powerful and versatile. Besides, you can build once and run everywhere! :)
Avatar of Uzi Landsmann

Uzi Landsmann https://github.com/uzilan

I have been a developer for about 15 years, working daily with Java. I love learning new languages and am trying to learn and adopt a functional programming style.
Fun. Challenging. Interesting

Community-sourced Java exercises

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

Twelve Days
medium
arrays
conditionals
loops
strings
Robot Name
medium
pattern matching
randomness
regular expressions
strings
text formatting
Series
medium
conditionals
lists
loops
strings
type conversion
Queen Attack
medium
arrays
classes
conditionals
games
matrices
Change
hard
algorithms
exception handling
integers
lists
Book Store
hard
algorithms
floating point numbers
integers
lists
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 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!
Avatar of Frida Johanne Tveit

Frida Johanne Tveit

I'm a software developer working for Softwire, a UK based software company. I'm a full stack developer working with many different languages including Java. I love programming and helping other people learn more about it!
Avatar of Logan Stucki

Logan Stucki

I'm a 16 year old high school student. I like programming and java a lot. Contributing to exercism helps me to keep learning and get valuable experience. One day near, I hope to have a job or internship programming

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

Join the Java Track