A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public static void main(String [] args){       
                StringBuffer s=new StringBuffer();
                s.append(1>5?100:'A');
                s.append(6>5?90:'B');
                System.out.println(s);
        }为什么结果是AZ,不是A90???

12 个回复

倒序浏览
StringBuffer的方法append()可以重载这些方法,可以接受任意类型的数据,只不过是将这些数据已字符串的形式追加到此字符序列,将90转换为z
回复 使用道具 举报
进来学习的
回复 使用道具 举报
长知识了
回复 使用道具 举报
使用三元运算符,两边的操作数的类型不一致的时候,会自动转换
回复 使用道具 举报
涟漪不起 来自手机 中级黑马 2016-6-18 12:38:13
地板
刚发现…
回复 使用道具 举报
qq6505520 来自手机 中级黑马 2016-6-18 13:27:21
7#
学习了!!
回复 使用道具 举报
sgzqsw 中级黑马 2016-6-19 11:13:34
8#
本帖最后由 sgzqsw 于 2016-6-19 11:18 编辑

考的还是字符里面的类型什么时候转换。
回复 使用道具 举报
又知道了不知道的知识了
回复 使用道具 举报
对象s只能存储字符串类型的东西,添加第二个的时候已经自动转换了类型
回复 使用道具 举报
学习了!!!!
回复 使用道具 举报
90 在ASCII码中是Z对应值是90   因为输出的是 将 char 参数的字符串表示形式追加到此序列。
回复 使用道具 举报
745661590 发表于 2016-6-19 19:27
90 在ASCII码中是Z对应值是90   因为输出的是 将 char 参数的字符串表示形式追加到此序列。 ...

你可以查看一下StringBuffer API文档  里面对append 说的很清楚 都是将字符串表示形式追加到此序列。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马