课堂总结

这是第一次上Java的课,课程分为理论和实践两部分,两节的理论课和两节的实践课。下面是我这一次课程与实践的收获与总结。

 

 1Java编译生成的文件是字节码文件。

 

 2Java运行的基本单位是类,类由类变量和类方法组成。

 

 3,“==”符号与equals()方法的区别,“==”在进行字符串地比较时,如果运用new在堆中开辟一个String的对象的内存,则比较的是地址,equals(),方法更加通用它比较的是字符串的内容。

 

 4,精度丢失问题,在运用double进行数值运算的时候,往往会有精度丢失,因此,我们可以使用BigDecimal类来解决。

 

5,随机数的生成方法。

6,有关源码和补码的知识:

(1)源码:将数的真值形式中“+”号用“0”表示,“-”号用“1”表示时,叫做数的原码形式,简称原码。若字长为n位,原码一般可表示为:
    X为正数时[X]原和X一样,即[X]原 = X。当X为负数时 。由于X本身为负数,所以,实际上是将∣X∣数值部分绝对值前面的符号位上写成“1”即可。

  原码表示法比较直观,它的数值部分就是该数的绝对值,而且与真值、十进制数的转换十分方便。但是它的加减法运算较复杂。当两数相加时,机器要首先判断两数的符号是否相同,如果相同则两数相加,若符号不同,则两数相减。在做减法前,还要判断两数绝对值的大小,然后用大数减去小数,最后再确定差的符号,换言之,用这样一种直接的形式进行加运算时,负数的符号位不能与其数值部分一道参加运算,而必须利用单独的线路确定和的符号位。要实现这些操作,电路就很复杂,这显然是不经济实用的。为了减少设备,解决机器内负数的符号位参加运算的问题,总是将减法运算变成加法运算,也就引进了反码和补码这两种机器数。
(2)反码
    如前所述,为了克服原码运算的缺点,采用机器数的反码和补码表示法。若字长为n位,反码可表示为:
    即对正数来说,其反码和原码的形式相同;对负数来说,反码为其原码的数值部分各位变反。
(3)补码
    补码是根据同余的概念引入的,我们来看一个减法通过加法来实现的例子。假定现在是北京时间6点整,有一只手表却是8点整,比北京时间快了2小时,校准的方法有两种,一种是倒拨2小时,一种是正拨10小时。若规定倒拨是做减法,正拨是做加法,那么对手表来讲减2与加10是等价的,也就是说减2可以用加10来实现。这是因为8加10等于18,然而手表最大只能指示12,当大于12时12自然丢失,18减去12就只剩6了。这说明减法在一定条件下,是可以用加法来代替的。这里“12”称为“模”,10称为“-2”对模12的补数。推广到一般则有:
        A – B = A + ( – B + M ) = A + ( – B )补
    可见,在模为M的条件下,A减去B,可以用A加上-B的补数来实现。这里模(module)可视为计数器的容量,对上述手表的例子,模为12。在计算机中其部件都有固定的位数,若位数为n,则计数值为 ,亦即计数器容量为 ,因此计算机中的补码是以“ ”为模,其定义如下:
    简言之,对正数来说,其补码和原码的形式相同;而从(3)式和(4)式可以看出,对于负数,补码为其反码的末位加1。
    总之,正数的原码、反码和补码是完全相同的;负数的原码、反码和补码其形式各不相同。另外,特别要注意的是,对于负数的反码和补码(即符号位为1的数),其符号位后边的几位数表示的并不是此数的数值。如果要想知道此数的大小,一定要求其反码或补码才行。(来源:搜狗百科)。

posted @ 2022-09-12 10:10  杳无音讯  阅读(36)  评论(0)    收藏  举报