Это не имеет никакого реального смысла, но синтаксически правильно.Это также может быть записано как
if (true)
{
// do nothing
}
{
foo();
}
с {} вокруг foo ();ничего не значит в этом случае.Это ограничило бы область действия переменных, определенных в {}, если бы были определены переменные.
{
int i=0;
System.out.println(i);
}
{
String i="hello";
System.out.println(i);
}
работает просто отлично.