Entering a line of code with a new line number inserts it into the program, while entering one with an existing line number replaces the previous version or deletes it if it is empty. The portion of the line number to the left of the period is known as the "page" or "part", while the portion to the right is known as the "line". Thus the line number refers to page 10, line 12. Branches can target either a page or a line within a page. When the later format is used, the combined page and line is known as a "step". Pages are used to define subroutines, which return when the next line is on a different page. For instance, if a subroutine for calculating the square root of a number is in page 3, one might have three lines of code 3.1, 3.2 and 3.3, and it would be called using The code would return to the statement after the Do when it reaches the next line on a different page, for instance, 4.1. There is no need for the equivalent of a at the end, although if an early return is required, accomplishes this. Every line must start with a command keyword following the line number. There is no concept of a "default command" as is the case in BASIC with its optional statement. Multiple statements can be placed on a single line, separated by colons or semicolons. Every line must end with a period. JOSS uses a suffix notation to indicate conditional evaluation, "do this if this is true", in comparison to most languages which place the condition in front in prefix notation, "if this is true, do this". Like BASIC, but unlike FORTRAN or FOCAL, any statement can be conditionally evaluated in this fashion. For example, to print a string only if a condition is met, one can combine the if with a :  JOSS supported six infix comparisons, , , , , and , as well as boolean operators , and . Loops were handled in a similar fashion, using the command and a somewhat obscure format for specifying the loop bounds and step value, . For instance, to step from 1 to 10 by 2, the format is . Like , could be applied to any other statement:  Note that the for applies only to a single statement; if one wants to run multiple statements in a loop, they would be separated to another part and called using do:  As in BASIC, any of the inputs to the for loop could be constants, variables or other expressions.