/* Вопросы теории, которые не понятны:
1. Почему на этапе 3 , где начался первый цикл, условие цикла не сработало. Надпись "На друзей напали демоны" не вывелась на экран. Не пойму, у нас на этот момент String demons = "демоны";
2. Вызов метода changeDemons() - меняет логику способа чтения программы (прерывает чтение сверху вниз). Это понятно. Прошу уточнить: вызов метода идет после цикла. Он становиться перед ним? Для меня понятно, что метод можно вызывать с любой части программы. Однако как на счет работы выполненной методом. Куда она возвращается? В место запроса метода?
3. Какой порядок очередности действий программы. Я его правильно описал. Или этап 4 (вызов метода) предшествует этапу 3?
4. Метод public static void changeDemons() имеет показатель void т.е он не возвращает никаких данных. Однако в классе Solution он все-таки меняет значение переменной "demons". Почему это происходит? Имение значение (присваивание) и возврат значение это разные вещи?
PS: По сути все вопросы сводятся к двум вещам: очередность работы программы и очередность изменения значения переменной String demons.
Заранее спасибо
package com.javarush.task.pro.task06.task0621;
/*
Что происходит?
*/
public class Solution {
public static String demons = "демоны"; /* (1) объявили публичную статическую переменную типа стринг demons
присвоили ей значение "демоны". К ней можно обращаться из любого метода*/
public static void main(String[] args) { // (2) основной метод программы//
if ("демоны".equals(demons)) { // (3) начался цикл. Если строки равны, то выводим "На друзей напали демоны"
System.out.println("На друзей напали демоны.");
}
changeDemons(); // (4) вызываем метод changeDemons () перед вторым циклом//
if ("погрузочные машины".equals(demons)) { // (6) начинается цикл - проверяется условие ("погрузочные машины" равны "погрузочные машины" = true).
System.out.println("Друзья превратили демонов в погрузочные машины."); // Выводится текст "Друзья превратили демонов в погрузочные машины."
}
}
public static void changeDemons() {
String demons = "погрузочные машины"; // (5) исполнение метода переменной метода и класса demons присваиваем значение "погрузочные машины".//
}
}