我是一个Java菜鸟。我只用了几天,我还在努力弄清楚。在程序中,一行和一个语句是一样的吗?
问问题
314 次
6 回答
5
不,我可以写:
int x = 1; int y = 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;
然而,做这样的事情可能——而且很可能会——导致源代码的可读性问题。出于这个原因,不建议这样做。
单个语句也可以跨越多行:
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
基于此,您可以很容易地看到一个语句可以跨越多行,但单行可以承载多个语句。另请注意,声明是一个非常广泛的术语。
于 2011-09-18T17:23:29.423 回答
2
这一行包括两个语句:
j = 5; j += 3;
所以,一行不一定是一个陈述......
于 2011-09-18T17:22:57.997 回答
2
仅通过常规做法,并且为了可读性。在 Java 中,语句以分号结尾,或者在块的情况下,由一对花括号 ( { } ) 终止。
于 2011-09-18T17:23:20.550 回答