Learn Java Programming

The Definitive Guide

Java is a popular general-purpose programming language and computing platform. It is fast, reliable, and secure. According to Oracle, the company that owns Java, Java runs on 3 billion devices worldwide.

Considering the number of Java developers, devices running Java, and companies adapting it, it's safe to say that Java will be around for many years to come.

This guide will provide everything you need to know about Java programming language before you learn it. More specifically, you will learn about features of Java programming, its applications, reasons to learn it, and how you can learn it the right way.

What is Java Programming Language?

Before getting started on Java programming, lets get familiarized with the language first.

Why Java was Created? A Brief History

In 1991, the team "Green Team" led by James Gosling at Sun Microsystems created a programming language for digital consumer devices. The language was called Oak then. Why Oak? Because there was an oak tree outside Gosling's office.

The "Green Team" demonstrated the use of the language with an interactive television. However, it was too advanced for the digital cable television at the time, and more suitable a technology that was starting to take off, the Internet.

Later, the language was renamed Green and finally renamed Java from Java coffee; hence the coffee-cup logo.

Since C/C++ was popular back then, James Gosling designed the language with C/C++ style syntax, and philosophy "write once, run anywhere". After years, Sun Microsystems released the first public implementation of Java in 1995. It was announced that the Netscape Navigator Internet browser would incorporate Java technology.

In 2010, Sun Microsystems was completely acquired by Oracle Corporation along with Java.

Java Version History

  1. June 1991 - Java language project was initiated
  2. JDK 1.0 - January, 1996
  3. JDK 1.1 - February, 1997
  4. J2SE 1.2 - December, 1998
  5. J2SE 1.3 - May, 2000
  6. J2SE 1.4 - February, 2002
  7. J2SE 5.0 - September, 2004
  8. Java SE 6 - December, 2006
  9. Java SE 7 - July, 2011
  10. Java SE 8 (latest version) - March 18, 2014
  11. Java SE 9 - July, 2017 (announced release date)

Features of Java Programming Language

  1. Java is platform independent

    Java was built with the philosophy of "write once, run anywhere" (WORA). The Java code (pure Java code and libraries) you write on one platform (operating system) will run on other platforms with no modification.

    To run Java, an abstract machine called Java Virtual Machine (JVM) is used. The JVM executes the Java bytecode. Then, the CPU executes the JVM. Since all JVMs works exactly the same, the same code works on other operating systems as well, making Java platform-independent.
  2. An object-oriented Language

    There are different styles of programming. Object-oriented approach is one of the popular programming styles. In object-oriented programming, a complex problem is divided into smaller sets by creating objects. This makes your code reusable, has design benefits, and makes code easier to maintain.

    Many programming languages including Java, Python, and C++ has object-oriented features. If you are serious about programming, you should definitely learn object-oriented style of programming.
  3. Java is fast

    The earlier versions of Java were criticized for being slow. However, things are completely different now. The new JVMs are significantly faster. And, the CPU that executes JVM are also getting more and more powerful.

    Now, Java is one of the fastest programming languages. Well optimized Java code is nearly as fast as lower level languages like C/C++, and much faster than Python, PHP etc.
  4. Java is secure

    The Java platform provides various features for security of Java applications. Some of the high-level features that Java handles are:

    - provides secure platform for developing and running applications
    - automatic memory management, reduces memory corruption and vulnerabilities
    - provides secure communication by protecting the integrity and privacy of data transmitted
  5. Large Standard Library

    One of the reasons why Java is widely used is because of the availability of huge standard library. The Java environment has hundreds of classes and methods under different packages to help software developers like us. For example,

    java.lang - for advanced features of strings, arrays etc.
    java.util - for data structures, regular expressions, date and time functions etc. - for file i/o, exception handling etc.

Applications of Java

Java technology is everywhere, powering 3 billion devices worldwide. It's more than likely that you have used Java one way or the other. Here are some of the applications of Java.

  1. Android apps - Java programming language using Android SDK (Software Development Kit) is usually used for developing Android apps.
  2. Web apps - Java is used to create Web applications through Servlets, Struts or JSPs. Some of the popular web applications written in Java are:,,, etc.
    It's important to note that, these sites may not be entirely written in Java, and may use other programming languages along with Java.
  3. Software Development - Softwares like Eclipse, OpenOffice, Vuze, MATLAB etc use Java.
  4. Big Data Processing - You can use popular software framework like Hadoop (which itself is written in Java) to process Big Data. To use Hadoop, you need to understand Java programming.
  5. Trading System - You can build trading applications having low latency using the Oracle Extreme Java Trading Platform.
  6. Embedded Devices - While C/C++ programming languages are still popular choices for working with embedded systems, Oracle's Java Embedded technologies provide platform and runtime for billions of embedded devices like: televisions, SIM card, Blu-ray Disc players etc.

