1. 本周学习总结

1. 熟悉了一些码云中储存eclipse中代码的操作,利于随时储存代码,避免U盘丢失导致代码丢失的问题;
2. 了解了如何从码云中提取已储存的代码;
3. 学会了如何创建动态数组,并运用动态数组解决PTA上的一些问题;
4. 学会了如何Eclipse关联到JDK源代码,并查看源代码;
5. 运用BigDecimal来处理大数据;
……

2. 书面作业

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

1.使用Eclipse关联JDK源代码:



2.查看String对象的源代码:

String以char数组为基础进行对数据的操作。

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

1. String每次对字符串的操作都是重新创造一个字符串,相对StringBuilder可以在原有字符串后面接着添加这一优点,String函数对字符串的修改操作会更加繁琐;
2. String一旦创建了一个字符串,字符串是不能改变长度的,而StringBuilder是引用型的可以改变字符串的长短,较为利于操作。

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

因为“==”所表示的是比较两字符串的地址,不是统一个字符串则地址永远不同。
应该用.equal()来比较两个字符串的值。

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

	String str1 =“hi“, str2=“hi“;
String str3 = new String(str1);
System.out.println(str1==str2);
    输出的结果应为"true",在这里建造了两个字符串对象。
其中str1和str2是同一个,所以str1和str2的地址必然相同,故str1==str2为真;
而str3是另外一个储存内容同样为"hi"字符串。

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

Integer i = 100即Integer i = new Integer(100),调用了 Integer.valueOf(int i)。

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

	Integer i1 = 127;Integer i2 = 127;
i1 == i2;//true of false?
Integer i1 = 128;Integer i2 = 128;
i1 == i2;//true of false
	①true:在这里127并没有超出int常量池的范围-128~127,因此自动拆装箱过程中i1和i2值均为直接返回的127;
②false:128是超出了int常量池的量,因此128是另外新建的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,尝试分析背后实现的原理。

      在文件储存的位置src目录下有源代码,bin目录下会有class,文件运行Main的主要过程是要找到字节码文件。

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

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

技术基础主要是C语言,现在在逐步学习java语言;

写了多少行没有数过,一次项目的代码大概是30-100+行,大一每个学期大概是8次实验项目。
大二第一个学期的实验也基本有自己试着敲。

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

- 一周基本每天都有尝试去敲代码,别的科目做完后一般有两三个晚上专门钻研一周尝试而未解决的实验问题,进行捡漏,向同学老师请教。
- 学习方法:
课堂上听讲,及时解决当前的问题;
在周末和同学钻研一起捡漏;
用PTA对一周的知识进行巩固,期间利用API学习更多函数的调用。

- 8.3 关于这门课的smart目标

把自己的专业当作自己的兴趣,在每一次课程中认识到自己的不足,不断进步。
希望能夯实基础并拓展自己,并运用自己的学习知识在期末更好地完成申报的科研立项,多多实践提升自己。

Q9.选做:公交卡里应该还有多少钱?请分析原因

应该是因为透支负溢出造成的显示错误。

3. 使用码云管理Java代码

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

4. PTA实验

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

      部分实验已经提交,剩下的正在钻研,完成后也会陆续提交。
  • 实验种碰到的问题、思考、收获与解决方案

      1. 在运用数组的时候应该注意不要越界:
    如:定义一个数组arr[number]后,运用时不能将arr[number]这一项也算进去。
    2. 对字符串进行判定的时候,不能用“==”,应该用str.equals()函数,如:
    如:判定字符串str是否为“sort1”时,应如此调用:
    str.equals("sort1")。
    返回值为1时,字符串是"sort1",反之不是。
    3. 每次创建一个变量,如一个字符串"str"时,应该给它一个空间,并初始化,如:
    String str = new String("OK");
    ↑ ↑
    申请空间 初始化

5. 小任务(加分)

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

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

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

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

统计:题目数量

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

注1:使用Scanner处理输入文件, 使用PrintWriter输出文件。读写文件请参考WriteReadFileTest.java

注2:Choice.txt下载

注3:题目很简单,大概50行左右,不要畏难。

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

尝试中……
完成以后即会再次编辑微博提交。

201521123098 《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. python基础===zip在python3中的用法

    name=["ad","kein","tom"] age=[23,45,22] tel=['157','139','167'] print( ...

  2. C语言开篇

    Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具. 1.小程序test_gets.c #i ...

  3. 开源社交系统ThinkSNS+ 0.7.3研发周报

    什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+. 亲爱的粉丝,授权客户, ...

  4. vs2010等宽字体设置

    VS2010自带的字体非等宽,不同行的代码采用同样的缩进空格时,可能左侧未对齐. 这个里有一款字体很帮,字体名字叫Fixedsys Excelsior 3.01,下载地址:http://www.fix ...

  5. 我了解到的JavaScript异步编程

    一. 一道面试题 前段时间面试,考察比较多的是js异步编程方面的相关知识点,如今,正好轮到自己分享技术,所以想把js异步编程学习下,做个总结. 下面这个demo 概括了大多数面试过程中遇到的问题: f ...

  6. registry key 'Java Runtime Environment' has value'1.8',but '1.7' is requaired(转)

    当更新jdk后,运行java命令可能会提示类似这样registry key 'Java Runtime Environment' has value'1.8',but '1.7' is requair ...

  7. InvalidateRect和UpdateWindow

    The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT mess ...

  8. matplotlib 出图示例

    如果你想要在Linxu中获得一个高效.自动化.高质量的科学画图的解决方案,应该考虑尝试下matplotlib库.Matplotlib是基于python的开源科学测绘包,基于python软件基金会许可证 ...

  9. Bootstrap中的datetimepicker用法,只看一眼就全懂了

    本文实例为大家分享了bootstrap datetimepicker日期插件的简单使用,供大家参考,具体内容如下 首先在文件头部引入必要的文件: 1 2 <link rel="styl ...

  10. java冒泡排序详解

    冒泡排序 经典排序算法 - 冒泡排序Bubble sort 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, 这样一趟过去后,最大或最小的数字被交换到了最后一位, 然后再从头开始 ...