Загрузка...

Имена в Java

Вы хотите, чтобы одна пишущая строка показывала то слово, которое хранит имя. На прошлой странице слово стояло в кавычках на самой пишущей строке, поэтому смена экрана означала правку этой строки. На этой странице вы даёте слову имя, plant, и пишущая строка использует это имя. Кавычки переходят на строку, которая хранит слово. System.out.println(plant) без кавычек, и экран по-прежнему показывает leaf. Вы не устанавливаете Java заново. Вы не добавляете заметку и не учите второй способ закончить строку. Вы уже знаете, что println пишет буквы и заканчивает строку. Новая работа — имя, которое хранит эти буквы.

Имя хранит буквы

Откройте Mint.java. Имя файла остаётся Mint.java, потому что public class Mint по-прежнему имя файла. Эта страница не переименовывает файл и не меняет строку public class Mint. Внутри main, над пишущей строкой, добавьте строку, которая создаёт имя и хранит в нём слово: String plant = "leaf";. String говорит, что это имя хранит буквы. plant — имя, и оно начинается с маленькой p. Знак = хранит слово. Кавычки содержат leaf, всё строчными, то самое слово, которое прошлая страница поставила на пишущую строку. Точка с запятой заканчивает эту строку. Затем измените пишущую строку, чтобы в ней не осталось кавычек. Она становится System.out.println(plant);. Имя plant стоит голое. Перед p нет кавычки и после t нет кавычки. Сохраните файл.

Файл, который вы оставляете

Сохраните это как Mint.java. Это файл, который оставляет эта страница. Имя plant хранит слово leaf. Пишущая строка использует это имя и не содержит кавычек.

файл, который вы оставляете

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant);
    }
}

Читайте сверху и решите, что может показать экран. public class Mint называет файл. Она не пишет экран. public static void main(String[] args) — место, с которого Java начинает. Ни одно из этих слов не является буквой для экрана. Слово String в строке main — не String следующей строки. Строка main — это начало. Следующая строка — та, что создаёт имя. String plant = "leaf"; хранит буквы l, e, a и f в имени plant. Эта строка не пишет эти буквы на экран. Хранение — не письмо. Экран пуст до конца этой строки. Строка после неё, System.out.println(plant);, — пишущая строка. Java читает имя plant, пишет буквы, которые это имя хранит, и заканчивает строку. Экран показывает leaf. Одна строка. Без кавычек. Буквы самого имени, plant, на экране нет. System на экране нет. Точки с запятой на экране нет.

Запустите так же, как раньше. В папке, где лежит этот Mint.java, введите javac Mint.java. Когда файл в порядке, эта команда не пишет ни одной строки. Имя в файле не заставляет javac писать строку и не заставляет его ошибаться. Затем введите java Mint. Не пишите .java после java. Экран показывает leaf. Если экран показывает plant, в пишущей строке кавычки вокруг plant. В файле, который вы оставляете, их нет. Если экран по-прежнему показывает mint, хранимое слово по-прежнему mint, или пишущая строка по-прежнему System.out.println("mint");. Посмотрите буквы между кавычками в строке String и посмотрите, использует ли пишущая строка голое имя. Не устанавливайте Java заново из-за того, что экран показывает не то слово.

Смените слово, оставьте пишущую строку

Смысл имени в том, что пишущая строка может остаться на месте, а хранимое слово может смениться. Под первой пишущей строкой сохраните новое слово в том же имени, затем напишите имя ещё раз. Новая строка хранения — plant = "stem";. Она не начинается с String. plant уже есть, поэтому эта строка только заменяет буквы, которые имя хранит. На место leaf встаёт stem, всё строчными. Следующая пишущая строка снова System.out.println(plant);. У неё та же форма, что у первой пишущей строки. На экране теперь две строки, потому что каждый println заканчивает свою строку. Первая строка — leaf, из букв, которые имя хранило в тот момент. Вторая строка — stem, из букв, которые имя хранит после plant = "stem";.

Это второй файл. Это не файл, который вы оставляете. Файл, который вы оставляете, имеет одну строку хранения и одну пишущую строку, и его экран — leaf. Сохраните этот второй файл как Mint.java, когда хотите увидеть смену слова, а потом верните одну строку хранения и одну пишущую строку.

имя меняется между двумя строками

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant);
        plant = "stem";
        System.out.println(plant);
    }
}

В той же папке введите javac Mint.java. Файл в порядке, поэтому javac не пишет ни одной строки. Второй строке хранения можно обойтись без String, и это отсутствие не заставляет javac ошибаться. Затем введите java Mint. Экран показывает leaf, а следующая строка экрана — stem. Две строки. leaf сверху, потому что первое System.out.println(plant); выполняется, пока plant ещё хранит leaf. stem ниже, потому что второе System.out.println(plant); выполняется после plant = "stem";. Имени plant нет ни на одной из двух строк экрана. Если обе строки экрана говорят leaf, второй строки хранения нет или она по-прежнему говорит "leaf". Если обе говорят stem, первая строка хранения уже говорит "stem", или первая пишущая строка стоит ниже смены. Экран следует порядку строк в файле. Когда более поздняя строка сохраняет новое слово, старое слово не остаётся, и экран не перескакивает к stem до того, как эта строка хранения выполнится.

