|
|
|
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:28:28 |
|
||
|
do while
|
|||
|---|---|---|---|
|
#18+
Убил-бы этих. Кто такие собеседования придумывает. Цикл while отличается от do while только тем что тело последнего всегда выполняется хотя-бы 1 раз. Как фокусы с пред- пост- инкрементом влияют на результат expression - Х.З. Дебаж и смотри. Сама отладка также будет затруднена в силу "однострочности" expression. В 1 step исполняется сразу несколько инструкций. Вообще эти задания нетипичны и встречаются они только там где вам хотят сломать мозк. Эти задания имеют мало отношения к разработке бизнес-кода и являют собой "каку" или "какашку" которую воспроизводить ни в коем разе не надо. Иначе будешь бит своими-же коллегами по team. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 19:45:48 |
|
||
|
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, 20:49:18 |
|
||
|
do while
|
|||
|---|---|---|---|
|
#18+
MasterZiv, эт понятно) но почему из -за этой 10 результат меняется? что там произойдёт можете объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 21:16:46 |
|
||
|
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, 07:35:43 |
|
||
|
do while
|
|||
|---|---|---|---|
|
#18+
врубился..спасибо большое..фишка значит в чётной или нечётной переменной, с работой do while там понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2013, 13:43:33 |
|
||
|
do while
|
|||
|---|---|---|---|
|
#18+
VitasyaMasterZiv, эт понятно) но почему из -за этой 10 результат меняется? что там произойдёт можете объяснить? Потому что программа так написана. Что произойдёт -- программа выполнится, получится такой результат. Что там ещё надо объяснять ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 19:22:10 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38334805&tid=2128961]: |
0ms |
get settings: |
16ms |
get forum list: |
20ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
50ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 318ms |
| total: | 526ms |

| 0 / 0 |
