class if1
{
public static void main(String args[])
{
int a = 100;
if(a==100); //Expected a compile error but did not get one.
}
}
Я ожидал, что компилятор выдает мне сообщение об ошибке, но на удивление он скомпилирован просто отлично. В чем заключается причина, по которой компилятор должен игнорировать, имеет ли оператор «if» какие-либо инструкции для обработки или нет. Почему это не вызывает ошибку, как в следующем случае?if/else statement в Java
class if2
{
public static void main(String args[])
{
int a = 100;
if(a == 101) //Compiler complains here...
else
{
System.out.println("in else");
}
}
}
В приведенном выше заявлении компиляция жалуется, что в предложении «если» нет необходимости обрабатывать.
Может ли кто-нибудь сказать мне, почему?
Если условие требует по крайней мере одного заявления. В первом случае это «;». Во втором случае оно пустое. – qasimzee
@qasimzee 'if' нуждается * точно * один оператор или блок. –
Да, согласен. Спасибо – qasimzee