- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA面试题解惑系列(六)——字符串(String)杂谈JAVA面试题解惑系列(六)——字符串(String)杂谈
JAVA面试题解惑系列(六)——字符串(String)杂谈上一次我们已经一起回顾了面试题中常考的到底创建了几个String对象的相关知识,这一次我们以几个常见面试题为引子,来回顾一下String对象相关的其它一些方面。 String的length()方法和数组的length属性 String类有length()方法吗?数组有length()方法吗? String类当然有length()方法了,看看String类的源码就知道了,这是这个方法的定义:
Java代码
public?int?length()?{ ??
????return?count; ??
}??
public int length() {
return count;
}
String的长度实际上就是它的属性--char型数组value的长度。数组是没有length()方法的,大家知道,在JAVA中,数组也被作为对象来处理,它的方法都继承自Object类。数组有一个属性length,这也是它唯一的属性,对于所有类型的数组都是这样。 中文汉字在char中的保存 一个中文汉字能保存在一个char类型里吗? 请看下面的例子:
Java代码
public?class?ChineseTest?{ ??
????public?static?void?main(String[]?args)?{ ??
????????//?将一个中文汉字赋值给一个char变量 ??
????????char?a?=?中; ??
????????char?b?=?文; ??
????????char?c?=?测; ??
????????char?d?=?试; ??
????????char?e?=?成; ??
????????char?f?=?功; ??
????????System.out.print(a); ??
????????System.out.print(b); ??
????????System.out.print(c); ??
????????System.out.print(d); ??
????????System.out.print(e); ??
????????System.out.print(f); ??
????} ??
}??
public class ChineseTest {
public static void main(String[] args) {
// 将一个中文汉字赋值给一个char变量
char a = 中;
char b = 文;
char c = 测;
char d = 试;
char e = 成;
char f = 功;
System.out.print(a);
System.out.print(b);
System.out.print(c);
System.out.print(d);
System.out.print(e);
System.out.print(f);
}
}
编译没有报错,运行结果:
中文测试成功
答案就不用说了。为什么一个中文汉字可以保存在一个char变量里呢?因为在JAVA中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节的,因此它也能保存到一个byte里,一个中文汉字却不能。请看:
Java代码
public?class?ChineseTest?{ ??
????public?static?void?main(String[]?args)?{ ??
????????//?将一个英文字母赋值给一个byte变量 ??
????????byte?a?=?a; ??
????????//?将一个中文汉字赋值给一个byte变量时,编译会报错 ??
????????//?byte?b?=?中; ??
??
????????System.out.println(byte?a?=??+?a); ??
????????//?System.out.println(byte?b?=?+b); ??
????} ??
}??
public class ChineseTest {
public static void main(String[] args) {
// 将一个英文字母赋值给一个byte变量
byte a = a;
// 将一个中文汉字赋值给一个byte变量时,编译会报错
// byte b = 中;
System.out.println(byte a = + a);
// System.out.println(byte b = +b);
}
您可能关注的文档
- H7N9题库答案H7N9题库答案.doc
- Happy圈范例Happy圈范例.ppt
- hao 中考语文专题——复习修改病句hao 中考语文专题——复习修改病句.doc
- HB化学法系列clo2二氧化氯发生器使用说明HB化学法系列clo2二氧化氯发生器使用说明.doc
- HDPE管施工方案HDPE管施工方案.doc
- HDZ5000 变压器油色谱在线监测系统HDZ5000 变压器油色谱在线监测系统.doc
- H3协同办公系统操作手册H3协同办公系统操作手册.doc
- HeartsOneDR产品手册HeartsOneDR产品手册.doc
- HFSS使用心得及边界、端口详解HFSS使用心得及边界、端口详解.doc
- HL酒店的品牌化公关HL酒店的品牌化公关.ppt
文档评论(0)