1.本周学习总结

以几个关键词描述本周的学习内容。并将关键词之间的联系描述或绘制出来。

答:java的两种数据类型:基本数据类型和引用数据类型;==equals的区别;动态数组。

2.书面作业

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

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

答:String 是不可变的字符串,它应该是用字符数组char[ ]存储字符串的。

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

答:把字符数组转换成字符串类型。

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

答:String对象在运算过程中,每次都会生成一个新的内容而非改变它本身,所以它有不可变性。

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

答:字符数组需要保证数组里的元素的类型是字符型,而String则是起一个包装作用。在使用String包装字符串之后,可以让操作者更加灵活的利用和操作字符串。

2.StringBuilder

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

答:如题1.3所答,String具有不可变性,所以当我们频繁地修改字符串时,会生成一个又一个新的String对象,会占用大量的存储空间,所以使用StringBuilder会比较合适。

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

答:插入数组char[];在它内部使用数组来存放字符的;添加字符的操作:输入需要添加的字符,转换成字符数组。

3.字符串与字符串池

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

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

答:输出结果为true,创建了两个字符串对象。解释:在首次用str1时创建了hi这个字符串放入常量池中,在创建str2时,会先在常量池中搜索是否有相同字符串,而str2也是输入的hi,所以它们指向的是同一个对象,所以答案是·true·,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++;这一串命令中包含了些什么操作?

答:Integerint的包装类,具有自动装箱功能,所以可以直接赋值。这串命令包含了——自动装箱,自动拆箱,先拆后装三种操作。

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

答:包装类可以让我们更加灵活的操作基本数据类型对象,在很多区域内,基本数据类型远远无法解决问题,而包装类可以帮助我们解决这一问题,并且它的解决会更轻松和全面。

5.实验总结

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

5.2 PTA-1综合小测验

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

5.4 PTA-4动态数组

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

5.5 选做:5-5(浮点数计算), 5-6(枚举), 5-7(大整数相加)

3.PTA

201621123025《Java程序设计》第二周学习总结的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结

    这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...

  9. 杨其菊201771010134《面向对象程序设计Java》第二周学习总结

    第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...

  10. 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

随机推荐

  1. 从“跳一跳”来看微信小程序的未来

    从“跳一跳”来看微信小程序的未来   相信大家这两天都被微信新推出的小程序跳一跳刷爆了朋友圈,为了方便用户在使用过程中切换小程序,微信在这次6.6.1版本中加入了下拉可快速切换小程序的功能,而“跳一跳 ...

  2. jsp学习笔记之:4种基本语法

    一. jsp注释:<%-- js注释 --%> 二. jsp声明: <%! public int count; public String test(){return "j ...

  3. 让安卓app支持swf的一个播放器,和自己编写的音乐管理程序

    jcenter方式导入 在需要用到这个库的module中的build.gradle中的dependencies中加入 dependencies { compile 'com.yhd.hdswfplay ...

  4. manacher模板(manacher)

    洛谷题目传送门 写完有一段时间了,发现板子忘记存在了这里...... 算法简述 一种字符串算法,\(O(n)\)高效求出以每个字符为对称中心的最长回文串长度. 然后,就可以进一步求出全串中最长回文串的 ...

  5. 【BZOJ5020】【THUWC2017】在美妙的数学王国中畅游(Link-Cut Tree,组合数学)

    [BZOJ5020][THUWC2017]在美妙的数学王国中畅游(Link-Cut Tree,组合数学) 题解 Description 数字和数学规律主宰着这个世界. 机器的运转, 生命的消长, 宇宙 ...

  6. 【Luogu1879】玉米田(状态压缩,动态规划)

    懒得搞题目了 哦对了,这题双倍经验 题解 装压DP 利用位运算很容易解决相邻位的问题 其实我的还是太复杂了 具体的,更加好的位运算的写法可以参考YL大佬,但是我也搞不到他代码,因为他太强了. 然而他博 ...

  7. Red Hat Enterprise Linux7 配置Tomcat

    笔者是Java前端的一个萌新,电脑刚刚经历了一番脱胎换骨,然后重新装了Win10Pro,所有的开发工具都要重新安装,纠结了一番以后决定还是把一些开发工具从Windows上转移到Linux上,首先考虑了 ...

  8. Spring(十二)Spring之事务

    java中事务是什么? 事务是访问数据库的一个操作序列,DB应用系统通过事务集来完成对数据的存取. 事务必须遵循4个原则,即常说的 ACID A,Automicity,原子性,即事务要么被全部执行,要 ...

  9. Cassandra配置多节点集群以及使用雅虎YCSB压测Cassandra 3.11

    这几天在搭Cassandra集群以及对Cassandra的性能测试,步骤还挺多,记录一下. 关于Caaandra在服务器上配置多节点集群,可以参考一下文章: http://blog.csdn.net/ ...

  10. java中断

    理解java中断 Java中断机制是一种协作机制,即通过中断并不能直接终止另一个线程,而需要被中断的线程自己处理中断.例如,当线程t1想中断线程t2,只需要在线程t1中将线程t2对象的中断标识置为tr ...