Week02-Java基本语法与类库
1. 本周学习总结
引用数据类型:存放指向对象的引用
boolean:取值只有true或false
String:是一个类,对象是不可变的 StringBuilder:频繁对字符串修改时使用
字符串常量池
数组
2. 书面作业
1.String-使用Eclipse关联jdk源代码
1.1 查看String对象的源代码(截图),分析String使用什么来存储字符串?
2.StringBuilder
2.1 结合PTA -2(StringBuilder) ,说明为什么频繁修改字符串时,应该使用StringBuilder而不是String?
2.1因为若使用String,就会不断创建String类型的对象,分配新的内存空间,使用StringBuilder就能节省这些空间
2.2StringBuilder的append(char[] str)
方法功能是把char数组的字符串追加到当前的StringBuilder后面;StringBuilder内部使用value来存放字符;
3.字符串与字符串池
3.1输出结果为true;先输入String str1 ="hi"
在字符串常量池中添加了"hi",然后输入str2 ="hi"
时,查找发现字符串常量池中已存在"hi",让str2指向"hi",所以str1==str2
;这段代码创建了两个字符串对象。
3.2用于比较两个引用类型变量存放的引用是否相等,引用类型的对象的值相同时,引用(地址)不相同,所以不能使用比较;应使用equals。
4.Wrapper(包装类)
4.1Integer是int的包装类,它包装了int的值,所以可以将100赋值给i;Integer x = 100
是自动装箱操作,将int型转换成Integer型,int y = x+1
是自动拆箱操作,将Integer类型转换成int型,x++
是先拆箱后装箱。
4.2>基本数据类型之间的转换不都可以自动转换,需要包装类;便于函数传值
5.实验总结