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