package testjava;
public final class test {
public static void main(String[] args) {
int dass = 1 << 32;
int aa = Integer.MAX_VALUE;
System.out.println("aa=" + aa);
for (int a = 0; a < 33; a++) {
int dbss = 1 << a;
if (dbss == 2147483647) {
System.out.println("a=" + a + "----------dbss=" + dbss);
break;
} else {
System.out.println("a=" + a + "----------dbss=" + dbss);
// System.out.println("dbss="+dbss);
}
}
// TODO Auto-generated method stub
/*
* testjava test=new testjava(); test.cry(); // test.cry2();
* System.out.println(dass); System.out.println(aa);
*/
}
}
=============================输出=====================================
aa=2147483647
a=0----------dbss=1
a=1----------dbss=2
a=2----------dbss=4
a=3----------dbss=8
a=4----------dbss=16
a=5----------dbss=32
a=6----------dbss=64
a=7----------dbss=128
a=8----------dbss=256
a=9----------dbss=512
a=10----------dbss=1024
a=11----------dbss=2048
a=12----------dbss=4096
a=13----------dbss=8192
a=14----------dbss=16384
a=15----------dbss=32768
a=16----------dbss=65536
a=17----------dbss=131072
a=18----------dbss=262144
a=19----------dbss=524288
a=20----------dbss=1048576
a=21----------dbss=2097152
a=22----------dbss=4194304
a=23----------dbss=8388608
a=24----------dbss=16777216
a=25----------dbss=33554432
a=26----------dbss=67108864
a=27----------dbss=134217728
a=28----------dbss=268435456
a=29----------dbss=536870912
a=30----------dbss=1073741824
a=31----------dbss=-2147483648
a=32----------dbss=1
============================结论================================
java int 最大值是1位移30位之后取最大值! 位移31位时将变成负数