В задаче за переменную s принимается:
Java easy to learn!
Java opens many opportunities!
При запуске команды System.out.println(s) получаем эти две строчки. Если запустить 2 таких команды, то по идее должны получить это:
Java easy to learn!
Java opens many opportunities!
Java easy to learn!
Java opens many opportunities!
Но на экран выводится вот так:
Java easy to learn!
Java easy to learn!
Java opens many opportunities!
Java opens many opportunities!
Почему именно так?
Сергей
4 уровень
Почему выводится на экран именно так?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
30 января 2019, 14:19решение
С чего бы начать.
Выполняется сам по себе только метод main от начала до конца. Если в методе main не написать ничего, то метод print ни разу не будет вызван, даже если в нем написан тот код, который в нем есть.
Код во всех методах и в частности main выполняется построчно сверху вниз. Это вроде бы очевидно, но в то же время важно.
Итак, мы вошли в метод main, обращаемся к первой строчке.
В ней написано print("Java easy to learn!");
Это значит, что main в этот момент обращается к методу print. Можно сказать, что выполнение main прерывается, пока не будет завершено выполнение этой строчки. Оно заключается в выполнении всего метода print(). Итак, теперь у нас main на паузе - выполняется print(). Он выводит переданную строку на экран четыре раза. После этого код в нем кончился, метод выполнен. Это означает, что выполнилась команда print("Java easy to learn!"); метода main. После этого метод main переходит к выполнению следующей строчки. print("Java opens many opportunities!");
Все повторяется заново уже с новой строкой.
Кстати, почему у тебя в вопросе каждая строчка повторяется дважды? Задача просит вывести каждую четыре раза.
+3
Сергей
30 января 2019, 14:29
Для примера я ограничился двумя строчками. Ведь сути это не поменяло и вопрос понятен. Задачу-то я решил, просто хотел выяснить этот нюанс.
А если бы нам потребовалось вывести текст в таком виде:
Java easy to learn!
Java opens many opportunities!
Java easy to learn!
Java opens many opportunities!
Как код выглядел тогда?
+1
hidden #598481
30 января 2019, 14:37полезный
тогда нам нужен был бы метод, который выводит только одну строчку, и мы вызывали бы его в цикле:
Или можно было бы написать другой метод print2(), который выводил бы сразу две строчки
+2
Сергей
30 января 2019, 14:41
Большое спасибо за подробные ответы.
0