
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.07.2013, 19:28:28
|
|||
|---|---|---|---|
|
|||
do while |
|||
|
#18+
Друзья, объясните пожалуйста в чём же разница когда тут результатом будет цифра 3 public class example{ public static void main(String[] args){ int h = 11; do while(h-->15); while(--h>4); System.out.println(h); } } а здесь результат будет 4? почему так? public class example{ public static void main(String[] args){ int h = 10; do while(h-->15); while(--h>4); System.out.println(h); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2013, 19:45:48
|
|||
|---|---|---|---|
do while |
|||
|
#18+
Убил-бы этих. Кто такие собеседования придумывает. Цикл while отличается от do while только тем что тело последнего всегда выполняется хотя-бы 1 раз. Как фокусы с пред- пост- инкрементом влияют на результат expression - Х.З. Дебаж и смотри. Сама отладка также будет затруднена в силу "однострочности" expression. В 1 step исполняется сразу несколько инструкций. Вообще эти задания нетипичны и встречаются они только там где вам хотят сломать мозк. Эти задания имеют мало отношения к разработке бизнес-кода и являют собой "каку" или "какашку" которую воспроизводить ни в коем разе не надо. Иначе будешь бит своими-же коллегами по team. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2013, 20:49:18
|
|||
|---|---|---|---|
do while |
|||
|
#18+
Vitasya, Друзья, объясните пожалуйста в чём же разница когда тут результатом будет цифра 3 public class example{ public static void main(String[] args){ int h = 11; do while(h-->15); while(--h>4); System.out.println(h); } } а здесь результат будет 4? почему так? потому что int h = 10; а не 11, как в предыдущем примере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2013, 21:16:46
|
|||
|---|---|---|---|
|
|||
do while |
|||
|
#18+
MasterZiv, эт понятно) но почему из -за этой 10 результат меняется? что там произойдёт можете объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2013, 07:35:43
|
|||
|---|---|---|---|
|
|||
do while |
|||
|
#18+
VitasyaMasterZiv, эт понятно) но почему из -за этой 10 результат меняется? что там произойдёт можете объяснить? Попробуй 13 и 12. Посмотри что получиться ;-) И вообще любое четное или не четное число меньшее 15. А вообще все дело в этом Код: java 1. 2. 3. 4. 5. 6. 7. 8. Вот так он выполняется! Соответственно декремент выполняется 2 раза, перед сравнением с 4. Первый раз при сравнении с 15, второй раз при сравнении с 4. Т.о. в зависимости от четности или не четности начального значения будет выводиться либо 3 либо 4. Где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2013, 13:43:33
|
|||
|---|---|---|---|
|
|||
do while |
|||
|
#18+
врубился..спасибо большое..фишка значит в чётной или нечётной переменной, с работой do while там понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2013, 19:22:10
|
|||
|---|---|---|---|
do while |
|||
|
#18+
VitasyaMasterZiv, эт понятно) но почему из -за этой 10 результат меняется? что там произойдёт можете объяснить? Потому что программа так написана. Что произойдёт -- программа выполнится, получится такой результат. Что там ещё надо объяснять ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2128961]: |
0ms |
get settings: |
18ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 305ms |
| total: | 471ms |

| 0 / 0 |
