Страница 1 из 1

Question on Java

Добавлено: 03 апр 2010, 13:56
george
Читаю джава код один, не понимаю один весч, как я не джава девелопер ни разу. Подскажите плиз рубщику мяса, что может означать следующее:
int function(int y)
{
bla-bla-bla;
y--;
bla-bla-bla;
return something;
}

Проверил это дело в JS - значение "y" после этого "y--;" не поменялось. Как я понимаю, во взрослой джаве результат будет таким же. Так зачем было это делать? Может, там должно быть --y; на самом деле?

ЗЫ. Если это имеет значение. После выделенной жирным строки переменная "y" уже нигде в функции не меняется, она только используется для других вычислений.

Update: Все, сорри, разобрался сам.

Re: Question on Java

Добавлено: 03 апр 2010, 14:31
alpax
george писал(а):ЗЫ. Если это имеет значение. После выделенной жирным строки переменная "y" уже нигде в функции не меняется, она только используется для других вычислений.
Я так понимаю, "y" просто используется как локальная переменная - просто для вычислений нужно это значение, уменьшенное на 1.

Re: Question on Java

Добавлено: 03 апр 2010, 15:04
CdR
Ы бывают разные, локальные и красные. :)

Re: Question on Java

Добавлено: 04 апр 2010, 14:14
Ranger
по ссылке параметры в Java и JS не передаются. т.е. написать как в с++ "&y" не выйдет. либо возвращать новое значение как результат, либо положить значение в обьект и передать в функцию ссылку на него.

или речь о том, что "y--" внутри самой функции не уменьшилась? тогда, как и Станиславский, "не верю".

Re: Question on Java

Добавлено: 04 апр 2010, 16:17
Marmot
george писал(а): Проверил это дело в JS - значение "y" после этого "y--;" не поменялось.
Как проверял?

Re: Question on Java

Добавлено: 05 апр 2010, 08:33
Проф. Преображенский
Marmot писал(а):
george писал(а): Проверил это дело в JS - значение "y" после этого "y--;" не поменялось.
Как проверял?
Чего спрашиваешь? Понятно, что проверял вне функции.

ЗЫ: +1 Ranger. Передача по значению не меняет значения переменной вне функции.

Re: Question on Java

Добавлено: 05 апр 2010, 09:48
Stanislav
Млин... Вот же извращенцы! Написал человек, что уже сам разобрался - так нет... они все еще дожевывают... :D

Re: Question on Java

Добавлено: 05 апр 2010, 09:51
Marmot
Stanislav писал(а):Млин... Вот же извращенцы! Написал человек, что уже сам разобрался - так нет... они все еще дожевывают... :D
Значит плохо написал :)