Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Java
/

Изменение переменной

Java: Изменение переменной

Само слово «переменная» говорит, что ее можно менять. И действительно, с течением времени внутри программы, значения переменных могут изменяться:

var greeting = "Father!";
System.out.println(greeting);
System.out.println(greeting);
// var уже не используется, так как переменная была определена выше
greeting = "Mother!";
System.out.println(greeting);
System.out.println(greeting);

Java — статически типизированный язык. Это значит, что тип переменной задается при определении и больше не меняется.

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

greeting = 5;
# Error:
# incompatible types: int cannot be converted to java.lang.String
# несовместимые типы: число не может быть превращено в строку

Компилятор делает такую проверку без запуска кода на выполнение, именно поэтому такой вид типизации называют статическим. В JavaScript, Ruby, PHP, Python и других динамических языках подобное поведение не является ошибкой, переменная может легко изменить свой тип в процессе работы.

Задание

В коде определена переменная со значением "Brienna". Переопределите значение этой переменной и присвойте ей такую же, но в перевернутом виде.

anneirB
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Java
/

Изменение переменной

Java: Изменение переменной

Само слово «переменная» говорит, что ее можно менять. И действительно, с течением времени внутри программы, значения переменных могут изменяться:

var greeting = "Father!";
System.out.println(greeting);
System.out.println(greeting);
// var уже не используется, так как переменная была определена выше
greeting = "Mother!";
System.out.println(greeting);
System.out.println(greeting);

Java — статически типизированный язык. Это значит, что тип переменной задается при определении и больше не меняется.

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

greeting = 5;
# Error:
# incompatible types: int cannot be converted to java.lang.String
# несовместимые типы: число не может быть превращено в строку

Компилятор делает такую проверку без запуска кода на выполнение, именно поэтому такой вид типизации называют статическим. В JavaScript, Ruby, PHP, Python и других динамических языках подобное поведение не является ошибкой, переменная может легко изменить свой тип в процессе работы.

Задание

В коде определена переменная со значением "Brienna". Переопределите значение этой переменной и присвойте ей такую же, но в перевернутом виде.

anneirB
Коммерческий опыт и Трудоустройство

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import java.io.ByteArrayOutputStream;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.PrintStream;

import static org.assertj.core.api.Assertions.assertThat;

class Test {
    public static void main(String[] args) {
        final var expected = "anneirB";

        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

waiting_clock
← ПредыдущийСледующий →