DescriptionIF statements are a type of conditional, which means that the code is run differently depending on certain conditions provided. IF statements are among the most important commands in any programming language, because without conditionals, no program would be interactive. Comparators are important in IF statements. They compare two objects. The comparators are as follows:
== (is equal to) != (is not equal to) > (is greater than) < (is less than) >= (is greater than or equal to) <= (is less than or equal to) ! (invert what follows) && (both sides of && must evaluate to TRUE to return TRUE) || (either side of || must evaluate to TRUE to return TRUE) XOR (only one side of XOR can be TRUE to return TRUE) TRUE (TRUE) FALSE (FALSE)An IF statement actually contains 5 keywords to learn: IF, THEN, ELSEIF, ELSE, and ENDIF.
IFIF initiates an IF chain. After the IF keyword, you provide a comparative statement, meaning, you compare two or more things. If the comparative statement after the IF keyword evaluates to TRUE, then everything after the THEN keyword will be executed. The following are a couple of examples of comparative statements that evaluate to TRUE:
5 == 5 7 >= 2 "string a" != "string b" !FALSE TRUE && TRUE TRUE || FALSE TRUE XOR FALSEThe following are a couple of examples of comparative statements that evaluate to FALSE:
5 == 4 7 < 2 "string a" == "string b" !TRUE TRUE && FALSE FALSE || FALSE TRUE XOR TRUE
THENTHEN is only executed if the comparative statement after IF evaluates to TRUE. If the comparative statement that follows IF is evaluated to TRUE, all code between THEN and ELSE/ELSEIF/ENDIF will be evaluated. THEN is required in any IF statement.
ENDIFENDIF ends a multi-line IF statement. It concludes the statement, and any code after will not be affected by any conditional statements inside the IF block. ENDIF is required in any multi-line IF statement.
ELSEELSE is only executed if the comparative statement after IF evaluates to FALSE. If the comparative statement that follows IF is evaluated to FALSE, all code between ELSE and ENDIF will be evaluated. ELSE is optional in an IF statement.
ELSEIFELSEIF is short for ELSE IF. ELSEIF contains another comparative statement after it, and extends to another THEN statement and possibly another ELSE statement. If the comparative statement in the previous IF or ELSEIF command evaluated to false, then the comparative statement after ELSEIF is checked. The same rules apply as if it were simply an IF statement. There can be as many ELSEIF statements in a chain as you want.
Program ExampleExample of single-line IF statement syntax.
IF 5==5 THEN PRINT "This is the reflexive property of equality" 'Output on screen: 'This is the reflexive property of equalityExample of multi-line IF statement syntax.
IF 5==5 THEN PRINT "Do I really need to repeat what I said in the previous example?" ENDIF 'Output on screen: 'Do I really need to repeat what I said in the previous example?Example of comparing strings.
IF "String A"=="String B" THEN ENDIF 'Code evaluated to FALSEExample of comparing variables.
VAR NUM1%=5 VAR NUM2%=6 IF NUM1%<NUM2% THEN ENDIF 'Code evaluated to TRUE (5<6)Example of ELSE.
IF 5>8 THEN PRINT "5 is greater than 8" ELSE PRINT "5 is not greater than 8" ENDIF 'Output on screen: '5 is not greater than 8Example of ELSEIF
IF 5>5 THEN PRINT "5>5" ELSEIF 5==5 THEN PRINT "5=5" ELSE PRINT "5<5" ENDIF 'Output on screen: '5=5Example of comparing multiple things in one IF statement.
IF 5>3 && "apples"!="oranges" THEN PRINT "All good!" 'Output on screen: 'All good!