3 svar
795 visningar
gulfi52 896 – Fd. Medlem
Postad: 21 feb 2017 10:42

Boolean

Boolean - om man använder detta som ett villkor - kan man använda det som att det returnerar vilket som av true eller false för att loopen ska fortsätta - eller måste man formulera det så det returerar true för att loopen ska fortsätta och man inte ska gå ur den?

Yngve 40279 – Livehjälpare
Postad: 21 feb 2017 11:30 Redigerad: 21 feb 2017 12:07
gulfi52 skrev :

Boolean - om man använder detta som ett villkor - kan man använda det som att det returnerar vilket som av true eller false för att loopen ska fortsätta - eller måste man formulera det så det returerar true för att loopen ska fortsätta och man inte ska gå ur den?

Förstår inte riktigt vad du undrar över, kan du ge ett exempel på vad du vill uppnå, hur din loop ser ut och vilket boolean expression du vill använda för att styra?


Om du vill styra hela loopen med ditt boolean expression så har du allt klart från början, som till exempel i kostruktionen:

while ( booleanExpression ) {
    // några satser

}


Men om du istället har en for-loop som du vill kunna avbryta så kan du ju göra det med ett break, och då beror det ju helt på hur du formulerar villkoret:

for(<något slags iteration>) {

  // några satser

  if (booleanExpression) {

       break;

  }

}

Detta kommmer att avbryta loopen om booleanExpression är TRUE.


EDIT - flyttade in NOT-operatorn (utropstecknet) innanför parentesen i if-satsen

for(<något slags iteration>) {

  // några satser

  if ( ! booleanExpression) {

       break;

  }

}

 Detta kommmer att avbryta loopen om booleanExpression är FALSE 

PeterÅ 842
Postad: 21 feb 2017 11:48 Redigerad: 21 feb 2017 11:50

Tror det ska vara
  if  (!booleanExpression)
(utropstecknet innanför parentesen) i det sista exemplet.

man kan även skriva
  if  (booleanExpression == false)
vilket är lite tydligare, det är lätt att missa utropstecknet

Yngve 40279 – Livehjälpare
Postad: 21 feb 2017 12:01
PeterÅ skrev :

Tror det ska vara
  if  (!booleanExpression)
(utropstecknet innanför parentesen) i det sista exemplet.

man kan även skriva
  if  (booleanExpression == false)
vilket är lite tydligare, det är lätt att missa utropstecknet

 Ja hoppsan. Jag har rättat det nu. Tack.

Svara
Close