Enum.test是一个枚举类,他的使用需要用到enum关键字,枚举类型符合通用模式class enum,枚举类型会一次引用定义时的一系列值,在一些情况下能使编程更加简单,如:我们的关于星期几的问题,一个枚举类就能反复调用星期这七个字符串。枚举类型是一个引用类型而非我们熟知的int,double等原始数据类型,它的每一个具体值都要引用其具体值对应的特定对象。值得注意的是,我们可以直接“==”和equals()方法直接比对枚举变量的值,来达到判断是否全等的问题。

关于TestDouble.java文件的运行,我发现他的输出值包含无限循环小数,程序运算之后的值以小数的形式无限接近于我们人计算的正确值,具体表现形式为:123.3/100=1.232999999999……。这个文件让我了解到,Java文件中,浮点数类型在计算机中的存储并不是一个整数的形式,而是以一个无限接近实际要存数的实际存储数存储,在许多年前,有一位程序员便通过浮点和整数类型之间的转换赚取了巨额的金钱。

在课上,老师提到了BigDecimal类 可以用来解决浮点数误差的问题,但是需要注意的是在定义BigDecimal对象的时候使用的是字符串而不是double数值,否则仍然会因为计算机程序存储数据的差异造成以上的误差。

我们也进行了一下代码的运行:     

int X=100;

       int Y=200;

       System.out.println("X+Y="+X+Y);

       System.out.println(X+Y+"=X+Y");

我们发现,输出结果是这样的:

X+Y=100200

300=X+Y

    这个案例让我们发现了,在System.out.println()这个函数中,在“”之前的+会被识别为算数运算符,而“”之后的+一律被识别为两个不同输出元素的连接词,要使得System.out.println("X+Y="+X+Y);打印出我们想要的结果,我们需要将X+Y用‘()‘包起来,使之具有更高的优先级,即:先计算后被打印。

       Java中有两种类型,需要首字母大写的引用数据类型(如:String),和变量中仅包含数据的原始数据类型(如我们熟知的:int、float),分辨他们最好的方式就是判断是否在使用时,具有大写的字母。

    课上,建民哥要求我们自己了解原码、补码以及反码,并说说自己的感想,通过课后的了解到:计算机通过最基础的二进制储存信息,原码:最高位是符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制;反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。;补码:正数的补码与原码一致,负数的补码是对原码按位取反加1,符号位不变。原补反三者之间可以按照一定的规则转化,补码变成原码的方式是:正数的补码与原码一致,负数的补码按位取反加1,符号位不变;反码变成原码的方式是:正数的反码与原码一致,负数的补码按位取反,符号位不变。三码的数据表示范围跟用几位数字表示有着巨大关系n+1位数字,绝对值最大的原码是  -(2^n - 1)和 2^n – 1;n+1位数字,绝对值最大的反码是  -(2^n - 1) 和 2^n - 1;n+1位数字,绝对值最大的补码是  -2^n。

      通过本节课,我了解到自身在专业知识上的不足:缺乏最基本的常识,缺少对数据存储方式本质的理解,不能很好规范自己的编程,变量名随心而起,几乎不写注释,这些问题让我和其他人合作几乎是不可能,在接下来的时间,我会努力规范自己的编程格式,了解编程知识。

 

posted on 2022-09-12 11:49  XiSoil  阅读(15)  评论(0编辑  收藏  举报