Когда мы говорим о Java-программе, то мы имеем в виду совокупность объектов, которые вызывают методы друг друга.
Давайте рассмотрим ключевые элементы Java программы:
- Класс
Сущность, которая характеризуется полями (аттрибутами) и поведением (методами). Например, разработчик имеет имя, фамилию, специализацию, зарплату и т.д. - Объект
Объект – это экземпляр класса. Например, конкретный разработчик.
Имя: Иван
Фамилия: Иванов
Специализация: Java – разработчик
Зарплата: 100500 долларов в час - Метод
Метод это сущность, которая описывает поведение класса. Например, разработчик пишет код. Метод writeSomeCode() является выражением этого поведения в нашей программе. - Переменная
Переменная – это значения, которые характеризуют поля (аттрибуты) класса. Например: Имя разработчика – это его свойство (поле), а если мы говорим, что этого разработчика зовут Иван, то “Иван” – является переменной, которая характеризует такое свойство класса разработчик как имя.
В будущем мы будем создавать более сложные программы, чем в этом уроке, а сегодня мы напишем простое консольное приложение.
Приступим:
- Открываем наш текстовый редактор.
- Пишем внутри следующий код:
public class MyFirstProgram{ public static void main(String[] args){ System.out.println("This is my first Java program."); } }
- Сохраняем файл как MyFirstProgram.java
- Открываем терминал Ctrl + Alt + T
- Прописываем путь к расположению файла и нажимаем ‘Enter’.
В моём случае это выглядит так:cd Desktop/
- Пишем:
javac MyFirstProgram.java
- Если всё было сделано верно, будет создан файл MyFirstProgram.class
В терминале снова пишем:java MyFirstProgram
- Будет выведено следующее:
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 зарезервированы следующие ключевые слова:
Помимо этих слов, зарезервированными являются слова goto и const, хотя и не используются в языке Java.
Слова true, false и null, также нельзя использовать в качестве идентификаторов.
На этом мы заканчиваем обзор базового синтаксиса языка. Более подробно с языком Java модно ознакомиться в Java Language Specification.
В следующем уроке мы более подробно ознакомимся с понятиями Класс и Объект и их применением.