201621123027 Week02-Java基本语法与类库

Week02-Java基本语法与类库

1.本周学习总结

关键词:基本语法,数据类型,包装类

本周讲了Java的基本数据类型包装类

  • 数据类型主要分为八类(byte,short,int,long,double,float,char,boolean);

  • 包装类可以将基本数据类型转换为对象进行处理。

2.书面作业

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

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

2.StringBuilder

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

参照1.3问题,正因为字符串的不可改变性,用StrignBuilder方法频繁修改字符串的话会造成大量内存等系统开销。

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

把字符数组按顺序添加到对象中;
字符串缓冲区中;
将传入进去的字符转换成字符数组。

3.字符串与字符串池

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

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

输出结果为1;
创建了两个字符串对象;

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

	字符串中比较运算符”==”比较的是两个字符串的内存地址,但是即使两个字符串的内容相同,但内存地址也可能不同。

4.Wrapper(包装类)

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

自动装箱可以将基本数据类型自动转换为对应的对象;
先装箱将100转换为Integer类型,然后自动拆箱将Integer类型转换为int类型。

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

为了可以方便的实现基本数据类型之间的转换,这也正是包装类的好处。

5.实验总结

​ 5.1 结对编程实践:使用结对编程的方式完成本周编程题目,即两个人同时合作完成实验题目(可1题也可多题,但最好是是两个人都没做过的题目)。推荐实施步骤:1.两个人坐在同一台电脑屏幕前判题,讨论、决定大概由谁先写。2. 1个人先编5分钟(自己商量多少分钟),同时另一个人观察对方编程或者查相关资料。3. 5分钟后,简单讨论后,换另外一个人继续编(请一定要换,另一个人如果无法接受应由第一个人讲解大概思路以方便其接受)。并完成如下作业:a.描述结对队友姓名、结对过程,提供非摆拍的两人在讨论、细化和编程时的结对照片。b.结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会(如是否有利于自己编程水平的提高、是否有利于开拓编程思路)

结对队友姓名:
结对题目:

​ 5.2PTA-1综合小测验


​ 5.3PTA-3身份证排序。并回答:使用sort2方法进行排序可以对出生年月日进行升序排序,如果现在有需要对其进行降序排序,或者按照其中的出生月份排序,怎么解决呢?


​ 5.4PTA-4动态数组


​ 5.5(重点:小测题目)PTA-8 ArrayList入门。并回答:为什么有了数组还要使用ArrayList?


3. 码云及PTA

3.1 码云代码提交记录

  • 在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图

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

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

原文地址:https://www.cnblogs.com/jiahaitao/p/7582241.html