原理的话看源码就知道了
你输出的5>2 在没有加双引号的情况下,是一个boolean类型的表达式,它实质上会产生一个boolean类型的变量,你再看看print函数是怎么写的就明白了,下面是print函数- public void print(boolean b) {
- write(b ? "true" : "false");
- }
复制代码 如果你有基础的话你应该能明白,print函数(没有找println函数是因为麻烦,这里简化处理)传递的参数的时候,如果参数类型是boolean的话,会在写出true或者是false,这取决于你的变量是true还是false
另外xx?yy:zz 这是三目运算符,表示如果?前面的条件满足(因为这里b是boolean类型变量,即判断b是否为true即可)执行?后面的操作,若不满足,执行:后面的操作
你的5>2显然为true,所以print函数写了一个带引号的"true",即一个字符串true,表示5>2这个boolean类型的表达式的值为true
如果想看write函数具体是怎样执行的,可在MyEclipase环境里按住Ctrl键,再左键单击函数名就行了,我上面给你的代码就是print函数的代码,你也可以自己去看看println函数的代码
如果你刚开始学的话,可能看不太懂,但是别着急 一步一步来,慢慢就会明白了
加油哦,希望能帮到你
|