7.5总结

为什么计算机设计补码进行存储?
原码只有加法没有减法,因此使用减法时会出现问题,因此引用了反码,而反码会出现正负0的问题(符号位不同)用两个编码实在浪费,因此出现了补码,补码计算后再转换为原码,这样0用00000000表示,之前出现问题的-0则不存在了。

byte类型127+1=-128?
byte为一字节8位,反码的存储范围为-127-127,补码的存储范围为-128-127,而计算机中数据用补码存储,0占据了一个正数的位置,0-127正好128个,-128--1也为128个,127+1超过了存储范围,计算结果为10000000,byte中即为-128。在eclipse中用两个byte类型的数值进行计算时会发生变量提升,byte类型的127+1会变为int类型的128,使用强制类型转换防止变量提升得到结果才为-128。

==和equals()方法的区别:
基本数据类型:只能使用==,用于判断值是否相等
引用数据类型:==用于判断地址是否相同
            equals():如果是在object类里,equals方法中判断时使用的是==,比较的是地址;
            但有些类如String类里,重新定义equals方法,先比较地址,如果地址不相同,然后再比较里边的内容是否相同。

局部变量和全局变量的区别
.class文件进入JVM中,所有方法存入方法区,如果不new对象想进行调用,就只有main方法和它调用的方法入栈后出栈,
堆内没有开辟内存空间,a(全局变量)和c(main方法中的局部变量)可以直接调用。new对象后对象入栈,
并在堆中给run方法开辟内存空间,调用run方法时在栈中开辟内存空间,run方法中的局部变量也存在栈中。

.java文件分为有main方法和没有main方法的文件,有main方法的直接调用文件main方法直接入栈,
没有main方法的new对象后调用方法才会入栈。

简述构造器的特征:

1.构造器与类同名
2.new对象时new 后边的方法即为构造函数
3.每个类中都有一个默认的不显示的无参构造器,在类中写一个构造器时则调用写的那个(覆盖掉默认的)
4.构造器无返回值,如果有返回值,即使方法名和类名相同也不是构造函数
5.类中有至少一个的构造函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值