powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / i = i++
17 сообщений из 17, страница 1 из 1
i = i++
    #34699399
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
int i = 0;
i = i++;
System.out.println(i);

почему 0 ?
...
Рейтинг: 0 / 0
i = i++
    #34699438
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_help_int i = 0;
i = i++;
System.out.println(i);

почему 0 ?

уже знаю правильный ответ :)
какие будут варианты?
...
Рейтинг: 0 / 0
i = i++
    #34699541
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боянъ
...
Рейтинг: 0 / 0
i = i++
    #34699592
Regulus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даа - тема иpбитая :0)
...
Рейтинг: 0 / 0
i = i++
    #34699612
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_ _help_int i = 0;
i = i++;
System.out.println(i);

почему 0 ?

уже знаю правильный ответ :)
какие будут варианты?
Тут нет вариантов. Решение одно и, к щястью, оно логично и едино для любой версии Java (ну, начиная с 1.4, хотя бы) :)
...
Рейтинг: 0 / 0
i = i++
    #34700492
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonБоянъ

так и не нашёл правильного ответа.
http://www.linux.org.ru не асилил - многа букв.

дело как оказалось совсем не в каком-то стеке или каких-нибудь особенностей компилятора.
i++ делает инкремент и возвращает предыдущее значение

т.е. при

Код: plaintext
\n int  i =  0 ;\ni = i++; \n

имеем:

сделать инкремент i (т.е. оно уже равно 1) и вернуть предыдущее значение (т.е. 0). в итоге i = 0.

аналогично при
Код: plaintext
\n int  i =  0 ;\ni = i++ + i++;\n
и
Код: plaintext
\n int  i =  0 ;\ni = i++ + i++ + i++;\n
...
Рейтинг: 0 / 0
i = i++
    #34700753
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_
Молодец, выпендрился. Все поняли, что ты крутой джавист. Вот тебе ссылцо на будущее:
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
...
Рейтинг: 0 / 0
i = i++
    #34700840
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_help_
Молодец, выпендрился. Все поняли, что ты крутой джавист. Вот тебе ссылцо на будущее:
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html

ни разу даже не пытался.
сделал это для того чтобы если кого будут спрашивать на собеседовании - чтобы были в курсе.
...
Рейтинг: 0 / 0
i = i++
    #34700965
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_сделал это для того чтобы если кого будут спрашивать на собеседовании - чтобы были в курсе.
Серьезно? Такие вещи на собеседовании спрашивают?
...
Рейтинг: 0 / 0
i = i++
    #34701070
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хрюхрюшкин. _help_сделал это для того чтобы если кого будут спрашивать на собеседовании - чтобы были в курсе.
Серьезно? Такие вещи на собеседовании спрашивают?

да.

есть ещё вопрос "13" == "13". всегда думал что в этом случае по ссылке объекты сравниваются. оказалось что не всё так просто.
...
Рейтинг: 0 / 0
i = i++
    #34701185
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_
да.

есть ещё вопрос "13" == "13". всегда думал что в этом случае по ссылке объекты сравниваются. оказалось что не всё так просто.
Объекты таким образом никогда не сравниваются по ссылке. Сравниваются либо сами ссылки, либо значения примитивных типов.
А так всё просто.
...
Рейтинг: 0 / 0
i = i++
    #34701187
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что думали вы неправильно, получается.
...
Рейтинг: 0 / 0
i = i++
    #34701192
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_
есть ещё вопрос "13" == "13". всегда думал что в этом случае по ссылке объекты сравниваются. оказалось что не всё так просто.
нефик думать. нужно читать .
...
Рейтинг: 0 / 0
i = i++
    #34701369
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хрюхрюшкин.Так что думали вы неправильно, получается.

скорее неправильно выразился. конечно ссылки.
...
Рейтинг: 0 / 0
i = i++
    #34701382
_help_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Timm _help_
есть ещё вопрос "13" == "13". всегда думал что в этом случае по ссылке объекты сравниваются. оказалось что не всё так просто.
нефик думать. нужно читать .


если Вы про

Код: plaintext
1.
2.
                String hello = "Hello", lo = "lo";
                System.out.print((hello == "Hello") + " ");

то это не тот случай.
ответ true в обоих случаях, но что-то по Вашей ссылке я не нашёл объяснения моего варианта.
...
Рейтинг: 0 / 0
i = i++
    #34701429
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_

если Вы про

Код: plaintext
1.
2.
                String hello = "Hello", lo = "lo";
                System.out.print((hello == "Hello") + " ");

то это не тот случай.
ответ true в обоих случаях, но что-то по Вашей ссылке я не нашёл объяснения моего варианта.

Что вас смущает в сравнении "13" == "13"? Такое выражение всегда будет true. Но не потому что 13=13, а потому что
...
Рейтинг: 0 / 0
i = i++
    #34701479
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_help_ Timm _help_
есть ещё вопрос "13" == "13". всегда думал что в этом случае по ссылке объекты сравниваются. оказалось что не всё так просто.
нефик думать. нужно читать .


если Вы про

Код: plaintext
1.
2.
                String hello = "Hello", lo = "lo";
                System.out.print((hello == "Hello") + " ");

то это не тот случай.
ответ true в обоих случаях, но что-то по Вашей ссылке я не нашёл объяснения моего варианта.
String LiteralsEach string literal is a reference (§4.3) to an instance (§4.3.1, §12.5) of class String (§4.3.3). String objects have a constant value. String literals-or, more generally, strings that are the values of constant expressions (§15.28)-are "interned" so as to share unique instances, using the method String.intern.
...
The result of explicitly interning a computed string is the same string as any pre-existing literal string with the same contents.
Constant ExpressionsA compile-time constant expression is an expression denoting a value of primitive type or a String that does not complete abruptly and is composed using only the following:

Literals of primitive type and literals of type String (§3.10.5)
Casts to primitive types and casts to type String
The unary operators +, -, ~, and ! (but not ++ or --)
The multiplicative operators *, /, and %
The additive operators + and -
The shift operators <<, >>, and >>>
The relational operators <, <=, >, and >= (but not instanceof)
The equality operators == and !=
The bitwise and logical operators &, ^, and |
The conditional-and operator && and the conditional-or operator ||
The ternary conditional operator ? :
Parenthesized expressions whose contained expression is a constant expression.
Simple names that refer to constant variables (§4.12.4).
Qualified names of the form TypeName . Identifier that refer to constant variables (§4.12.4).
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / i = i++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]