动手动脑 1
- 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};
我个人对枚举这一块比较差, 然后准备好好看看这一块, 并且自己多做几个例子试一试.
动手动脑 2: 关于原码的, 详见原码那篇博客.
动手动脑 3: 类型转换
先来列举各个类型所占的字节数
byte(字节型):1 字节 128~127
char(字符型):2 字节 0~65535
short(短整型):2 字节 2^15~2^15-1
int(整型):4 字节 2^31~2^31-1
long(长整型):8 字节 2^63~2^63-1
float(单精度浮点型):4 字节 3.403E38~3.403E38
double(双精度浮点型):8 字节 1.798E308~- 4.9E324
boolean:1 字节 true false
类型转换原则: 从低位类型到高位类型自动转换; 从高位类型到低位类型需要强制类型转换.
动手动脑 4:
测试如下代码
- int X=100;
- int Y=200;
- System.out.println("X+Y="+X+Y);
- System.out.println(X+Y+"=X+Y");
加 "" 表示直接输出引号内的字符串, 然后第一个输出由于优先级的原因, 先输出了 X+Y=X, 然后又输出了 Y;
而第二行是因为先计算了 X+Y, 然后进行的输出.
来源: http://www.bubuko.com/infodetail-3209629.html