20155229 2016-2017-2 《Java程序设计》第三周学习总结

教材学习内容总结

第四章

  • BigDecimal提供有plus()、substract()、multiply()、divide()进行加、减、乘、除等运算。

  • “=”与“==”在两大类型系统下的区别:

基本类型:=是将值复制给变量,==是比较两个变量储存的值是否相同;

类类型:=用在指定参考名称参考某个对象,==比较两个参考名是否参考同一对象。(!=是比较两个名称是否没参考同一对象)

  • 运算时的自动装箱与拆箱:

eg.System.out.println(i+10); //10先装箱,对i先拆箱,在进行加法运算
System.out.println(i++); //先对i拆箱再递增
  • null:任何类声明的参考名称都可以参考至null,这个名称没有参考至任何对象实体

  • 数组复制System.arraycopy() 的五个参数分别是来源数组、来源起始索引、目的数组、目的起始索引、复制长度。

  • 比较对象实质内容是否相同使用equals()

第五章

  • 构造函数:构造函数是与类名称声明返回类型的方法。

  • 使用new创建Some对象时,a与text分别先初始为0与null。

  • static

声明为static的变量称为静态变量或类变量。可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量。

声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。静态方法不能被子类的静态方法覆盖。

  • 方法重载就是方法名称重复,加载参数不同。

教材学习中的问题和解决过程

  • 问题一:P102 IntegerArray.java得的结果是

虽然与书上答案一样,但我并不理解为什么前三个答案是 null。

在重读代码后, 发现第一次循环输出并没有输入值


for(Integer score : scores) {
System.out.println(score);
}

所以给出的答案参考至null,而接着的循环有输入数值,第二次循环输出的值就是代码中给出的值。

  • 问题二:

    没有理解下面代码中(int score :scores )的作用及意义
for(int score : scores) {
System.out.print("学生分数:%d %n",score);
}
  • P96中说明这个程序取得scores数组第一个元素,指定给score变量后执行循环体,接着取第二个元素,指定给score变量后执行循环体,以此类推。。。

  • 问题三:在学习数组对象这一块时,发现java的数组与c语言的有不同,例如,java中的的多维数组基本上都是由一维数组组成。

为了了解两者的不同,我查阅了资料

Java中数组与c语言中数组的比较

两者在四个方面有不同:①数组的定义②数组的初始化③数组操作的不同④数组作参数的不同

  • 问题四:public、private的区别

  • 解决:


public: 是一个公开类。具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。 private: 访问权限仅限于类的内部,表示为私有,用户无法在其他类的程序代码中直接存取。
  • 问题五:第三章学习了使用import的偷懒技术,第五章中还介绍了import static,两者都可以偷懒,但不能太过偷懒,要注意名称是否会冲突。

  • 解决: import和import static的区别

代码调试中的问题和解决过程

  • 问题一:P98 Score2

我的代码结果如下:

  • 解决方案:下图中第一个输出时,我将"%2d"误输为"2%d",因此结果这个答案。

  • 问题二:P109 Average.java如下图所示,结果是NaN

  • 解决方案:

    先查询了NaN是什么

NaN是Not a Number的缩写。用于处理计算中出现的错误情况.在IEEE浮点数算术标准(IEEE 754)中定义,表示一些特殊数值(无穷与非数值(NaN)),为许多CPU与浮点运算器所采用

然后,加入存储数字的代码,运行代码。

代码托管

  • 代码提交过程截图:

  • 代码量截图:

**注:图中的总代码量只有第二、三周的代码量

上周考试错题总结

  • 1.填空:Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)

①查找创建的java文件——(find xxx.java).

②与时间相关的命令参数:

命令 含义
-atime 最后访问时间
-ctime 创建时间
-mtime 最后修改时间
  • 2.判断:教材P51,第8 题 ,执行命令 java –cp classes cc.openhome.Main 和cd classes; java cc.openhome.Main;cd .. 等价。(OK)

  • 6.填空:~0b1011的十进制值是(-12)

计算机的一个byte为8位,1011存放为00001011,取反后得11110100,因为最高位为1,所以该数为负数,因此该数各位取反,末位加一后得10001100,即-12.

  • 13.填空 :0x10%9 的结果是( 7 )

  • 14.填空 :0x10&9 的结果是(0)

将十六进制的10转为二进制:0001_0000。将9转为:0000_0001。两者经过‘&’的运算得到的结果为0000_0000,即0.

  • 15.填空:Java中方法中的变量叫(局部变量)

