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

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

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

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

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

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

    
    cd Desktop/
    
    
  6. Пишем:
    
    javac MyFirstProgram.java
    
    
  7. Если всё было сделано верно, будет создан файл MyFirstProgram.class
    В терминале снова пишем:

    
    java MyFirstProgram
    
    
  8. Будет выведено следующее:
    
    This is my first Java program
    
    

Поздравляю, Вы создали ввашу первую программу на языке 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


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";
    }
}

У этого класса есть только один аттрибут – специлизация разработчика.

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

Specialty.java


package net.proselyte.javacore.basics;

public enum Specilaty {
    JAVA,
    CPP
}

И наконец главный класс приложения, в котором мы создаём двух разработчиков (javaDeveloper и cppDeveloper), специализация которых выбирается их перечисления Specialty.
DeveloperRunner.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);
    }
}


В результате работы программы мы получим следующее:


/*Some system messages*/
Java Developer's Info:
======================
Developer 
Specilaty: JAVA
======================

C++ Developer's Info
======================
Developer 
Specilaty: CPP
======================

Массивы

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

Комментарии

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

В классе Developer.java они показаны в таком виде:


/*toString() method to show Developer's info*/ //!!!This is comments!!!
    @Override
    public String toString() {
        return "======================\n" +
                "Developer " +
                "\nSpecilaty: " + specilaty +
                "\n======================\n";
    }

Ключевые слова
В языка Java зарезервированны следующие ключевые слова:

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

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

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

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