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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑夜里的白猫 中级黑马   /  2013-10-13 16:43  /  1281 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑夜里的白猫 于 2013-10-14 08:23 编辑

               sop(1);//数字完全按照原来打印 1

                char ch = 97;
                sop(ch);//按照unicode表打印字符 a

                sop('a');//打印‘‘ 中的字符 a

                char ch1 = '1';
                sop(ch1);//打印’‘ 中的字符 1

public  static void sop(Object  obj)
{
             System.out.println(obj);
}

**************以上是我验证的,没问题;


但是
sop('12');// 编译错误: 未结束的字符文字!!!!!!!!!!!!!!!!!!!!!111
sop('1');//没问题;


评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

3 个回复

正序浏览
其实这是一个关于数据与数据类型相对应的问题,牢记你声明什么类型的数据就存放什么类型的数据,一一对应。如下:
char a='12';  //显然这里错误的把字符串当做字符来用,应该改成 String a="12";
char b='1';   

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
首先我们要理解“”和‘’的区别,‘’代表了一个字符,也就是说‘’中只能放一个数据,而“”则是代表了一个字符串,可以把他理解成是一个字符数组,也就是说在“”可以放不止一个的字符。

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
12应该定义为字符串吧
sop(“12”);

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马