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

教材学习内容总结

Chapter 4

  • 要产生对象必须先定义类,类是对象的设计图,对象时类的实例。
  • 一个原始码中可以有很多个类定义,但只能有一个是公开类,且文档中的主文档名必须与公开类名称相同。
  • 构造函数是与类名称同名的方法。
  • 两个基本的标准类:java.util.Scanner与java.math.BigDecimal。
    • 使用java.util.Scanner

      • 一开始使用import。
      • nextxxx()方法。
    • 使用java.math.BigDecimal/
      • 小心使用浮点数,别用==直接比较浮点数运算结果。
      • 使用java.math.BigDecimal类可达到更好的精准度。
  • == 与 equals()有区别。
  • .XxxValue打包器。
  • Integer提供compareTo()方法,同0,小-1,大1。
  • 自动装箱、拆箱的内幕:
    • e.g. 结果:i1 != i2
Integer i1 = 100;
Integer i2 = 200;
if (i1 == i2) {
System.out.println("i1 == i2");
}
else {
System.out.println("i1 != i2");
}
  • 使用System.out.println()代替\n。
  • 在Java中只要看到new,一定就是建立对象。本章定义函数的语法代表了数组就是对象。
  • System.arraycopy(来源数组,来源起始索引,目的数组,目的起始索引,复制长度)。
  • Arrays.copyOf();
  • 上述两个复制没有复制出对象,是浅层复制。
  • 数组一旦建立,长度就固定了。
  • 字符串无论在程序代码中出现几次,JVM都指挥建立一个String实例。比较时不能使用==,而要用equals()。
  • 字符串对象一旦建立,就无法更改对象中任何内容。
  • 使用javac指令没有指定-encoding选项时,会使用操作系统默认编码。

Chapter 5

  • 取值以get开头开头,之后接上首字母大写的单词。
  • 若无申明权限修饰的成员,有“范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员必须是公开成员,在Java中药使用public加以声明。
  • 创建对象时需初始化。
  • 除了被声明static处,均可用this。
  • 若对象数据成员被声明为final,但未明确使用=确定值,那表示延迟对象成员值的指定,在构造函数执行流程中,一定要有对该数据成员指定值得动作。
  • static成员属于类。
  • import static要注意名称冲突问题。

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

  • 跟着教材循序渐进,仔细看没遇到什么问题,但是如果跳了一点点看,可能前面一些关键的点就会被遗漏,尤其是本书中有一些小错误,很容易出现错误。我遇到了一些类似的问题,回头看看之前一点的内容也就解决了。因为我觉得那些错误很低级,没有什么意义,我就没有截图了。

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

  • 我把System.out.printf()看成了System.out.println(),导致出错



代码托管

上周考试错题总结

  • Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)。
  • 这题上一次考试做过类似的,所以这次考试看到了就大意了,没看完题就填答案。
  • 判断: Java中, 数字235.00的类型是float. (X)
  • 没有正确理解float型。
  • ~0b1011的十进制值是(-12)
  • 考虑了取反,但是没有取补码,计算机导论还需要巩固。
  • Java中的字符长度是(2)个字节。
  • 记错了,现在已经记住了。
  • Java中,非零数字等价于true.(X)
  • 没有正确理解Boolean。
  • System.out.printf("%b", 11)的输出结果是0b1011 (X)
  • 没理解%b是Boolean型,现在已经掌握。
  • byte a=3;byte b=4; 那么 a+b的类型也是byte.(X)
  • 没记住这个会转换成int型,现已掌握。

其他

  • 老师说前六周我们最后不要使用IDEA。起初我有点小抵触,明明借助集成开发环境能提高效率干嘛不让我们用,反复敲那些没多大用的东西。但我还是按照老师的意思去做了,我发现每次敲那些框架的过程中,我会对之前学的知识有些回顾,比如package、import、public class、三种prin还能让我们在实践掌握vim的用法。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 18/18 1/1 10/10
第二周 172/190 2/3 18/38
第三周 464/654 3/4 23/61

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

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

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

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

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

    20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. codeforces 549F Yura and Developers(分治、启发式合并)

    codeforces 549F Yura and Developers 题意 给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 题解 分治,对于一个区间,找出最大值之后,分成两个区间. ...

  2. DZ拿shell总结

    今天碰到一个dz的站,好久没拿了 ,拿下shell觉得应该总结一下 Uc_server默认密码 其实有了UC_SERVER就是有了网站的全部权限了,有了UC_SERVER你可以重置管理员密码 可以进后 ...

  3. 019.2 map集合类

    Map<k,v>Map:双列集合,一次存一对,键值对,类似于python的字典.共性功能:1.添加    v put(key,value)     //返回key的旧值    putAll ...

  4. pip-修改为国内镜像源

    pip 常用命令 pip install ./downloads/SomePackage-1.0.4.tar.gz pip install http://my.package.repo/SomePac ...

  5. matlab中的unique函数详解

    https://blog.csdn.net/sinat_40282753/article/details/78373532

  6. IE8崩溃在CElement::GetUpdatedLayoutWithContext

    发了一个我们页游助手的版本时,测试报告在某些机器上点开某网站时崩溃 "0x637e5067指令引用的0x00000008内存,该内存不能为read",查看dump文件,堆栈如下: ...

  7. MacBook搭建go语言开发环境

    mac下要安装 go 最简单的方式是通过 homebrew 直接执行: brew update && brew upgrade brew install go 安装完成后需要指定 GO ...

  8. 如何彻底修改eclipse中的名称

    一.右键工程:Refactor->Rename,或选中工程按F2,修改名称二.修改项目目录下:.project文件 <?xml version="1.0" encodi ...

  9. windows安装PHP IIS MYSQL

    https://www.cnblogs.com/huodong/p/4310425.html

  10. 树莓派 4G模块 PPP 拨号 NDIS 拨号

    资料参考:树莓派使用4G模块(华为ME909s-821)亲身尝试的可行方法(上)