20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

时间:2021-01-31 16:24:14

20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

教材学习内容总结

在JAVA程序编写中,常常要用到对象(Object),要产生对象首先要定义类(Class)。

  • 对象(Object) :对象具有状态和行为,对象是类的实例。
  • 类(Class) :一个类可以被描述成行为的模板。
  • 标准类:JAVA SE 提供了标准API,这些API是由许多标准类组成,可直接使用。
  • 封装(Encapsulation):封装的目的:隐藏对象细节,将对象当作黑箱进行操作。
    • 构造函数-->定义方法-->使用private关键字定义,并提供取值方法成员
    • 优点:不用重复撰写对象初始化流程;对象可以自己处理相关数据;用户无法知道、更改类中的私有数据。

java 标准类

java.util.Scanner

java.math.BigDecimal

Java遵守IEEE754浮点数运算规范,使用分数与指数来表示浮点数。因此无法精确表示,会造成运算上的误差。 而java.math.BigDecimal类可以提供更好的精准度,比如以下的程序。


import java.math.BigDecimal; public class Dec {
public static void main(String[] args) {
double x = 0.2;
double y = 1;
double z;
z = y - x ;
if (z == 0.2) {
System.out.println("YES");
}
else {
System.out.println("NO");
}
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.2");
BigDecimal c = a.subtract(b);
System.out.printf("c : %f,z : %f",c,z);
}
}

运行结果如下

20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

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

  • 特别注意:“==”与“equals()”的区别

    在操作对象时,“==”是用在比较两个参考名称是否参考到同一对象,“equals()”是比较两个对象实际的内含值是否相同。
  • 编译器ClassPath配置出错

    20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

    20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

    windows下重新修改了ClassPath

代码托管

20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

上周考试错题总结

  • find 命令
    • 基本格式find path -option [ -print ] [ -exec -ok command ] {} \;
    • path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
    • -print: find命令将匹配的文件输出到标准输出。
    • -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和\;之间的空格。
  • -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
  • 常见参数
    • -name filename #查找名为filename的文件
    • -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    • -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    • -size n[c] #查长度为n块[或n字节]的文件
    • 例子
      • find /home -size +512k 查大于512k的文件
      • find /home -size -512k 查小于512k的文件
      • find /home -atime -1 查1天之内被存取过的文件
      • find /home -mmin +60 在/home下查60分钟前改动过的文件
      • find /home -amin +30 查最近30分钟前被存取过的文件
      • find /home -mtime -2 在/home下查最近两天内改动过的文件
      • find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
      • find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件

其他(感悟、思考等,可选)

学习过程中看到书中有“编译器蜜糖”的介绍,突然来了兴趣想搞清楚是什么,结果在网上看见这样的博客(这三篇内容完全一样,随便看一篇就好)

警惕_1

警惕_2

警惕_3

内容介绍的挺有帮助,值得去了解和更深层的学习实践,但尴尬的是我不知道哪一篇是正主写的于是都贴上来了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 2/2 20/20
第二周 251/251 1/5 18/38
第三周 651/902 1/6 10/48

参考资料