Xah's Java Tutorial

java logo 3

Xah Lee, 2005-01, 2007-12

This is a brief tutorial on Java the language for those professional programers who may not have had experience with Object Oriented methodology, or those who wish to have a no-frills introduction to Java. This tutorial is example based, and explains the java language concretely. It explains how the language's various keywords and constructs effect the source code's meaning. (Think of it as a practical mathematical treatment) This tutorial does not use metaphors (such as “fruits→(bananas, apples)” for hierarchy) that are commonly practiced in most other Java books, nor do we try to tell you what's supposedly good practices and benefits of “software engineering” and OOP. We also avoid computer scientist's perspective with concepts such as “memory allocation”, “garbage collection”, “stacks”, “pointers/references”.

In summary, if you are a programer familiar with a high-level language (aka scripting language) such as PHP, Javascript, Python, Mathematica, you'll find this tutorial to the point.

Java Basics

... what society overwhelmingly asks for is snake oil. Of course, the snake oil has the most impressive names —otherwise you would be selling nothing— like “Structured Analysis and Design”, “Software Engineering”, “Maturity Models”, “Management Information Systems”, “Integrated Project Support Environments” “Object Orientation” and “Business Process Re-engineering” (the latter three being known as IPSE, OO and BPR, respectively).” — Edsger W Dijkstra↗ (1930-2002), in EWD 1175: The strengths of the academic enterprise↗.

Spend 30 minutes on each item per day, in order. After a month, you'll be a self-sustaining Java programer. (You are expected to already know one computer language.) The code here are tested with Java 1.5.0.

First, read this: What are OOP's Jargons and Complexities? It gives a concrete overview of what Object Oriented Programing means.

Basic Syntax and Types

Java References

Class and Inheritance

Abstract class, Interface, Packages

Misc Examples and Exercises (editing work in progress)

Functional Programing & lists in Java exercise

About The Author.

Note: Java is a trademark of Sun Microsystems Inc. This tutorial is not endorsed by them. The Java image on this page is created and copyright by Xah Lee. It is NOT the Sun Microsystems's Java logo.


Page created: 2005-01.
© 2005 by Xah Lee.
Xah Signet