От Ruby к Java

Java и Ruby - схожие по структуре языки. Основными строительными блоками обоих языков являются переменные, операторы, методы и классы. Условные операторы, операторы цикла, и операции ввода/вывода работают аналогично, различаясь лишь способом написания (синтаксически).

В то же время имеется целый ряд существенных отличий, важнейшие из которых перечислены ниже.

  • В языке Java не существует глобальных функций и переменных, весь код программы содержится в одном или нескольких классах.
  • Выполнение программы начинается с метода main, который обязан находиться в классе, указанном интерпретатору java в качестве параметра, в то время как программы на Ruby выполняются последовательно, строка за строкой, начиная с первой.
  • Все, с чем работает программа на Ruby, представляет собой объекты, а в языке Java числа, символы, и логические величины объектами не являются.
  • Все операторы Java обязаны завершаться символом ; (точка с запятой).
  • Переменные в языке Java требуют предварительного объявления перед их использованием. При объявлении указываются тип переменной и ее имя, а в дальнейшем переменной нельзя присваивать значения иных типов. Язык Ruby безтиповый и не предполагает объявления переменных.

По установившейся традиции в качестве первой задачи рассмотрим программу, выводящую на экран строку текста "Здравствуй, мир!"

/* Класс Hello размещен в файле Hello.java */

public class Hello {
 public static void main(String[] args) {
 // аналогично puts 
 System.out.println("Здравствуй, мир!");
 }
} 

Метод println aналогичен функции puts языка Ruby и приводит к выводу на экран дисплея указанной строки. Аргументы любого метода в языке Java всегда заключаются в круглые скобки и разделяются запятыми. Объяснение того, что означают ключевые слова public, static и другие отложим на потом, а пока просто будем считать, что так надо писать всегда.

Тело метода main, так же как и любого другого метода Java, размещается между фигурными скобками. В нем находится последовательность объявлений, операторов и вызовов методов. Каждое объявление, оператор или вызов обязаны заканчиваться символом ; (точка с запятой). Однострочный комментарий начинается с двух идущих подряд символов /, многострочный заключается между /* и */.

Программа должна содержаться в файле, имеющем расширение java, а его имя обязано совпадать с именем класса, описанного в нем.

Для того чтобы откомпилировать и запустить указанную выше программу, необходимо выполнить следующую последовательность команд:

javac Hello.java
java Hello

Команда javac компилирует программу и порождает файл Hello.class, содержащий так называемый байт-код. Вторая из приведенных команд запускает интерпретатор байт-кода, который ищет указанный класс (в данном случае Hello) и выполняет его, начиная с метода main.