发布网友
共6个回答
热心网友
1) 形式上:
...字符常量是单引号引起的一个字符
...字符串常量是双引号引起的若干个字符
2) 含义上:
...字符常量相当于一个整形值(ASCII值),可以参加表达式运算
...字符串常量代表一个地址值(该字符串在内存中存放位置)
3) 占内存大小
...字符常量只占一个字节
...字符串常量占若干个字节(至少一个字符结束标志)
热心网友
字符型常量使用char型变量来存储
字符串用char型的数组来存储
区别在于字符串后面有'\0'作为结束符 通常用%s输入输出 而前者用%c
热心网友
字符型常量是指仅含单个ASCII字符的常量
有两种表示方法
1.
单撇号
如
'A'
'$'
2
转义字符
如
'\n'
'\0'
存储上占
1字节
存放于字符型变量中
可以与整数混合运算
字符串常量是0个或多个字符的序列
用
双撇号表示
如
“981650981725”
存储上
等于字符数量+1
因为系统默认追加零字符
存放于字符型数组中
热心网友
我觉得主要区别就在于使用内存的区别
一个字符只占一个字节
而一个字符串要占字符数+1个字节(最后一个为\0)
热心网友
在 C 里字符串是用字符数组来存放的,一个长度为10的字符串储存在一个含11个字符元素的数组中,最后一个字符是'\0',代表字符串结束。
热心网友
形式上:
1. 字符常量是单引号括起来的一个字符
2. 字符串常量是双引号括起来的0个或多个字符
含以上:
1. 字符常量相当于一个整型值(ASCII值),可以参加表达式运算
2. 字符串常量代表一个地址值(该字符串在内存中的存放位置)
占内存大小:
1. 字符常量只占2个字节
2. 字符串常量占多个字节
注意:char在Java中占两个字节
字符封装类 Character 有个一成员常量 Character.SIZE 值为16,单位是 bites,该值除以8(1byte = 8bits)后就得到2个字节
在Java语言中,中文字符所占字节数取决于字符的编码方式:
一般情况下,采用ISO8859-1编码方式时,一个中文字符和一个英文字符一样只占1个字节;
采用GB2312或GBK编码方式时,一个中文字符占2个字节;
采用UTF-8编码时,个中文字符占3个字节
我们可以通过String类的getBytes(String charsetName)方法获取到字符串以指定编码方式编码后所得到的字节数组,字节数组的长度就是字符串在指定编码方式下所占的字节数。
"测试".getBytes("ISO8859-1").length"测试".getBytes("GB2312").length"测试".getBytes("GBK").length"测试".getBytes("UTF-8").length1234
执行结果:
2
4
4
6
希望对您有所帮助!~