if的用法

解决方案 »

  1.   

    There are two forms of if statement: if...then and the if...then...else. The syntax of an if...then statement isif expression then statementwhere expression returns a Boolean value. If expression is True, then statement is executed; otherwise it is not. For example,if J <> 0 then Result := I/J;The syntax of an if...then...else statement isif expression then statement1 else statement2where expression returns a Boolean value. If expression is True, then statement1 is executed; otherwise statement2 is executed. For example,if J = 0 then  Exit
    else
      Result := I/J;The then and else clauses contain one statement each, but it can be a structured statement. For example,if J <> 0 thenbegin
      Result := I/J;
      Count := Count + 1;
    end
    else if Count = Last then
      Done := True
    else
      Exit;Notice that there is never a semicolon between the then clause and the word else. You can place a semicolon after an entire if statement to separate it from the next statement in its block, but the then and else clauses require nothing more than a space or carriage return between them. Placing a semicolon immediately before else (in an if statement) is a common programming error.
    A special difficulty arises in connection with nested if statements. The problem arises because some if statements have else clauses while others do not, but the syntax for the two kinds of statement is otherwise the same. In a series of nested conditionals where there are fewer else clauses than if statements, it may not seem clear which else clauses are bound to which ifs. Consider a statement of the formif expression1 then if expression2 then statement1 else statement2;There would appear to be two ways to parse this:if expression1 then [ if expression2 then statement1 else statement2 ];
    if expression1 then [ if expression2 then statement1 ] else statement2;The compiler always parses in the first way. That is, in real code, the statementif ... { expression1 } then  if ... { expression2 } then
        ... { statement1 }
      else
        ... { statement2 } ;is equivalent toif ... { expression1 } thenbegin
      if ... { expression2 } then
        ... { statement1 }
      else
        ... { statement2 } 
    end;The rule is that nested conditionals are parsed starting from the innermost conditional, with each else bound to the nearest available if on its left. To force the compiler to read our example in the second way, you would have to write it explicitly asif ... { expression1 } thenbegin
      if ... { expression2 } then
        ... { statement1 }
    end
    else
      ... { statement2 } ;
      

  2.   

    begin
      if ... { expression2 } then
        ... { statement1 }
    end
    else
      ... { statement2 } ;
      

  3.   

    够详细了,我不知道该怎么说了, 
    如果一定要说, 我就简单化if then 
    if then else 来回也就这样一回事
      

  4.   

    if expression1 then
    application1
    else
    application2;
    建议多看代码就知道拉。哈哈