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

© 陈少文 中级黑马   /  2012-8-14 12:13  /  1659 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


char a = 'a';
char b = 'b';
  if(a<b)
  {
   System.out.println("a<b");
  }

请问一下,字符的比较在底层是不是ASCLL码在比较
a 对应的ASCLL码97
b对应的ASCLL码98
a<b
在计算机底层实值上比较的是97<98

如果不是ASCLL码在比较,那是根据什么在比较。

评分

参与人数 1黑马币 +3 收起 理由
张立江 + 3

查看全部评分

3 个回复

倒序浏览
任何char型数据都是以ASCII码的形式保存的,比如空格,实际保存的是32。所以他们的比较就是ASCII码的比较。
  1. char a = 'a';
  2. char b = 'b';
  3.   if(a<b)
  4.   {
  5.    System.out.println("a<b");//所以输出为true
  6.   }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张立江 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Bingo!         
回复 使用道具 举报
的确是比较ASCLL
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马