本周学习总结
(1)这周学习认识和熟悉了java的一些类型和变量;
(2)学习了java的运算符基本使用方法;
(3)了解了如何建立远程仓库和本地仓库,和如何让java代码在临时储存,本地仓库和远程仓库之间传输。-
书面作业
(1)使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。(2)为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?
使用+拼接字符串会产生新的String对象,而不会修改原先的字符串,会产生大量字符串对象。
(3)比较两个字符串的值是否相等?为什么不能用直接进行比较?
直接用“”比较的话比较的是引用值。
(4)尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
String str1 =“hi“, str2=“hi“;
String str3 = new String(str1)
System.out.println(str1==str2);
输出结果为true;
创建了3个字符串对象,str1和str2是同一个对象。
(5)Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i
int是基本类型和integer不同,integer是对象,可以把100的值付给i。
(6)尝试分析下面代码输出结果Integer i1 = 127;Integer i2 = 127;
i1 == i2;//true of false?
Integer i1 = 128;Integer i2 = 128;
i1 == i2;//true of falsetrue ; false.integer的数值范围时一个字节,范围是-127~128,第二段代码不能正常输出。
(7)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,尝试分析背后实现的原理。
这题没有看懂题目意思。
(8)自己在这门课的目标与计划
希望可以独立熟练地掌握java,并能够编写更多的代码。
(9)请描述一下你的技术基础(会什么语言,都写了多少行代码)
因为是转专业学生,我的基础语言很薄弱,c语言不扎实,写的代码也很少。
(10)一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?
除了上课时间,有空去图书馆学习巩固。
关于这门课的smart目标参考链接
选做:公交卡里应该还有多少钱?请分析原因 使用码云管理Java代码
在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图
- PTA实验
题目集:jmu-Java-02-Java基本语法 中的判断、选择、编程(8道)
实验种碰到的问题、思考、收获与解决方案
5. 小任务(加分)
现有choice.txt文件,里面包含上千行,上百题选择题。先在老师要将其中的题目转化为PTA网站的选择题。然而PTA网站上的选择题对输入格式有要求。要求如下:
题面第1行及选项行前不能有空格,题面其他行无此要求。
题面第1行结尾要包含答案字符串,内容形式@C,代表该题答案为C,分值为2
PTA出题格式需符合Markdown要求,才能有良好的效果。先在要求每一行结尾一定要有2个或以上的空格。
统计:题目数量
输出:最后生成outChoice.txt,包含经过处理过的所有问题。文件第1行,代表题目数量。
提示1:使用Scanner处理输入文件, 使用PrintWriter输出文件。
提示2:题目很简单,大概50行左右,不要畏难。
进阶:可以为将来的自动出题、组卷系统做准备。