JAVA中为何这个程序最后打出来的结果是‘你爱她’???

JAVA中为何这个程序最后打出来的结果是‘你爱她’???,第1张

因为字符'你'在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的值最终是'你'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7882572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存