博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
201621123085 《Java程序设计》第2周学习总结
阅读量:6991 次
发布时间:2019-06-27

本文共 2427 字,大约阅读时间需要 8 分钟。

---恢复内容开始---

1. 本周学习总结

这周我们学习了两种不同的数据类型,一种为基本数据类型,一种为引用数据类型。其中布尔型是Java特有的数据类型,它取值只有true和false。引用类型类似于c中的指针。其中字符串类型string是最常用引用类型之一。这两种数据类型相对于c中能更好的处理问题。

2. 书面作业

String-使用Eclipse关联jdk源代码

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

## 1121161-20170923180434665-308347375.png

根据string源代码分析,string使用字符数组来存储字符串。

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

##该函数的作用是通过char数组,生成String字符串对象,接口中的参数是一个char数组。

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

##string在这个函数中通过使用字符数组来存储,一旦创建后内容就无法改变,如果直接改变string内容,则会出现新的一个字符数组。

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

##string类具有不可变形,用string更直接更方便。

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

##StringBuilde的内部实现方式和String不同,StringBuilde在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuilde要更加适合一些。

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

##将字符数组序列有序的附加在StringBuilder类中;使用动态数组来存放字符。

字符串与字符串池

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

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

根据字符串池的概念,我们可以知道该程序创建了str1 ,str2两个字符串对象,并且地址相同,而str3为新的字符串对象。

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

因为==是用来判断两个引用类型变量存放的地址是否相等;用equal来比较。

Wrapper(包装类)

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

## 因为这是Java中的自动装箱功能;先将100装箱为integer类型,再将100拆箱为int类型。

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

## 出现了自动拆箱和自动装箱,大大的缩减了繁琐的代码,更加方便了成员员的编程。

实验总结

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

## 额,,首先每个人对编程的能力不一样,思路不同,这次的结对编程,充分感受到了别人的能力是多么强。
1121161-20170923193609056-464237381.png

5.2 PTA-1综合小测验

##用switch语句输入,将字符转换为数,然后使用sort,

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

##3此题采用选择排序,运用了string类,不清楚

5.4 PTA-4动态数组

# 构建一个二维数组来存放数据,采用for循环将数据一个一个存放

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

#ArrayList可以在任意位置插入和删除项,并且对数据能执行很多的操作,添加数据,删除数据,清空数据等。

3. 码云及PTA

3.1. 码云代码提交记录

1121161-20170923201320306-220225418.png

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

1121161-20170923201559243-443387324.png

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

行数 新增行数 文件数 新增文件数
15 15 210 210

转载于:https://www.cnblogs.com/k-wzj/p/7582458.html

你可能感兴趣的文章
RPM 命令详解
查看>>
在Centos7中使用firewall添加端口
查看>>
python 通过threading多线程ssh
查看>>
spark-submit使用及说明
查看>>
jquery验证表单的js代码(HTML+CSS+PHP代码部分省略)
查看>>
Linux学习之CentOS(二十)--CentOS6.4下修改MySQL编码方法
查看>>
我的友情链接
查看>>
手动删除oracle数据库
查看>>
(转)chrome浏览器在各常用移动终端上的User-Agent
查看>>
向Maven本地仓库添加本地jar包
查看>>
Nginx 配置虚拟主机
查看>>
CHI Hair Straightener
查看>>
Redis测试报告
查看>>
邮件归档对安全的整合与提高
查看>>
微信小程序把玩(九)scroll-view组件
查看>>
apache目录访问权限
查看>>
spring MVC配置详解
查看>>
function
查看>>
Easy ×××
查看>>
java-插补查找法
查看>>