当前位置 博文首页 > exercise_chenchw的博客:5个例题让你明白前++(--)和后++(--

    exercise_chenchw的博客:5个例题让你明白前++(--)和后++(--

    作者:[db:作者] 时间:2021-08-02 21:35

    
    public class Change{
    
    	public static void main(String[] args){	
       int x = 5;
       int y = 5;
       if(x++ == 6 & ++y == 6){
       	x = 11;
       }//x++是先比较后自增的。
     		System.out.println("x = " + x + "\t" + "y = " + y );
    
       	}
    }
    //分析:前++和后++单独使用的时候,运算的结果是都要加1的。
    //不是单独使用的时候我们就要注意了,如题所示:
    //if语句中的x++,就要先做判断语句,然后再加一,又有5是不等于6的,所以判断语句是不执行的。由于是逻辑与,所以还要执行后面的部分。
    //所以输出的x =6,y =6.
    public class Change{
    
    	public static void main(String[] args){	
       int x = 5;
       int y = 5;
       if(x++ == 6 && ++y == 6){
       	x = 11;
       }
     		System.out.println("x = " + x + "\t" + "y = " + y );
    
    // 区别是用了逻辑与,这个时候if语句中的一个语句执行后,判断不对,就不在执行后面的语句了。
    // 所以这时 的输出结果是x = 6,y = 5。
    
       	}
    }
    
    public class Change{
    
    	public static void main(String[] args){	
       int x = 5;
       int y = 5;
       if(++x == 6 | ++y == 6){
       	x = 11;
       }
     		System.out.println("x = " + x + "\t" + "y = " + y );
    
    // 若要换成前++,那么我们就可以分析出x=11,y=6.因为他是先做自增运算,之后再比较表达式
       	}
    }
    
    
    public class Change{
    
    	public static void main(String[] args){	
       int x = 5;
       int y = 5;
       if(++x == 5 | ++y == 5){
       	x = 11;
       }
     		System.out.println("x = " + x + "\t" + "y = " + y );
    
    // 若要换成前++,那么我们就可以分析出x=6,y=6.因为他是先做自增运算,之后再比较表达式
       	}
    }
    

    ?

    
    public class Change{
    
    	public static void main(String[] args){	
       int x = 5;
       int y = 5;
       if(++x == 5 || ++y == 5){
       	x = 11;
       }
     		System.out.println("x = " + x + "\t" + "y = " + y );
    
    // 若要换成前++,先执行第一个语句不符合,由于是或运算,再次执行后面的还是不符合,括号内的不执行,
    // 那么我们就可以分析出x=6,y=6.因为他是先做自增运算,之后再比较表达式
       	}
    }
    

    ?

    
    public class Change{
    
    	public static void main(String[] args){	
       boolean x = true;
       boolean y = false;
       short z = 46;
    
       if((z++ == 46) && (y = true)) z++;//后++,,第一句执行后z=47,后面的是赋值语句。由原本的false变成了true。
       if((x = false) ||(++z == 49)) z++;//前面的一个也是赋值语句,将false赋值给x后,他就是假了,但是我是或运算,我还要继续执行
       // 后面的语句。
     		System.out.println("z = " + z);//结果就是50。
    
       	}
    }
    

    ?

    ?短路短路,效率高执行少。我们喜欢用。

    cs
    下一篇:没有了