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