java这个语句输出的结果为什么是16?

[复制链接]
查看11 | 回复5 | 2012-6-7 21:40:51 | 显示全部楼层 |阅读模式
switch 语句 支持的是整型:byte char short int计算机处理字符类型的时候,是把字符当成不同的整数来处理的,ch + 1 =57 '9'也等于57所以结果就是r+6 =16啊public class T {public static void main(String[] args) {System.out.println( '9' == ('8' + 1));//true}}...
回复

使用道具 举报

千问 | 2012-6-7 21:40:51 | 显示全部楼层
ch+1等于9,所以r=r+6为16...
回复

使用道具 举报

千问 | 2012-6-7 21:40:51 | 显示全部楼层
因为ch+1是57,'9'的asic值为57,所以执行r+6,最后结果为16!...
回复

使用道具 举报

千问 | 2012-6-7 21:40:51 | 显示全部楼层
你想调戏大家是吧,你说的是对的,最后输入是10,一楼和三楼是正解,二楼是胡说八道的,迷糊。...
回复

使用道具 举报

千问 | 2012-6-7 21:40:51 | 显示全部楼层
括号里面的switch(ch(8+1))实际是这样的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行