因为字符'你'在ascii中值是20320,字符'A'在ascii中值是65,所以x>'A'成立,y='爱',z='情',
而你的else语句中没有大括号,else只作用于一行,因此z='她'会执行,所以最终的结果是:
你爱她
你的代码等同于:
public static void main(String[] args){
char x = '你', y = 'e', z = '吃'
System.out.println("你=" + (int) '你' + ",A=" + (int) 'A')// 分别打印出'你'和'A'的ascii值
if (x > 'A')
{
y = '爱'
z = '情'
} else
{
y = '我'
}
z = '她'
System.out.println(" " + x + y + z)
}
运行结果:
你=20320,A=65你爱她
把代码格式排版标准了,你一眼就能知道为什么?else没有{},z='你'不属于else语句块,只有y='我'一句属于else。
所以z='你'这一句必定执行,重新修改了z='情'使得z的值最终是'你'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)