201621123002《JAVA程序设计》第二周学习总结

1.本周学习总结

1.重点String

2.Java的数据类型

3.Java中的引用类,包装类

for(类型 元素变量名(任取):遍历对象(数组名))

2.书面作业

1.String-使用Eclipse关联jdk源代码

1.1 查看String对象的源代码(截图),分析String使用什么来存储字符串?

201621123002《JAVA程序设计》第二周学习总结

String使用private final char value[]来实现字符串的存储

1.2 分析其构造函数public String(char value[])的作用?

通过char数组,生成String字符串对象

1.3 阅读public String replace(char oldChar, char newChar)方法的代码,回答String的不可变性在该函数中如何体现?(重点)

不可变性体现在替换字符串是通过替换字符实现

1.4 简述String与字符数组的关系,使用字符数组就可以处理字符串,为什么还需要String呢?

String作为类使用,字符数组作为数组使用,相比而言,使用String类来处理字符串更便捷

2. StringBuilder

2.1 结合PTA -2(StringBuilder) ,说明为什么频繁修改字符串时,应该使用StringBuilder而不是String?

String具有不可变性,如果进行字符串的拼接时就会需要多个字符串变量,降低代码的执行效率

2.2 阅读jdk文档,查询StringBuilder的append(char[] str)方法功能是什么?试分析StringBuilder内部使用什么来存放字符?调用StringBuilder的append(char[] str)方法时,是如何实现添加字符的操作?

java.lang.StringBuilder.append(char[] str) 方法添加这个序列的char数组参数的字符串表示形式。字符数组参数按顺序追加,该序列的内容。这个序列的长度增加该参数的长度。

StringBuilder内部使用字符数组来存放字符

3.字符串与字符串池

3.1 尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:

String str1 ="hi", str2="hi"; String str3 = new String(str1) System.out.println(str1==str2);

输出结果为:true

这段代码创建了2个字符串对象,str1和str2在字符串池中存放的地址一样,str3新建了一个字符串对象

3.2 重点:对基本类型我们可以使用比较两个值是否相等,对于引用类型(如String, Integer、数组等)为什么不能使用比较?应该怎样比较他们的值是否相等呢?

==是用于比较引用类型变量存放的地址是否相等

使用equals来比较值是否相等

4.Wrapper(包装类)

4.1 Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i?Integer x = 100; int y = x+1;x++;这一串命令中包含了些什么操作?

100赋值给i,使用了java的自动封箱的功能;

先自动封箱,将100赋值给X,然后自动拆箱,将数据类型转成int类型,

x++这一语句中先拆再封

4.2 Java为什么有了基本数据类型,还需要其包装类呢?包装类能给我们带来什么好处呢?

JAVA是一种面向对象的语言,如果让对象自己选择自己所需要的功能,包装类就能丰富对象的基本数据操作

5.实验总结

5.1 7-1 jmu-Java-02基本语法-02-StringBuilder

StringBuilder类的基本使

5.2 7-2 jmu-Java-02基本语法-03-身份证排序

截取身份证的部分字符比较后,然后再输出完整的字符,没有想到便捷的方法,写了个for循环

else if(choice.equals("sort2"))
{
String[] t=new String[n];
for (int i = 0; i < t.length; i++) {
t[i]=Integer.toString(digits[i]);
for (int j = 0; j <n; j++) {
if(t[i].equals(ids[j].substring(6, 14)))
{
System.out.println(ids[j]);
}
}
}
}

5.3 7-3 jmu-Java-02基本语法-04-动态数组

ArrayList的基本使用

5.4 7-4 jmu-Java-02基本语法-01-综合小测验

排序直接使用Array.sort(),运用switch,再调用函数

5.5 jmu-Java-02基本语法-08-ArrayList入门

ArrayList类的使用,查阅jdk文档即可

但是PTA老是部分正确。。。。。。

5.6 7-6 jmu-Java-02基本语法-05-浮点数计算

BigDecimal类的使用

5.7 7-7 jmu-Java-02基本语法-06-枚举

枚举的使用

enum Grade {
A, B, C, D, E;
};

5.8 7-8 jmu-Java-02基本语法-07-大整数相加

BigInteger类的使用

3. 码云及PTA

3.1. 码云代码提交记录

201621123002《JAVA程序设计》第二周学习总结

3.2 截图题集“Java基本语法”PTA提交列表

201621123002《JAVA程序设计》第二周学习总结

201621123002《JAVA程序设计》第二周学习总结

201621123002《JAVA程序设计》第二周学习总结

201621123002《JAVA程序设计》第二周学习总结

3.3 使用老师发的jar程序统计每周的代码量

201621123002《JAVA程序设计》第二周学习总结

上一篇:Weex 学习文档、跳转路径、控制台输出、we转js汇总


下一篇:zk的watcher机制的实现