public class EnumTest { public static void main(String[] args) { 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); } } } enum Size{SMALL,MEDIUM,LARGE};
运行结果:
false
false
true
SMALL
MEDIUM
LARGE
分析:
第二个输出语句中 isPrimitive()的用法为,是基本类型返回true,否则返回false。
所以枚举类型不是基本数据类型。
第三的输出语句中表示出枚举类型可以用“==”比较
在for循环中用的枚举的一个使用方法Size value:Size.values()
1
2
3
4
5
6
7
8
9
|
public class TestDouble { public static void main(String args[]) { System.out.println( "0.05 + 0.01 = " + ( 0.05 + 0.01 )); System.out.println( "1.0 - 0.42 = " + ( 1.0 - 0.42 )); System.out.println( "4.015 * 100 = " + ( 4.015 * 100 )); System.out.println( "123.3 / 100 = " + ( 123.3 / 100 )); } } |
运行结果:
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 1.2329999999999999
结果分析:
使用double类型计算,结果不精确
1
2
3
4
5
6
7
8
9
10
|
public class xy { public static void main(String args[]) { int X= 100 ; int Y= 200 ; System.out.println( "X+Y=" +X+Y); System.out.println(X+Y+ "=X+Y" ); } } |
运行结果:
X+Y=100200
300=X+Y
结果分析:
第一句中是按"X+Y=" + X + Y 输出的
第二句中是按 X+Y + "=X+Y" 输出的