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. 3.5星|《刷屏:视频时代的风传法则》:YouTube热门视频回顾与分析

    刷屏:视频时代的疯传法则 作者2010年加入YouTube.本书是作者对YouTube上的热门视频的回顾与分析.第2-9章各讲一个类别的热门视频:恶搞.混音.网络歌曲.广告.现场目击.知识与科技.小众 ...

  2. August 23rd 2017 Week 34th Wednesday

    Do not pray for easy lives. Pray to be stronger men. 不要祈祷舒适的生活,而是祈祷自己能变得更强大. It seems this quotation ...

  3. SVN There are unfinished transactions detected

    在ECLIPSE中报这个错,不能提交和更新代码和clean up 解决办法:关闭ECLIPSE,使用工具对SVN执行 clean up. 重新启动ECLIPSE,解决冲突文件,可以正常使用SVN

  4. 文件属性及OS模块使用(IO入门2)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] 文件属性及OS模块使用(IO入门2) 1. pytho ...

  5. Running Protractor Tests on Docker

    配置这个Protractor环境真是折磨死人了,webdriver-manage update怎么都不成功,即使自己下载好chromederiver放到相应文件夹下,也不能使用.费时三四天终于按照ht ...

  6. 由JDK源码学习HashMap

    HashMap基于hash表的Map接口实现,它实现了Map接口中的所有操作.HashMap允许存储null键和null值.这是它与Hashtable的区别之一(另外一个区别是Hashtable是线程 ...

  7. 【[SDOI2008]山贼集团】

    非常好的一道题 树上的状压\(dp\) 根据数据范围我们就能知道这是一道需要状压的题目 所以状态就是\(dp[i][S]\)表示在以\(i\)为根的子树里,选择的状态为\(S\)的最大收益 这个收益只 ...

  8. Python中的类(一)

    Python中的类(一) 一. 应用场景 如果多个函数中有一些相同的参数时,转换成面向对象. 二. 如何创建类 类是用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法 ...

  9. vue2.* 目录结构分析 数据绑定 循环渲染数据 数据渲染02

    一.目录 结构分析 node_modules:项目依赖文件(也可以说是模块) src:开发时所用的资源 assets:静态资源文件 App.vue:根组件(最基础的公共页面) main.js:实例化v ...

  10. 2、Android-UI(常用控件)

    2.1.如何编写程序页面 Android中有许多编写程序的方式可供选择 Android Studio和Eclipse中都提供了响应的可视化编辑器 可以直接再进行拖动创建布局 推荐使用手动编写方式进行开 ...