При знакомстве с языком программирования существует традиция - написать первую программу-приветствие “Hello World!”.
В операционной системе Ubuntu после установки среды разработки Java Development Kit (JDK) потребуется только текстовый редактор и интерфейс командной строки (Terminal).
При помощи текстового редактора нужно создать файл HelloWorld.java, для этого открываем Terminal (console)

start new terminal

в каталоге ~/tmp (создан предварительно в домашней папке пользователя) создаем каталог для программы

cd /tmp
mkdir examples
cd examples
mkdir java  

переходим в него cd ~/tmp/examples/java
при помощи текстового редактора nano создаем файл HelloWorld.java

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

закрываем текстовый редактор, переходим в Terminal и проверяем наличие файла HelloWorld.java в каталоге ~/tmp/examples/java

check the HelloWorld

скомпилируем программу при помощи компилятора javac, входящего в состав JDK
javac HelloWorld.java
после успешной компиляции будет создан файл HelloWorld.class для запуска программы осталось ввести в Terminale команду
java HelloWorld
в результате которой виртуальная машина Java выведет приветствие “Hello World!”

Java Hello World!

Класс HelloWorldApp содержит только один метод main(), который является точкой входа приложения на Java. Методы могут модифицировать данные и вызывать другие методы. В данном случае метод main() вызывает метод println(), чтобы вывести на экран строку Hello World!.
Каждый метод начинается с сигнатуры (строки объявления):

public static void main(String[] args)
public - идентификатор доступа (public - доступен из любого класса или JVM, private - доступен только внутри метода, protected - доступен внутри пакета и в наследниках);
static - статический метод (не нужно создавать экземпляр (копию объекта HelloWorldApp в памяти, что бы использовать этот метод));
void - ключевое слово, которое обозначает, что метод не возвращает данные в программу; String[] args - список аргументов, который означает, что этот метод может получать массив объектов с типом String. Значения которые передаются методу называются аргументами и параметрами.
Тело метода main() содержит только одну строку:
System.out.println("Hello World!");
Каждая команда или вызов метода должен заканчиваться точкой с запятой (;). В методе println() реализован вывод данных в системную консоль. После имени методов Java всегда идут круглые скобки. Если скобки пустые, это значит, что метод не имеет аргументов. System.out означает, что переменная out определена внутри класса System, который входит в комплект JDK.
out.println() объект, который представлен переменной out содержит метод с именем println(). Точка, которая находится между классом и именем метода означает, что метод обьявлен внутри этого класса.