изменить значения переменных - PullRequest
0 голосов
/ 21 апреля 2020

введите описание изображения здесь

Каков поток управления для этой программы? Как второй System.out.println (bmi) может использовать вторые «весовые» значения (180), а не первое (195). Я в замешательстве.

Спасибо

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Хммм ... довольно новый, не волнуйтесь.

Прежде всего они определяют три variables с типом данных double

Во-вторых, они впервые инициировали weight и height, в этот момент оба значения weight и height получили, а bmi также рассчитывается по формуле

И наконец

когда они сказали weight = 180, они в основном изменяют значения weight переменной , потому что ее переменная может содержать только одно значение за раз , Так что теперь вес = 180

Также вы спросили, когда bmi не получает 195 вместо 180 причина проста. Выполнение кодов выполняется последовательно, поэтому обычно оно начинается сверху вниз

0 голосов
/ 21 апреля 2020

Фактически переменные указывают на области памяти, значения которых могут быть изменены в пределах их области видимости. Поэтому, когда 180 присваивается переменной веса, оно переопределяет предыдущее значение в памяти, и теперь оно имеет 180 вместо 195 при вычислении ИМТ во второй раз. Простой пример для понимания

double val = 25;
System.out.println(val); //It will print 25
val = 80; //will override 25 and after the execution of this line val will have 80 not 25
System.out.println(val); //It will print 80
val = 60;  //changing again
System.out.println(val); //It will print 60

Каждый раз, когда вы изменяете значение переменной, оно теряет предыдущее значение, и оно будет иметь последнее назначенное вам значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...