Short book introducing basic programming concepts using Java. Work in progress.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Programming Basics With Java

This is a collection of tutorials aimed at people with little or no programming experience who want to (or have to) learn programming using Java.


The goal is not comprehensiveness (explain everything) or depth (explain fully). Rather, this aims to get someone up and running quickly so they are able to read existing tutorials and books on their own without stumbling on the basic concepts ("what is static doing here?")

A lot of concepts and detail are left out on purpose to avoid confusion and information overload.


Java can be a daunting first language because of its verbose technicality. You can't really do anything in Java without something like this:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World");

What is a class? What the heck does public? What is void for?

You get the idea.

The approach here is to identify and explain the basic elements that need to be understood in order to write Java code. There are two broad types of such elements:

  • General programming concepts (types, classes, loops, etc)
  • Specific Java programming concepts (class and method syntax, etc)


The code shown here should work in all versions of Java available on most common desktop operating systems (Windows, OSX/macOS, Linux, BSD).


If you feel like I've missed something crucial, or made an error in the copy, please file a pull request! I'll review and incorporate most feedback (though I may reject a PR if it goes against the stated goal of getting someone up and running quickly).