以下代码的输出结果是什么?
int X=100; i
nt Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
为什么会有这样的输出结果?
结果:
X+Y=100200
300=X+Y
加号的结合性是从做到右的,所以第一个x当做字符串输出,第二个由于是两个整数相连,执行选择高于字符串,所以先计算加法
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
结果:
false 引用的不是同一个对象
false 不是基本类型,只有八个基本类型boolean、char、byte、short、int、long、float、double
true valueOf和toString函数的用法很像,返回的是Size.SMALL
SMALL
MEDIUM
LARGE
浮点数在计算机中是以二进制数的形式存放的,科学计数法的形式表示的 但是计算机在计算机中无法精准的表示0.1,只能是无限的靠近就出现了精度损失的问题
double 的表示形式
- 同理这个和上面的是一样的。