}
}
上面的代码,只是把您原来声明的两个变量b区分了一下,一个是b1,一个是b2,这样你理解起来就不会混乱。然后,我们来看输出的结果:
程序的输出结果是:
b
c
为什么是这样的结果呢?
很简单,首先我们来理解两个符号的含义:
"=="以及"="
"=="两个等于号组成的符号,在程序的作用是起判断的作用,即判断==号左右两边的值是否相等。如果相等,则返回1,如果不相等,则返回0;
"="一个等于号,在程序的作用是起赋值的作用,即将等号右边的值赋给左边。
弄清了这两个概念之后,我们来分析程序就不难了。
首先,我们声明了一个布尔型变量b1的值等于true.
if 后面括号的内容是判断变量b1是否等于false.很明显,我们在上一行代码已经将b1初始化为true 。所以if括号里面的内容不成立。然后就往下执行else if语句。因为b1的值不变,仍然是true,所以这个else if (b)括号中的内容为真,是成立的,所以执行紧跟着的一句代码,所以就打印字符串b了。
然后,我们来分析下一段代码:同样,一开始初始化一个布尔型变量b2= true.
刚才已经说过,一个等号"="代表赋值运算,是将右边的值赋给左边,所以这时变量b2的值被改变了。b2的值由之前的true变成了false.所以if语句括号的内容不成立,然后继续判断下面esle if 括号中的内容是否为真,很明显,也不成立。再判断下一个else if (!b)这一句代码括号中的内容是否为真。这里,聪明的楼主会发现,它用了取反运算符!,即由原来的false变成了true.所以,会打印字符串c。
说了很多了,希望楼主能看明白。有点长,只为楼主好理解。纯手打的,满意请采纳,谢谢!