Руководство по Java Core. Базовый синтаксис и первая программа.

Когда мы говорим о Java-программе, то мы имеем в виду совокупность объектов, которые вызывают методы друг друга.

Давайте рассмотрим ключевые элементы Java программы:

  • Класс
    Сущность, которая характеризуется полями (аттрибутами) и поведением (методами). Например, разработчик имеет имя, фамилию, специализацию, зарплату и т.д.
  • Объект
    Объект – это экземпляр класса. Например, конкретный разработчик.
    Имя: Иван
    Фамилия: Иванов
    Специализация: Java – разработчик
    Зарплата: 100500 долларов в час
  • Метод
    Метод это сущность, которая описывает поведение класса. Например, разработчик пишет код. Метод writeSomeCode() является выражением этого поведения в нашей программе.
  • Переменная
    Переменная – это значения, которые характеризуют поля (аттрибуты) класса. Например: Имя разработчика – это его свойство (поле), а если мы говорим, что этого разработчика зовут Иван, то “Иван” – является переменной, которая характеризует такое свойство класса разработчик как имя.

В будущем мы будем создавать более сложные программы, чем в этом уроке, а сегодня мы напишем простое консольное приложение.
Приступим:

  1. Открываем наш текстовый редактор.
  2. Пишем внутри следующий код:
    [code lang=”java”]
    public class MyFirstProgram{
    public static void main(String[] args){
    System.out.println(“This is my first Java program.”);
    }
    }
    [/code]
  3. Сохраняем файл как MyFirstProgram.java
  4. Открываем терминал Ctrl + Alt + T
  5. Прописываем путь к расположению файла и нажимаем ‘Enter’.
    В моём случае это выглядит так:
    [code lang=”java”]
    cd Desktop/
    [/code]
  6. Пишем:
    [code lang=”java”]
    javac MyFirstProgram.java
    [/code]
  7. Если всё было сделано верно, будет создан файл MyFirstProgram.class
    В терминале снова пишем:
    [code lang=”java”]
    java MyFirstProgram
    [/code]
  8. Будет выведено следующее:
    [code lang=”java”]
    This is my first Java program
    [/code]

Поздравляю, Вы создали вашу первую программу на языке Java.

Теперь рассмотрим базовый синтаксис языка программирования Java:
В полным описанием синтаксиса языка Java вы можете ознакомиться в Java Language Specification (JLS). Здесь же я опишу лишь некоторые сущности языка.

Идентификаторы

Все компоненты в Java должны иметь имя.

Существует ряд требований к идентификаторам:

  • Все идентификаторы должны начинаться с букв (A – Z или a – z), знака доллара ($) или подчеркивания (_)
  • После первого символа идентификатор может иметь любую последовательность символов.
  • В качестве идентификатора не могут использоваться ключевые слова
  • Все идентификаторы чувствительны к регистру
  • Пример неправильного идентификатора: 123Developer, +first, int
  • Пример правильного идентификатора: developer, $second, _third

Переменные

Переменные могут быть:
– локальными
– статическими
– нестатическими

Модификаторы

В Java есть два типа модификаторов:

  • модификаторы доступа: default, public, protected, private
  • другие модификаторы: final, abstract, stictfp

Перечисления

Начина с Java 5.0 в язык добавлена сущность Enum (перечисления). Например, мы можем сделать перечисление специализаций разработчиков (JAVA, C#, C++ и т.д.).

Вот как это выглядит в простом случае.

У нас есть класс, который представляет разработчика:
Developer.java
[code lang=”java”]
package net.proselyte.javacore.basics;

public class Developer {
private Specilaty specilaty;

/*Default constructor*/
public Developer() {
}

//Getter and Setter to get and to set specialty field value
public Specilaty getSpecilaty() {
return specilaty;
}

public void setSpecilaty(Specilaty specilaty) {
this.specilaty = specilaty;
}

//toString() method to show Developer’s info
@Override
public String toString() {
return “======================\n” +
“Developer ” +
“\nSpecilaty: ” + specilaty +
“\n======================\n”;
}
}
[/code]
У этого класса есть только один аттрибут – специализация разработчика.

Другой класс является перечислением (Enum) в  котором, есть два варианта – JAVA или CPP, которые представляют языки Java и C++ соответственно.

Specialty.java
[code lang=”java”]
package net.proselyte.javacore.basics;

public enum Specilaty {
JAVA,
CPP
}
[/code]
И наконец главный класс приложения, в котором мы создаём двух разработчиков (javaDeveloper и cppDeveloper), специализация которых, выбирается их перечисления Specialty.
DeveloperRunner.java
[code lang=”java”]
package net.proselyte.javacore.basics;

public class DeveloperRunner {
public static void main(String[] args) {
Developer javaDeveloper = new Developer();
Developer cppDeveloper = new Developer();

javaDeveloper.setSpecilaty(Specilaty.JAVA);
cppDeveloper.setSpecilaty(Specilaty.CPP);

System.out.println(“Java Developer’s Info:”);
System.out.println(javaDeveloper);
System.out.println(“C++ Developer’s Info”);
System.out.println(cppDeveloper);
}
}

[/code]
В результате работы программы мы получим следующее:
[code lang=”java”]
/*Some system messages*/
Java Developer’s Info:
======================
Developer
Specilaty: JAVA
======================

C++ Developer’s Info
======================
Developer
Specilaty: CPP
======================
[/code]
Массивы

Массивы – это объекты, которые хранят несколько переменных одного типа. Массив является объектом и хранится в heap (более подробно в разделе о JVM).

Комментарии

Язык Java поддерживает комментарии. Комментарии это куски кода, которые не обрабатываются компилятором, являются информацией, цель которой – объяснить для чего необходим тот или иной кусок кода.

В классе Developer.java они показаны в таком виде:
[code lang=”java”]
/*toString() method to show Developer’s info*/ //!!!This is comments!!!
@Override
public String toString() {
return “======================\n” +
“Developer ” +
“\nSpecilaty: ” + specilaty +
“\n======================\n”;
}
[/code]
Ключевые слова
В языка Java зарезервированы следующие ключевые слова:

java-tutorial-keywords-in-javaПомимо этих слов, зарезервированными являются слова goto и const, хотя и не используются в языке Java.

Слова true, false и null, также нельзя использовать в качестве идентификаторов.

На этом мы заканчиваем обзор базового синтаксиса языка. Более подробно с языком Java модно ознакомиться в Java Language Specification.

В следующем уроке мы более подробно ознакомимся с понятиями Класс и Объект и их применением.