2016-04-03 8 views
2
if(3 % 3 == 0){ 
    return 3;; 
} 

Java sagt unreachable statement.Wie analysiert Java leere Anweisungen?

Ich verstehe, dass java parst return 3;; als

return 3; 
     ; 

So sagt es nicht erreichbar Aussage. Aber es ist eine leere Aussage. Warum kümmert sich Java darum?

+7

Warum würden sie spezielle Gehäuse leere Aussagen stören? – user2357112

Antwort

1

Einfach: der Java-Compiler behandelt eine leere Anweisung als nur eine Anweisung. Wie this section aus der Java-Sprachspezifikation zeigt:

Statement: 

    StatementWithoutTrailingSubstatement 
    LabeledStatement 
    IfThenStatement 
    IfThenElseStatement 
    WhileStatement 
    ForStatement 

StatementWithoutTrailingSubstatement: 
    Block 
    EmptyStatement 
    ExpressionStatement 
    AssertStatement 
    SwitchStatement 
    ... 

Und the definition of unreachable statements auf alle Arten von Aussagen gelten. Beachten Sie insbesondere Folgendes:

Eine leere Anweisung kann normalerweise abgeschlossen werden, wenn sie erreichbar ist.

Verwandte Themen