6

私はJavaの初心者です。私はそれを数日しか使用していません、そして私はまだそれをすべて理解しようとしています。プログラムでは、行はステートメントと同じものですか?

4

6 に答える 6

5

いいえ、次のように書くことができます。

int x = 1; int y = 2;

これは1行と2つのステートメントです。

于 2011-09-18T17:23:06.430 に答える
4

プログラムでは、行はステートメントと同じものですか?

いいえ。

違いを知りたいですか?JLS§14.5から始めます:ブロックとステートメント

Statement:
        StatementWithoutTrailingSubstatement
        LabeledStatement
        IfThenStatement
        IfThenElseStatement
        WhileStatement
        ForStatement

StatementWithoutTrailingSubstatement:
        Block
        EmptyStatement
        ExpressionStatement
        AssertStatement
        SwitchStatement
        DoStatement
        BreakStatement
        ContinueStatement
        ReturnStatement
        SynchronizedStatement
        ThrowStatement
        TryStatement

StatementNoShortIf:
        StatementWithoutTrailingSubstatement
        LabeledStatementNoShortIf
        IfThenElseStatementNoShortIf
        WhileStatementNoShortIf
        ForStatementNoShortIf
于 2011-09-18T17:22:31.747 に答える
4

いいえ。Javaコンパイラは、プログラムをコンパイルするときに、行、間隔、またはその他のフォーマットの問題を考慮しません。各ステートメント;の最後にあるを確認したいだけです。このは問題なく機能します。

int i = 13; i += 23;

ただし、このようなことを行うと、ソースコードの可読性の問題が発生する可能性があります。このため、お勧めしません。

1つのステートメントが複数の行にまたがることも可能です。

int i =
    13;
于 2011-09-18T17:23:01.610 に答える
4

Javaの文法によると:

Statement:
    Block
    if ParExpression Statement [else Statement]
    for ( ForInitOpt   ;   [Expression]   ;   ForUpdateOpt ) Statement
    while ParExpression Statement
    do Statement while ParExpression   ; 
    try Block ( Catches | [Catches] finally Block )
    switch ParExpression { SwitchBlockStatementGroups }
    synchronized ParExpression Block
    return [Expression] ; 
    throw Expression   ; 
    break [Identifier]
    continue [Identifier]
    ; 
    ExpressionStatement
    Identifier   :   Statement

これに基づいて、1つのステートメントが複数の行にまたがることができるだけでなく、1つの行が複数のステートメントをホストできることも簡単にわかります。また、ステートメントは非常に広い用語であることに注意してください。

于 2011-09-18T17:23:29.423 に答える
2

この行には、次の2つのステートメントが含まれています。

j = 5; j += 3;

したがって、行は必ずしもステートメントではありません...

于 2011-09-18T17:22:57.997 に答える
2

一般的な慣行によってのみ、そして読みやすさのために。Javaの場合、ステートメントはセミコロンで終了します。ブロックの場合は、中括弧({})のペアで終了します。

于 2011-09-18T17:23:20.550 に答える