其他

这一周学习了第四、五章内容,与上周相比,学习的难度,需要敲打的代码都大大提高了。在学习的过程中,发现自己在在打代码时,打完就会忘,记忆不牢固,同时也反映出了,我在学习java上还需要更多的练习,因为会有一个遗忘的过程和重复练习的过程,所以我认为接下来的学习过程中,只能选择多练。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 9/9 1/1 20/20
第二周 162/ 171 1/2 25/45 学习java的基础语法
第三周 380/ 551 1/3 25/70 学习java对象及封装
  • 计划学习时间:20小时

  • 实际学习时间:25小时

  • 改进情况:这周学习的是对象及封装,由于是两章的内容,并且是新接触的知识,所以理解较吃力,花的时间也较多。

参考资料

20155229 2016-2017-2 《Java程序设计》第三周学习总结的更多相关文章

  1. Java程序设计第三周学习总结

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  2. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

  3. 20155229 2016-2017-2 《Java程序设计》第九周学习总结

    20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...

  4. 20155229 2016-2017-2 《Java程序设计》第二周学习总结

    20155229 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 布尔:boolean类型可表示true和false %符号被用来作为控制符号前置,所以规定用 ...

  5. 20155229 2016-2007-2 《Java程序设计》第一周学习总结

    20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...

  6. 20155225 2016-2017-2 《Java程序设计》第九周学习总结

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...

  7. 20155310 2016-2017-2 《Java程序设计》第九周学习总结

    20155310 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 •数据库本身是个独立运行的应用程序 •撰写应用程序是利用通信协议对数据库进行指 ...

  8. 20155338 2016-2017-2 《Java程序设计》第九周学习总结

    20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...

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

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

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

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

随机推荐

  1. Apache Spark : RDD

    Resilient Distributed Datasets Resilient Distributed Datasets (RDD) is a fundamental data structure ...

  2. Java.util 包(Date 类、Calendar类、Random类)

    java.util 包提供了一些实用的方法和数据结构. Date 类 Date 类表示日期和时间,里面封装了操作日期和时间的方法.Date 类经常用来获取系统当前时间. 构造方法: 构造方法 说明 D ...

  3. C++课堂作业二之反转链表

    1问题链接: https://www.patest.cn/contests/pat-b-practise/1025 2解题想法: 这题原来用数组打过,现在是想保留暂存数据的数组,然后按顺序提取出来到创 ...

  4. Entity Framework 指定架构无效 错误:1052

    IIS发布网站:如果不发布放到IIS没有问题,发布后IIS部署 打开网站却提示指定架构无效 1052 找到很多解决的问题 1添加wenconfig 2.更改entity名的 其实我认为最简单的就是先找 ...

  5. AngularJs 与服务器通信 $http, $q, $resource

    $http服务是AngularJS系统自带的,可以用来进行网络通信.获取远程服务器的数据.要记住的是,$http是对浏览器XMLHttpRequest的封装,也就是说,它其实是Ajax. $http( ...

  6. C/C++——存储

    关于各内存空间: 栈(stack):变量,数组.栈的大小是2M(也有的是1M),反正不大,一般递归写错了,没有出口,都会报错stack overflow. 全局区(静态区):全局变量.数组,静态变量. ...

  7. leetcode 121. Best Time to Buy and Sell Stock 、122.Best Time to Buy and Sell Stock II 、309. Best Time to Buy and Sell Stock with Cooldown

    121. Best Time to Buy and Sell Stock 题目的要求是只买卖一次,买的价格越低,卖的价格越高,肯定收益就越大 遍历整个数组,维护一个当前位置之前最低的买入价格,然后每次 ...

  8. SwaggerUI用户手册

    SwaggerUI是一个非常好用的API文档工具,最关键的是他还能在工具内调试API,简直爽的不要不要的~网上针对开发者的文档非常多,但是给用户的手册却非常少.所以我来简单写个用户手册,供没有使用过s ...

  9. 使用Docker遇到的基本命令及问题小结

    当遇到Cannot connect to the Docker daemon. Is the docker daemon running on this host?导致Docker无法启动时,重启Do ...

  10. SPOJ 4487. Can you answer these queries VI splay

    题目链接:点击打开链接 题意比較明显,不赘述. 删除时能够把i-1转到根,把i+1转到根下 则i点就在 根右子树 的左子树,且仅仅有i这一个 点 #include<stdio.h> #in ...