Java: Привет, Мир!
Изучать язык программирования по традиции начинают с программы "Hello, World!", которая выводит этот текст на экран.
Hello, World!На языке Java эта программа будет выглядеть так:
class App {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Текст Hello, World! появится на экране благодаря команде System.out.println(), где println() — это сокращение от английского print line. Она выводит на экран значение, указанное в скобках ("Hello, World!") — в данном случае строку. Вместо примера можно вывести любой другой текст:
System.out.println("Хекслет — школа программирования");Команда остаётся той же, меняется только содержимое скобок.
Чтобы программа понимала, что в скобках именно текст, его заключают в кавычки. В Java строка всегда обрамляется двойными кавычками "...". Одинарные кавычки '...' для строки использовать нельзя: в них записывают одиночный символ (тип char), например 'A'. Если обрамить строку одинарными кавычками, компилятор укажет на синтаксическую ошибку:
# Например, вот так
App.java:5: error: unclosed character literal
System.out.println('Hello, World!');Сама команда находится внутри нескольких конструкций, которые нужны для работы даже простейших программ на Java.
В данном случае это класс App и метод main().
Сейчас мы не будем на них останавливаться, так как для их понимания нужно уметь немного программировать. Поэтому во многих заданиях они даются «как есть», то есть вам не придется их задавать самостоятельно. Когда придет время, мы их разберем.
Значение символов
Код состоит из команд, и каждая из них должна быть написана в определённой форме. Помимо букв, в коде важны кавычки ", скобки (), фигурные скобки {} и точка с запятой ;. Пропущенный или перепутанный знак приведёт к тому, что программа не скомпилируется. Попробуйте определить, какая ошибка допущена в каждой из строк?
System.out.println("I am the King");
System.out.println("I am the King";
System.out.println(I am the King");
System.ouprintln("I am the King");
System.out.println("I am the King")Даже небольшое отличие — лишняя буква, потерянная скобка или забытая ; — может привести к тому, что программа не заработает. Это относится и к регистру, то есть к различию между большими и маленькими буквами. Если в обычном тексте Привет и привет выглядят одинаково, то для Java это разные слова. Java считает println, Println и PRINTLN разными именами, и сработает только первый вариант.
Где практиковаться
Теория усваивается лучше, когда параллельно запускаешь код и видишь результат. Двигаясь по урокам, вы постоянно будете встречаться с примерами кода и описаниями его работы. Чтобы лучше их понимать и уметь пользоваться языком, нужно постоянно практиковаться и экспериментировать — по возможности запускайте все примеры из теории.
С Java проще всего начать на сайте onecompiler, который позволяет запускать код построчно прямо в браузере с помощью JShell. Попробуйте перейти туда прямо сейчас и набрать такой код:
System.out.println(85 * 3);Как это работает технически? В отличие от языков, которые выполняются построчно интерпретатором, код на Java сначала проходит через компилятор, а затем выполняется виртуальной машиной Java (JVM), которая и выводит на экран результат:
Код Компилятор + JVM Экран
┌──────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ System.out │ ──→ │ javac + JVM │ ──→ │ Hello, World!│
│ .println(…) │ │ │ │ │
└──────────────────┘ └─────────────────┘ └──────────────┘Задание
Наберите в редакторе код из задания символ в символ и нажмите «Проверить».
class App {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Если вы напишете heLLo, woRld! вместо Hello, World!, то это будет считаться другим текстом, потому что заглавные и строчные буквы — это разные символы. Размер буквы называют регистром, и говорят: регистр — важен! Это касается почти всего в коде, поэтому привыкайте всегда обращать внимание на регистр.
Полезное
Если в редакторе есть запись
// BEGINи// END, то код нужно писать между этими строчками.
Java: Привет, Мир!
Изучать язык программирования по традиции начинают с программы "Hello, World!", которая выводит этот текст на экран.
Hello, World!На языке Java эта программа будет выглядеть так:
class App {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Текст Hello, World! появится на экране благодаря команде System.out.println(), где println() — это сокращение от английского print line. Она выводит на экран значение, указанное в скобках ("Hello, World!") — в данном случае строку. Вместо примера можно вывести любой другой текст:
System.out.println("Хекслет — школа программирования");Команда остаётся той же, меняется только содержимое скобок.
Чтобы программа понимала, что в скобках именно текст, его заключают в кавычки. В Java строка всегда обрамляется двойными кавычками "...". Одинарные кавычки '...' для строки использовать нельзя: в них записывают одиночный символ (тип char), например 'A'. Если обрамить строку одинарными кавычками, компилятор укажет на синтаксическую ошибку:
# Например, вот так
App.java:5: error: unclosed character literal
System.out.println('Hello, World!');Сама команда находится внутри нескольких конструкций, которые нужны для работы даже простейших программ на Java.
В данном случае это класс App и метод main().
Сейчас мы не будем на них останавливаться, так как для их понимания нужно уметь немного программировать. Поэтому во многих заданиях они даются «как есть», то есть вам не придется их задавать самостоятельно. Когда придет время, мы их разберем.
Значение символов
Код состоит из команд, и каждая из них должна быть написана в определённой форме. Помимо букв, в коде важны кавычки ", скобки (), фигурные скобки {} и точка с запятой ;. Пропущенный или перепутанный знак приведёт к тому, что программа не скомпилируется. Попробуйте определить, какая ошибка допущена в каждой из строк?
System.out.println("I am the King");
System.out.println("I am the King";
System.out.println(I am the King");
System.ouprintln("I am the King");
System.out.println("I am the King")Даже небольшое отличие — лишняя буква, потерянная скобка или забытая ; — может привести к тому, что программа не заработает. Это относится и к регистру, то есть к различию между большими и маленькими буквами. Если в обычном тексте Привет и привет выглядят одинаково, то для Java это разные слова. Java считает println, Println и PRINTLN разными именами, и сработает только первый вариант.
Где практиковаться
Теория усваивается лучше, когда параллельно запускаешь код и видишь результат. Двигаясь по урокам, вы постоянно будете встречаться с примерами кода и описаниями его работы. Чтобы лучше их понимать и уметь пользоваться языком, нужно постоянно практиковаться и экспериментировать — по возможности запускайте все примеры из теории.
С Java проще всего начать на сайте onecompiler, который позволяет запускать код построчно прямо в браузере с помощью JShell. Попробуйте перейти туда прямо сейчас и набрать такой код:
System.out.println(85 * 3);Как это работает технически? В отличие от языков, которые выполняются построчно интерпретатором, код на Java сначала проходит через компилятор, а затем выполняется виртуальной машиной Java (JVM), которая и выводит на экран результат:
Код Компилятор + JVM Экран
┌──────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ System.out │ ──→ │ javac + JVM │ ──→ │ Hello, World!│
│ .println(…) │ │ │ │ │
└──────────────────┘ └─────────────────┘ └──────────────┘Задание
Наберите в редакторе код из задания символ в символ и нажмите «Проверить».
class App {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Если вы напишете heLLo, woRld! вместо Hello, World!, то это будет считаться другим текстом, потому что заглавные и строчные буквы — это разные символы. Размер буквы называют регистром, и говорят: регистр — важен! Это касается почти всего в коде, поэтому привыкайте всегда обращать внимание на регистр.
Полезное
Если в редакторе есть запись
// BEGINи// END, то код нужно писать между этими строчками.
Ваше упражнение проверяется по этим тестам
import static org.assertj.core.api.Assertions.assertThat;
import java.io.ByteArrayOutputStream;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.PrintStream;
class AppTest {
public static void main(final String[] args) {
final var expected = "Hello, World!";
ByteArrayOutputStream out = new ByteArrayOutputStream();
System.setOut(new PrintStream(out));
App.main(null);
final var actual = out.toString().trim();
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
System.out.println(actual);
assertThat(actual).isEqualTo(expected);
}
}Решение учителя откроется через:
20:00
