首页 > 编程语言 > 详细

java语句中,判断条件是赋值语时,多种场景验证结论

时间:2021-01-16 22:08:48      阅读:112      评论:0      收藏:0      [点我收藏+]

java语句中,判断条件是赋值语时,多种场景验证结论

众所周知,java中有个基本类型是boolean,仅有true和false两个值。

在平时判断语句中,通常这样使用

int a = 1;
int b = 2;
if(a == b){
    System.out.print("true");
}
else{
    System.out.print("false");
}
//最后会输出false

或者这样使用

int a = 1;
int b = 2;
System.out.print(a==b);
//同样会输出false

那如果在if/while判断和输出命令中写类似a=b的赋值语句会怎么样呢?

首先来看if判断:

//方式1:赋值语句的参数为非boolean类型——报错,因为判断语句中只能输入boolean类型的参数
int a = 1;
int b = 2;
if(a=b){
    System.out.print("true");
}
else {
    System.out.print("false");
}

技术分享图片

//方式2:赋值语句的参数为boolean类型——不报错
boolean flag1 = true;
boolean flag2 = false;
//分别执行下列四种场景,注意不要一次性执行,否则定义的"flag1 = true;flag2 = false;"会被覆盖,影响此次实验结果
//flag1=flag2
if(flag1=flag2){
    System.out.print("true");
}
else {
    System.out.print("false");//输出false
}
?
//flag2=flag2
if(flag2=flag2){
    System.out.print("true");
}
else {
    System.out.print("false");//输出false
}
?
//flag2=flag1
if(flag2=flag1){
    System.out.print("true");//输出true
}
else {
    System.out.print("false");
}
?
//flag1=flag1
if(flag1=flag1){
    System.out.print("true");//输出true
}
else {
    System.out.print("false");
}

由上面4种场景分别执行结果来看,得出结论:if判断语句中赋值语句的结果,取决于等号右边的值,等号右边是true则判断语句为true,等号右边是false则判断语句为false。while可证结论一致。

接下来看下输出语句中写赋值语句的结果:

//方式1:赋值语句的参数为非boolean类型
int a = 1;
int b = 2;
//分别执行下列四种场景,注意不要一次性执行,否则定义的"int a = 1;int b = 2;"会被覆盖,影响此次实验结果
System.out.print(a=b);//输出2
System.out.print(b=b);//输出2
System.out.print(b=a);//输出1
System.out.print(a=a);//输出1
//方式1:赋值语句的参数为boolean类型
boolean flag1 = true;
boolean flag2 = false;
//分别执行下列四种场景,注意不要一次性执行,否则定义的"flag1 = true;flag2 = false;"会被覆盖,影响此次实验结果
System.out.print(flag1=flag2);//输出false
System.out.print(flag2=flag2);//输出false
System.out.print(flag2=flag1);//输出true
System.out.print(flag1=flag1);//输出true

由上面4种场景分别执行结果来看,最终得出结论:

判断语句和输出语句中如果为赋值语句如a=b,最终结果取决于赋值语句等号右边的值

 

java语句中,判断条件是赋值语时,多种场景验证结论

原文:https://www.cnblogs.com/ruoleecc/p/14287434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!