1.枚举类型

运行EnumTest.java

运行结果:false,false,true,SMALL,MEDIUM,LARGE

结论:枚举类型是引用类型,枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

2.Java中同名变量的屏蔽原则

运行ppt上此段代码

运行结果:2

结论:每一个变量都有它的作用域,例如局部变量和全局变量,当输出同名变量时,先输出局部变量,如果没有,那就上一级范围寻找同名变量输出,如果还是没有找到,就继续扩大范围寻找然后输出,所以说原则是先输出作用域小的变量,再输出作用域大的变量。

3.Java中的类型转换

int        32位   -2147483648~2147483647

short      16位      -32768~32678

long          64位      -9223372036854775808~9223372036854775807

float       32位         -340292347E+38~+340292347E+38

double   64位      -1.79769313486231576E+308~.79769313486231576E+308

char       16位    ‘\u0000′‘~‘\uFFFF’

boolean        1位      true/false

byte      8位         -128~127

数值范围小的向数值范围大的进行类型转换没有精度损失,反之则有精度损失。

4.为什么double类型的数值进行运算得不到数学上精确的结果?

在这里结合double类型数值的位数64位,而我们在数学计算时,有些计算所获得结果所需位数已经超过了64位,所以不准确,严格来说这是计算机硬件再就是定的这种数据类型所导致的无法避免的误差,而为了避免这种计算误差,数学上大可以用分数表示,再就是使用字符串类型存储数值。

5.字符联接操作

代码输出运行第一行是字符串的连接,第二行是数值相加。

之所以出现这种结果,是因为计算机在读写代码是按照从左往右,从上至下的顺序读取代码,所以第一行代码前面是字符串,所以后面是字符连接,而第二行代码前面先进行了数值计算,所以是加法。

 

posted on 2018-10-08 08:57  生长的力量  阅读(117)  评论(0编辑  收藏  举报