Besides these applications, Java is also used for game development, scientific applications (like natural language processing), and many others.

Java Terminologies You Need to Know Before You Start

Learning a new programming language can be challenging. You will hear a lot of new terms which can be overwhelming for a newbie. So, we have decided to explain a few terms that you are likely to hear in the world of Java programming language.

Note, this is not the complete list of Java Glossary. Instead, it's the list of terms you should know before you start learning Java programming.

Java - Java is a set of technologies (programming language and computing platform) for creating and running software. However, Java is often used to refer Java programming language for simplicity.

Java programming language - A powerful, general-purpose, platform-independent, object-oriented programming language.

Java 8 - Java 8 is the latest major release for Java. Our Java tutorial will include all major features of Java 8.

Java EE, Java ME and Java SE - Java EE, Java ME and Java SE stands for Java Platform Enterprise Edition, Micro Edition, and standard edition respectively.
Java EE is targeted for applications which run on servers. Java ME is targeted for resource limited devices like: embedded devices. And, Java SE is the basic Java environment used for creating standard programs.
If you are a java programming newbie, we recommend you to start with J2SE.

JVM - JVM (Java Virtual Machine) is an abstract machine that enables your computer to run a Java program.

JRE - JRE (Java Runtime Environment) contains JVM, supporting libraries, and other components to run a Java program. However, it doesn't contain any compiler and debugger.

JDK - JDK (Java Development Kit) contains JRE and tools such as compilers and debuggers for developing Java applications.

Your First Java Program

Often, a program called Hello World is used to introduce a new programming language to beginners. It is a simple program that outputs Hello, World!. In this section, you will learn to write the same program in Java using Eclipse.

  1. Open Eclipse.
  2. Go to File > New > Java Project
  3. Give the Project Name. We will call it Hello World for now and click Finish
  4. Now, you need to create a new Java class.
  5. Select Hello World project in the left sidebar. When the project is selected, go to File > New > Class and give Name to the class and click Finish. We will call it HelloWorld.
  6. Copy the following code in file and save it. (Shortcut: Ctrl +S, or Cmd +S for Mac)

    public class HelloWorld {
        public static void main(String[] args) {
            // prints "Hello, World!"
            System.out.println("Hello, World!");
  7. Finally, hit run button. If everything goes right, you will see Hello, World! output on the screen.

To learn in detail on how this program works, visit Java Hello World program.

How to Learn Java?

Learn Java from Programiz

We are working really hard to create easy to follow Java tutorial. Subscribe now and once the tutorial is complete, you will be the first one to know.

Our tutorials are designed for beginners who do not have any prior knowledge of Java. Each tutorial is written in depth with examples and detailed explanation.

Official Java Documentation

Oracle, the company that owns Java, provides quality Java Tutorials. The Java tutorial describes the features in Java SE 8, and is continuously updated to keep up with changes to the Java Platform.

Note: Official Java Documentation may not be the easiest of the tutorials to follow.

If you are serious about learning programming, you should get yourself a good book.

Granted, reading a 1000 page book takes a lot of time and patience. However, following a good Java book will help you learn Java programming, the way it should be learned.


Final Words and Pro Tips

You cannot go wrong with learning Java. It's the language of opportunities and possibilities.

You must be eager to learn Java by now. However, here are some tips, and best practices to follow before you learn Java.

  • Don't read Java tutorials and examples like a novel. The only way to get better in programming is by writing a lot of code.
  • Learn Java language the right way. If you are switching from another programming language (let's say C#), don't write C# style code in Java. Also, check this article on How to write good Java code?
  • Join Java communities. Once you get the hang of writing simple Java programs, join Java communities and forums. Then, try to solve other programmer's Java problems. It's a good way to expand your Java knowledge. Also, you can get help when you are stuck.

I hope this article has encouraged you to learn Java, and helped you to get started. There is no reason to wait now. Let's explore the world of Java programming language.