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 666C Codeword

    codeforces 666C Codeword 题意 q个询问,一种询问是给你一个字符串,还有一种是问长度为n的,包含当前字符串为子序列的字符串有多少个. 题解 容易写出式子,但是不好化简. 观察一 ...

  2. Salesforce平台支持多租户Multi tenant的核心设计思路

    Multitenancy is the fundamental technology that clouds use to share IT resources cost-efficiently an ...

  3. 【[HNOI2004]敲砖块】

    非常巧妙的\(dp\)顺序 这道题如果按照最正常的顺序来\(dp\)的话,显然是没有办法做的,后效性太大了 所以我们可以巧妙的改变\(dp\)的顺序 我们注意到一个位置\((i,j)\)要被打到的话就 ...

  4. 数论——扩展的欧几里德算法 - HDU2669

    http://acm.hdu.edu.cn/showproblem.php?pid=2669 #include <iostream> using namespace std; int gc ...

  5. 关于selenium获取token sessionid

    # 获取sessionid def get_sessionid(self): # 是要从localStorage中获取还是要从sessionStorage中获取,具体看目标系统存到哪个中 # wind ...

  6. [LuoguP1221]最多因子数

    [Luogu1221]最多因子数(Link) 求区间[L,R]内约数个数最多的数和它的约数个数. 这个题吧,乍一看确实不是很难,然后稍微一想,嗯,是个傻*题.这是唯一感受,不要问我为什么. 首先我们定 ...

  7. Android 面试题之编程

    1.排序 package cn.java.suanfa; public class SuanFa { public static void main(String[] args) { int[] ar ...

  8. #ifdef 和 #if defined的区别

    #ifdef 和 #if defined的区别在于,后者可以组成复杂的预编译条件,比如 #if defined (AAA) && defined (BBB)xxxxxxxxx#endi ...

  9. SQL Server 数据库每个表占用的空间、大小

    查看MSSQL数据库每个表占用的空间大小 sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused ...

  10. mysql数据库锁简介

    本篇介绍有关数据库锁相关的知识,关于数据库事务及隔离级别参见<数据库事务ACID特性及隔离级别>这篇文.   乐观锁 乐观锁最常用的实现方式是用数据版本(Version)记录机制.数据版本 ...