代码:
enum Rating {
UNRATED, G, PG, PG13, R, NC17
}
public class Test {
public static void main(String args[]) {
System.out.println("第一种通过反射")
Class clz = Rating.class
for (Object obj: clz.getEnumConstants()) {
System.out.println(obj)
}
System.out.println("第二种通过枚举静态方法values()")
for (Rating rate: Rating.values()) {
System.out.println(rate)
}
}
}
运行结果:
第一种通过反射
UNRATED
G
PG
PG13
R
NC17
第二种通过枚举静态方法values()
UNRATED
G
PG
PG13
R
NC17
每个问题只有对、错2种情况的话,每个问题相当于1个bit。10个问题就是10个bit
循环从0到0b11111 11111,逐个打印数字
即从0到1023循环
for(int i=0i<1024i++){
System.out.println(i)//每个i保留10个bit,这10个bit的每个bit就代表每个问题的对错
}
比如
1000这个值,二进制为1111101000
可以理解成“对对对对对错对错错错”
0理解成00000 00000,代表全错
1023理解成11111 11111代表全对
从0到1023就是所有的可能
这是最高效节省的表示法。