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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 疯子的昨天 中级黑马   /  2014-1-26 14:08  /  1680 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   这两天在复习张孝祥老师的基础视频,看到有这么一句话。字母加单引号表示字符,加双引号表示字符串。
那字符和字符串有什么区别? 字符的具体应用是怎么样的? 我看基础视频好像很少有这种应用。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

8 个回复

倒序浏览
直观上来说  字符就是单个的字母,只是一个字符 比如'a','b'.而字符串就是连续多个字符,比如“abc”,"def"等等
在使用的时候,一般都是字符串和字符数组相互转换使用,在写法上就是定义的时候用单引号和双引号区别,还有就是在定义字符的时候,单引号里面只能放入单个的数字(0-9)或者字母

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 很给力!

查看全部评分

回复 使用道具 举报
字符是字符串的元素,字符串是字符的集合.就类似一个人与一群人的区别
回复 使用道具 举报
那'a'和“a"有什么区别???
回复 使用道具 举报
字符串是由字符组成的(有点儿废话),不过这就是区别啊,字符的应用很多啊,主要集中在字符串的操作上,查看String类api,就晓得了。
回复 使用道具 举报
追加一点,从存储的角度,每个字符存储两个字节,而字符串存储得更多,有不对的地方请吐槽:lol

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
  1. public class Demo{
  2.         public static void main(String args[]){
  3.                 char c1 = 'a';
  4.                 char c2 = 97;
  5.                 System.out.println("c1 = " + c1);
  6.                 System.out.println("c2 = " + c2);
  7.         }
  8. }你说的字符(char),是属于java的基本数据类型,是用来保存英文字母,数字等字符的,一般使用2个字节来保存一个字符。
  9. 其实计算机在处理字符类型时,是把这些字符当成不同的整数来看待的。
  10. 而平常所见到的定义字符串String str="hello"这种方式,楼主可以发现,String声明时单词的首字母大写,所用String本身是一个类,已经算java的引用数据类型,需要涉及到堆内存和栈内存空间开辟的问题。
复制代码

评分

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

查看全部评分

回复 使用道具 举报
这个其实很好理解啊。就是一块羊肉跟几块羊肉被竹条插成一串的问题。至于这个单引号号是字符,双引号是字符串这个明显就是因为编译器的问题了。为了区分二者,就定下这个规矩为语法,编译器在检查语法问题的时候就根据这个规矩去区别的。
回复 使用道具 举报
    这个其实蛮好理解的。单引号表示字符,双引号表示字符串,这个是语法上的定义。从理解上的定义来说字符和字符串的区别是什么呢?可以这么说,字符是基本单元,由多个基本单元构成的序列就是字符串了,也就是字符串由多个字符组成。打个比方,我们平常交流是用句子进行交流的,而句子是由一个个独立的字构成的,这些字组合成句子。
    这个应该很好理解,楼主困惑的大概是“a”这样叫做字符串,而‘a’这样却被叫做字符的问题。套用楼上的一个例子,就好像说羊肉串,一串羊肉串是由多个羊肉构成的,羊肉串好比字符串,把多个字符(羊肉)串起来组成的,那么羊肉就是基本单元。这时候都知道,一串羊肉串上一般会串n块羊肉。但是这时候假设说楼主碰到了个比较抠门的商家,就给你一串只串一块肉,那么这还叫不叫羊肉串呢?我们不会说因为这一串只串了一块肉就管它叫做羊肉块了吧。
    楼主可能还会问,这样有什么用?这不是都一样吗?的确是都一样可又不一样,如果是一块羊肉,它只能是一块羊肉了,但是如果是一个羊肉串,虽然现在只串了一块羊肉,我还可以再串一个。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

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