JAVA问题分析
CHB爱Study
这个作者很懒,什么都没留下…
展开
-
JAVA问题分析——深入理解内部类(内部类为什么能够直接访问外部类的属性和方法)
我们知道,写在类里面的类叫做内部类,内部类为什么能够直接访问外部类的属性和方法呢?内部类的基础知识可以参见我的上一篇博客:特殊的方法和类先看一下代码:public class Test { private int a; public class OutClass{ //定义一个成员内部类 private int b; }}经过编译之后,我们发现生成了两个class文件。内部类OutClass也单独生成了一个字节码文件。内部类会单独生成一个字节码文件原创 2020-09-05 22:22:25 · 754 阅读 · 0 评论 -
JAVA问题分析——byte取值范围为何为-128——127
文章目录机器数和真值原码、反码、补码原码反码补码为什么要使用反码和补码总结在Java中,byte数据类型在内存中占1个字节,取值范围-128——127,为什么会是这个值?首先,我们需要了解一下计算机中数据是如何存储的。机器数和真值在计算机,数据是以二进制的方式存储的,一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。如:十进制+8,计算机字长为8位,转换为机器数就是00001000,十进制-8,转换为机器数就是100原创 2020-08-29 10:12:34 · 1431 阅读 · 9 评论 -
JAVA问题分析——浮点型为什么会存在误差
文章目录小数位用二进制表示二进制科学计数法表示浮点型的内存结构浮点型取值范围和精度总结在编程中,浮点型(float,double)通常用来表示小数,我们经常被警告,浮点型存在精度问题,不能用来比较大小,不能用来表示金额,为什么会存在误差呢?首先,我们来了解一下浮点型在计算机内存中是如何存储的。小数位用二进制表示要表示浮点型,首先要让小数位也用二进制表示。我们知道二进制表示整数时,最低位代表2的0次方,往高位依次是2的1次方,2次方,3次方……那么对应的,二进制数小数点后面,最高位则是2的-1次方,-2原创 2020-08-29 12:23:01 · 1402 阅读 · 0 评论 -
JAVA问题分析——i = i++
在Java中,++属于自加运算符,如果++放在变量后面,先进行赋值或输出操作,再进行自加。根据以上结论,我们来分析一下以下代码的返回结果:public class Test { public static void main(String[] args) { int i = 1; i = i++; System.out.println(i); }}很多人认为输出结果应该为2,但是最后的输出结果为1:想直到这是为什么,首先我们应该来了原创 2020-08-30 21:06:22 · 473 阅读 · 0 评论