2017-02-21 21 views
-3

Может кто-нибудь объяснить, как работает этот цикл? У меня возникли трудности с пониманием, когда он будет запускать оператор if, и когда он возвращается назад.как работает этот цикл?

// keep buying phones while you still have money 
while (amount < bank_balance) { 
    // buy a new phone! 
    amount = amount + PHONE_PRICE; 

    // can we afford the accessory? 
    if (amount < SPENDING_THRESHOLD) { 
     amount = amount + ACCESSORY_PRICE; 
    } 
} 

Также, почему он все еще работает без компонента else с if?

ответ

1

Ваш вопрос говорит мне, что вы еще не совсем понимаете if и while сами по себе и используя их вместе, вы даже путаете.

if не всегда нуждается в else, если условие истинно выполняется, и если false, то ничего не делать.

if(){ //if true doA() and if false, skip it 
    doA(); 
} 


if(){//if true doA() and if false, doB() 
    doA(); 
}else{ 
    doB(); 
} 

Простого пример

int count = 10; 

while(count != 0){ 
    count = count - 1; 

    if(count == 8){ 
     count = 0; 
    } 
} 

процесс:

on while check 10 != 0; 
count is now 10 - 1 
on if check if 9 == 8 // FALSE doesnt do anything 

loop back up to while 

on while check 9 != 0; 
count is now 9 - 1 
on if check if 8 == 8 // TRUE do execute 
count is now 0 

loop back up to while 

on while check 0 != 0; // FALSE 
OUT OF WHILE AND FINISH 

Надеется, что это помогает