对于下面的代码,我不完全理解为什么外部For循环不需要大括号?我知道如果我们有他们会很好,但不能完全理解为什么没有他们是好的。如果循环的主体是一个语句,则不需要大括号。外部循环的主体如何只是一个语句,从技术上讲,这不是for循环的范围,也包括内部for循环。这不意味着外部for循环直到内部for循环结束才结束吗?这意味着内部循环是外部for循环的一部分,对吧?在这种情况下,我们不应该不使用我认为的支架。我可能会对外部for循环的主体和嵌套的for循环的组成部分感到困惑。
class HelloWorld{
public static void main(String []args){
for(int i = 0; i < 10; i ++)
for(int j = 0; j < 5; j++)
{
System.out.println("Hello");
}
}
}
for和while循环以及if子句都控制以下语句。
语句可以是特定的代码行或块(用大括号包装的代码(。语句本身的定义为
用于([ForInit];[Expression];[ForUpdate](语句
因此,以下语句可以是任何其他语句(包括语句的新(。
您的代码rougly等于
ForStatement (ForStatement Block)
的第一个查找以下语句,这是中的另一个<strong]。它在找到的语句上循环。>的内部查找一个块作为下一个语句,并在该块上循环。然后,块本身可以由多个语句组成。
另请参阅(关于java中不带大括号的循环(。
因为内部循环只是一个语句。只有当外部循环中有多个语句时,才必须使用大括号。因此,带有其主体的循环被计算为一个语句。
外部循环只处理一条语句-内部for
。因此,对于外循环来说,其他一切都不有趣,内循环可能包含许多行,因为它只属于内循环(在本例中用大括号标记(,对于外环来说,只有下一行很重要,而忽略了其他行。但是内部循环没有,所以一切都很好,因为外部循环确实启动了内部循环,而内部循环承担了其余的部分
但是:在这种情况下,外循环使用大括号更容易阅读。