2011-09-18 12 views
6

Sono un noob Java. L'ho usato solo per alcuni giorni e sto ancora cercando di capirlo. In un programma, una linea è la stessa cosa di una frase?Una riga in un programma Java equivale a un'istruzione?

+0

Così tante risposte ... Quale posso accettare? – Benny

+0

Accetta quello che funziona per te. – fireshadow52

+1

Quello che ti è più utile. Se sono tutti ugualmente utili, in genere viene accettata la prima risposta pubblicata. –

risposta

4

No. Il compilatore Java non considera le righe, la spaziatura o altri problemi di formattazione durante la compilazione di un programma. Vuole solo vedere il ; alla fine di ogni istruzione . Questo linea avrebbe funzionato bene:

int i = 13; i += 23; 

Tuttavia, fare le cose come questo può - e molto probabilmente - problemi di leggibilità causa con il codice sorgente. Per questo motivo, non è raccomandato.

E 'anche possibile che una singola istruzione a più righe:

int i = 
    13; 
4

In un programma, una riga equivale a una frase?

No.

Volete sapere la differenza? Inizia con il JLS §14.5: Blocks and Statements:

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 
2

Questa linea comprende due affermazioni:

j = 5; j += 3; 

Quindi, una linea non è necessariamente una dichiarazione ...

5

No. Posso scrivere:

int x = 1; int y = 2; 

Questa è una linea, e due dichiarazioni.

2

Solo dalla pratica comune e per la leggibilità. Nelle istruzioni Java terminano con punti e virgola o, nel caso di blocchi, con coppie di parentesi graffe ({}).

4

Secondo Java grammar:

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 

In base a questo si può facilmente vedere che una dichiarazione può estendersi su più linee, ma anche un'unica riga può ospitare più istruzioni. Si noti inoltre che la dichiarazione è un termine molto ampio.

+0

Il tuo punto di essere? – delnan

+0

Solo un testa a testa, non è la versione più recente di JLS. –

Problemi correlati