1. 本章学习总结
答:学会在java中使用函数调用。
学会在Java程序中使用函数,使程序层次更清晰。
使用StringBuilder代替string拼接,减少内存空间的占用。
使用BigDecimal更加精确的计算浮点数。
学会使用枚举类型
掌握Arrays的用法及String的拼接截取
2. 书面作业
##Q1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。
##Q2.为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?
答:因为String每次对字符串进行修改操作时都需要就行拷贝操作,如果操作次数太多的话,会大大加长系统运行时间。而Stringbuilder对操作的时间都差不多,所以多次操作时适合用StringBuilder。
##Q3.比较两个字符串的值是否相等?为什么不能用==直接进行比较?##
答:因为java是面向对象的语言,==比较的是字符串地址。如果两个字符串相同的话,那么他们会放在同一地址。
##Q4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
String str1 =“hi“, str2=“hi“;
String str3 = new String(str1) System.out.println(str1==str2);
答:输出结果为true。一共创建了两个字符串池,str1和str2是同一个池,str3是新一个池。
##Q5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i##
答:integer的作用是将100指给i,与c中的指针相似,但是不是指针,是java的一种语法规则。
##Q6.尝试分析下面代码输出结果 Integer i1 = 127;Integer i2 = 127; i1 == i2;//true of false? Integer i1 = 128;Integer i2 = 128; i1 == i2;//true of false
答:分别是true和flase。因为integer的数值范围是-128到127,所以第一个中i1和i2被分配在同一地址中,则第一个正确。128不在那个范围,所以i1和i2会分配两个不同的地址,所以是flase。
##Q7.package与javac、 java、 -classpath、 -d 在 com.ibm包中编写 StringUtil类,内有一方法 public static void foo1(){ System.out.println(StringUtil.class+" method:foo1"); }
在edu.jmu包中编写Main类,调用com.ibm.StringUtil的foo1方法
###7.1 尝试用命令行进行编译并运行,截图
###7.2 将生成的StringUtil.class放到d盘的lib目录下,将Main.class在d:\test目录下,尝试命令行下运行,截图。
答:这题我不会。
###7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。
答:在src里面存放源代码,在bin文件夹中存放class。
##Q8.自己在这门课的目标与计划 ####请描述一下你的技术基础(会什么语言,都写了多少行代码)#####
答:会简单的c和c++,java正在学,写了多少行代码?不知道。
####一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?####
答:由于这门课比较重要,所以会花很多时间,至于到底多长,弄懂为止吧。学习方式主要是预习,复习,听老师安排,有时间多敲代码。遇到困难,尽量自己查书,查资料,不然就问同学,问老师。
####关于这门课的smart目标####
答:小目标就是学好老师要求的,多做做pta上的习题,把java学好,学精。
3. 使用码云管理Java代码 在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图
4. PTA实验 ##题目集:jmu-Java-02-Java基本语法 中的判断、选择、编程(8道)
## ##实验种碰到的问题、思考、收获与解决方案##
答:对于pta上的题目,选择填空的题做完了,编程题目前只写了5个而已,还在继续努力中.在实验中遇见了各种问题,有运行成功提交错误的,有函数运用错误的,有语法错误的。
这些问题大多数都是因为对java的理解不够,以后还要更加努力才行。
做了本周的题目还是收获很多的,对于java基础编程有了一点点的认识。