我很难找到重复或解释,因为我不知道语法的名称。
今天早些时候,我写了一段包含额外;
的代码:
if (condition); {
try {
// something
} catch (Exception e) {
// something
}
}
我知道if语句被;
中断了。我感兴趣的是块
{
// something
}
该块({}
)如何在没有前导if
,for
,...的情况下被调用,我可以将它用于什么?
答案 0 :(得分:3)
您可以自行使用{}
个屏障,但不一定需要if
,else
或其他关键字。
此类块对于构造代码很有用,或者,例如,限制局部变量的范围,例如:
{
int myVar = ...;
}
myVar
将无法在块外显示/访问,因此您可以更轻松地阅读此代码,因为您不必在块外考虑myVar
。
答案 1 :(得分:3)
答案 2 :(得分:1)
这只是一个复合语句。您的拼写错误不是语法错误的原因是if
语句根据定义后跟完全一个语句。这可能是一个空语句(;
),一个简单语句(x = x + 1
)或复合语句({ ... }
)。
复合语句本身(而不是用作if
,for
等的主体)通常用于定义一个范围,在该范围内可以使用精确的生命定义变量跨度。
// No foo out here
{
int foo;
...
}
// No foo here either