Не пишите String второй раз для того же имени. String plant = "stem"; под строкой, которая уже создала plant, — другая ошибка. Эта строка пытается создать plant ещё раз. javac пишет ошибку и не остаётся тихим. Точные слова этой ошибки вам не нужны. Полезный факт: javac написал строку, поэтому java Mint вы ещё не вводите. Исправление — стереть второй String и оставить plant = "stem";. Имя создаётся один раз. Поздние строки только меняют буквы, которые оно хранит. В файле, который вы оставляете, второй строки хранения нет вовсе. После того как вы увидели leaf, а затем stem, верните этот файл: один String plant = "leaf"; и один System.out.println(plant);.

Кавычки вокруг имени пишут имя

Пишущая строка в файле, который вы оставляете, — System.out.println(plant); без кавычек. Если поставить кавычки вокруг имени, строка станет System.out.println("plant");. Эти кавычки делают то же, что кавычки на прошлой странице. Они отмечают буквы для экрана. Буквы между ними — p, l, a, n и t. Java не ищет имя, потому что слово в кавычках — не имя. Имя plant может по-прежнему хранить leaf в строке выше, и экран всё равно показывает plant. Хранимое слово leaf не пишется, потому что пишущая строка ни разу не использовала имя. Она использовала слово в кавычках, которое пишется так же, как имя.

Это третий файл. Это не файл, который вы оставляете. Сохраните его только до тех пор, пока не увидите одну строку plant, затем уберите кавычки с пишущей строки.

имя в кавычках

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println("plant");
    }
}

Введите javac Mint.java. Файл в порядке, поэтому javac не пишет ни одной строки. Кавычки вокруг plant разрешены. Они не заставляют javac ошибаться. Они и не заставляют экран показать хранимое слово. Затем введите java Mint. Экран показывает plant. Одна строка. Без кавычек. Не leaf. Не stem. Если вам нужен leaf, пишущая строка должна быть голым именем System.out.println(plant);. Кавычки стоят на строке хранения, вокруг leaf, а не на пишущей строке вокруг имени. Пробел внутри этих кавычек хранения тоже сохраняется. String plant = "leaf "; с пробелом после f заставляет System.out.println(plant); написать leaf и пробел после него. В файле, который вы оставляете, этого пробела нет. Экран файла, который вы оставляете, — leaf, четыре буквы, и затем строка заканчивается.

Имя должно существовать сначала

Java читает файл сверху. Строка, которая создаёт имя, должна стоять выше строки, которая использует имя. Если поставить System.out.println(plant); сначала, а затем написать String plant = "leaf";, пишущая строка использует имя plant до того, как plant существует. javac пишет ошибку. Он не остаётся тихим. Экрана для чтения нет, потому что вы не вводите java Mint, пока javac пишет ошибку. Исправление — снова поставить строку String над пишущей строкой. Порядок файла — это порядок, в котором Java читает. Имя не используется в строке более ранней, чем строка, которая его создаёт.

В этом четвёртом файле порядок сломан. Это не файл, который вы оставляете. Сохраните его только до того, как javac напишет ошибку, затем верните строку String наверх.

имя используется до создания

java
public class Mint {
    public static void main(String[] args) {
        System.out.println(plant);
        String plant = "leaf";
    }
}

Введите javac Mint.java. javac пишет ошибку. Не вводите java Mint. Точные слова ошибки вам не нужны. Полезный факт тот же, что на прошлой странице, когда не хватало кавычек: javac написал строку, значит файл не в порядке. Поставьте String plant = "leaf"; над System.out.println(plant);. Сохраните. Введите javac Mint.java ещё раз. Теперь javac не пишет ни одной строки. Затем java Mint показывает слово leaf. Имя leaf, без строки String leaf где бы то ни было, по-прежнему ошибка, и это другая ошибка. System.out.println(leaf); просит имя, которое называется leaf. Этот файл такое имя не создаёт. Имя, которое он создаёт, называется plant, а слово, которое он в нём хранит, — leaf. Слово и имя — не одни и те же буквы. Если снова поставить кавычки вокруг leaf на пишущей строке, System.out.println("leaf");, javac тоже станет тихим, но это вернёт вас на прошлую страницу. Эта страница оставляет голое имя на пишущей строке и оставляет кавычки на строке хранения.

Теперь вы можете сохранить слово в имени и написать это слово, не ставя само слово на пишущую строку. String plant = "leaf"; хранит leaf. System.out.println(plant); пишет leaf и заканчивает строку. Более поздний plant = "stem"; меняет хранимое слово, а более поздний println того же имени пишет stem. Кавычки вокруг имени пишут вместо этого буквы имени. Строка создания должна стоять выше первого использования имени. Следующая страница читает слово, которое вы вводите, пока программа выполняется, и сохраняет это слово в имени, чтобы экран мог показать буквы, которых не было в кавычках в файле.

Экран — это слово, которое хранит имя

Файл, который вы оставляете, пишет leaf. Имя на пишущей строке — plant, и plant на экране нет. Кавычки стоят на строке хранения, вокруг leaf. Один println — одна строка. Смена хранимого слова между двумя строками println меняет только вторую строку экрана.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
7
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху