1. 本周学习总结

(1)完成了课后习题,对所学知识进一步巩固。

(2)学会了JAVA中的选择结构,循环结构,其中条件必须为布尔表达式,与C++非0即真不同。

(3)学会java中的break和continue的使用。

(4)学习了数组在java中的运用,初始化为 int[] student=new in[10]等。

2. 书面作业

(Q1)使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。

关联截图:

源代码:

设计思路:String对象创建之后不能再进行修改。

(Q2)为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?

string每次修改字符串都是新建,然后删除旧的串会很影响效率,而stringbuilder是在字符串的末尾操作,和string比较快。例如StringBuilder每次append()调用后,都会返回原有的StringBuilder对象,方便你进行下一次操作。

(Q3)比较两个字符串的值是否相等?为什么不能用==直接进行比较?

不能。两个对象进行比较,如果使用==符号,那么比较的是这两个对象的“引用”(类似C语言中指针的概念)。字符串比较,通常情况下比较的是字符串的值而非引用,不同的“引用”是可以对应相同值的,如果这时候用==比较,得出的结论是不相等,但是实际上它们的值是相等的。举例说明:

String a = new String("abc");

String b = new String("abc");

a == b; //false

a.equals(b) // true

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

String str1 =“hi“, str2=“hi“;

String str3 = new String(str1);

System.out.println(str1==str2);


因为str1和str2对象一样,为字符串常量,所以str1==str2而str3建立了一个新的对象,参考至新建的String实例,所以这个代码创建了两个字符串对象,str1与str2指向一个,str3指向一个。

(Q5)Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i

Integer是所谓的打包器,然后当做对象来操作,也就是自动装箱,允许这样打包基本类型。

(Q6)尝试分析下面代码输出结果

Integer i1 = 127;Integer i2 = 127;

i1 == i2;//true of false?

Integer i1 = 128;Integer i2 = 128;


i1 == i2;//true of false?

第一问题答案是true,第二个问题是false。因为Integer的默认值为-128到127之间,第一个i1和i2地址一样结果为true,第二个i1,i2超出数值,不会参考到同一个Integer实例中,范围新建立了一个对象,故地址不同,结果为false。

(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,尝试分析背后实现的原理。

不太理解。

(Q8)自己在这门课的目标与计划

请描述一下你的技术基础(会什么语言,都写了多少行代码)

一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?

关于这门课的smart目标参考链接


如今我会C语言。然后C++语言还未熟练;现在一周准备花大部分空闲的时间,来编写程序与学习java,采用在实践中学习正确的答案与丰富经验开拓思维、遇上困难我会先百度一下,其中有疑惑的话我会问学习较好的同学,若还不能解惑只能依靠老师与学长助教们了。

3. 使用码云管理Java代码

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

4. PTA实验

题目集:jmu-Java-02-Java基本语法 中的判断、选择、编程(8道)

实验中碰到的问题、思考、收获与解决方案

(1)编程第2题:首先开始编程的时候把整数连接在一起时并未调用到append(),从而导致采用字符串连接的方式效率低,每次连接都会构建一个新的String对象,既耗时又浪费空间,最后提交到PTA并没有通过。后来使用了StringBuilder,每次调用append()后,都会返回原有的StringBuilder对象,方便进行下一次的操作。让我学会了并运用append函数。让我体会到,并不用像C语言是面向过程的。JAVA是面向对象的,之后因多灵活运用学习。

(2)编程第5题:了解到需要使用 BigDecimal来处理超过16位有效位的数进行精确的运算,double可以处理16位有效数。显然不能运用Double,然而在调用BigDecimal过程之中一直遇到不熟练的问题。总有一些小问题。看不懂或者其他原因。直到慢慢调试。终于找到正确的代码。这是个必须体会的过程,不可能一蹴而就的完成。这也许就是积累经验。

(3)编程第6题:此题中运用到枚举,其中还有哦switch条件式,swicth的括号中放置取得值的变量或表达式,值必须是整数、字符、字符串或Enum。然后按要求去一步一步的编写代码,这题的问题是对不懂得未知而导致不知从何下手,此时就需要耐心去学习,去查资料。从而完成题目的要求。由于对JAVA的熟练度不高,所以有几个题目并未来得及去完成,接下来我会一一去学习完成。争取尽快完成老师给的任务。

5. 小任务(加分)

现有choice.txt文件,里面包含上千行,上百题选择题。先在老师要将其中的题目转化为PTA网站的选择题。然而PTA网站上的选择题对输入格式有要求。要求如下:

题面第1行及选项行前不能有空格,题面其他行无此要求。

题面第1行结尾要包含答案字符串,内容形式@C,代表该题答案为C,分值为2

PTA出题格式需符合Markdown要求,才能有良好的效果。先在要求每一行结尾一定要有2个或以上的空格。

统计:题目数量

输出:最后生成outChoice.txt,包含经过处理过的所有问题。文件第1行,代表题目数量。

提示1:使用Scanner处理输入文件, 使用PrintWriter输出文件。

提示2:题目很简单,大概50行左右,不要畏难。

进阶:可以为将来的自动出题、组卷系统做准备。

201521123029《java程序设计》第2周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Linux操作系统-命令-netstat

    # 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...

  2. IPython+:一个交互式计算和开发环境

    一. IPython基础 代码自动补全:Tab键 可补全内容包括:变量名.函数名.成员变量函数.目录文件 内省(Itrospection) 在变量名之前或之后加上问号(?),这样可以显示这个对象的相关 ...

  3. ML: 聚类算法R包-模糊聚类

    1965年美国加州大学柏克莱分校的扎德教授第一次提出了'集合'的概念.经过十多年的发展,模糊集合理论渐渐被应用到各个实际应用方面.为克服非此即彼的分类缺点,出现了以模糊集合论为数学基础的聚类分析.用模 ...

  4. win7(iis7)localhost可以访问127.0.0.1不可以访问的问题解决办法

    在C:\Windows\System32\drivers\etc文件夹下有hosts文件,用编辑器打开,看看有没有配置127.0.0.1 localhost 把前面的#去掉保存即可!

  5. dom作业

    <body> <select size="7" style="width: 200px;" id="slt"> &l ...

  6. Session的引入以及Cookie的不足

    一.为什么引入session > Cookie实际上就是一个头. > 服务器会创建Cookie,并且将Cookie以一个响应头的形式发送给浏览器        > 浏览器收到Cook ...

  7. java String时间转为时间戳

    String startDate="2017-08-15"; String endDate="2017-08-15"; SimpleDateFormat for ...

  8. java关于jdbc的配置与使用步骤

    1.下载一个jdbc的jar包 2.在eclipse的项目名右键-new-folder 创建一个文件夹lib 3.将jar包拖到此文件夹中,在此jar包右键build path--add to pat ...

  9. 微信小程序周报(第十三期)-极乐商店(store.dreawer.com)出品

    重要:极乐商店域名变更:wxapp.dreawer.com/变更为store.dreawer.com/ 每周一笑 当年刚学打篮球的时候,疯狂地迷恋上了乔丹,然后迷恋上了NIKE,更熟记了NIKE的那句 ...

  10. bzoj 3529 数表

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3529 题目大意:令F(i)为i的约数和,多次询问对于1<=x<=n,1< ...