离破碎虚空的不远了。
public static void main(String[] args) {
System.out.println("outer Before");
{
boolean i;
if (i = false) {
{
//code
System.out.println("inner IF");
}
}

else{
System.out.println("outer ELSE " + i);
}
System.out.println("outer After");
} }
这样能执行吗?给点解释吧,受不了了。
这样呢?
public static void main(String[] args) {
System.out.println("outer Before");
{
{
boolean i;
if (i = false) {
{
//code
System.out.println("inner IF");
}
}

}

else{
System.out.println("outer ELSE " + i);
}
System.out.println("outer After");
} }
呵呵

解决方案 »

  1.   

    第一个能。
    第二个不能
    else {} 算一个块  但是必须紧跟if{} 块后面
    单个块{} 里面能再加{}....必须成对出现
      

  2.   


    public class Test {  //{1}..start
    public static void main(String[] args) {  //{2}..start
    System.out.println("outer Before");
    {  //{3}..start
    boolean i;
    if (i = false) {  //{4}..start
    {  //{6}..start
    System.out.println("inner IF");
    }  //{6}..end
    }  //{4}..end else {  //{5}..start
    System.out.println("outer ELSE " + i);
    }  //{5}..end
    System.out.println("outer After");
    }  //{3}..end
    }  //{2}..end
    }//{1}..end//以上全是标准嵌套,切else块{5} 紧跟在块{4}之后public static void main(String[] args) {  //{1}...start
        System.out.println("outer Before");
        {//{2}...start
            { //{4}..start
                boolean i;
                if (i = false) {//{5}..start
                {//{6}..start
                    System.out.println("inner IF");
                }//{6}..end
            }//{5}..end
            
        }//{4}..end
        
        else{//{3}..start
            System.out.println("outer ELSE " + i);
        }  //{3}..end
        System.out.println("outer After");
        }//{2}..end}  //{1}...end//由于else块{3} 没有紧跟if块{5},而跟的是块{4} ...所以编译不过
      

  3.   

    if  else  成对出现   第二个 错误   语句块 在这里我觉得跟语句差不多 直接一句句运行