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

59 Mentors

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

20,037 Students

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

105 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

Exercism is a great website where I was able to have some very interesting challenges.

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 Lars Eckart

Lars Eckart https://github.com/LarsEckart

I'm very enthuastic about clean code and TDD. I've developed a few small android apps and otherwise microservices in java 8. I'm addicted to (un)conferences, meetups, watching conference talks online, or simply reading the classic books about software development. Never stop learning!
Avatar of Marcos Brizeno

Marcos Brizeno https://github.com/MarcosX

I like to keep learning about languages, tools and anything that make developing software fun!
Avatar of Samuel Braun

Samuel Braun https://github.com/MindLabor

My first programming language was Java. At the beginning it was quite challenging to write some code that does actually make sense. After a few days however, it became easier and fun to mess around with.
Avatar of Maksim Danilau

Maksim Danilau https://github.com/MaksimDanilau

I like clear and laconic code
Avatar of Adarsh K Kumar

Adarsh K Kumar My Blog

I'm a Software Developer with exposure to Java/Spring, Devops, Linux, Databases. Currently exploring Distributed Systems and Erlang.
Avatar of Maisam Somji

Maisam Somji https://github.com/msomji

I'm a full stack developer with a love for all things related to functional programming. I spend the bulk of my time solving complex problems using simple but not necessarily easy solutions.
Fun. Challenging. Interesting

Community-sourced Java exercises

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

OCR Numbers
hard
exception handling
lists
loops
parsing
strings
Wordy
medium
exception handling
integers
logic
parsing
pattern matching
regular expressions
strings
transforming
Error Handling
medium
exception handling
optional values
Diamond
medium
arrays
lists
loops
strings
text formatting
Parallel Letter Frequency
medium
concurrency
maps
strings
Rail Fence Cipher
medium
conditionals
loops
strings
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 Anna Weber

Anna Weber

I used to be a health economist, and am now on my way to becoming a software engineer. Exercism's Java track got me started with open source.
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 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 Logan Stucki

Logan Stucki Sometimes I blog on my site

I'm a 17 year old student and code artisian. I love writing code and making things. Currently, I enjoy answering stackoverflow questions and making webapps when not contributing to exercism.
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.

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

Join the Java Track