int a=0; int b = '0';
int c=0; char d='\u0000';
int e=0x123; char f=123;
int g=3+'5'; char h='8';
int i='3'+'5'; char j='8';
char k='0'; char l='\u0000';

解决方案 »

  1.   

    //写个程序来测试一下:public class Exercise{
        public static void main(String[] args){        int a = 0; int b = '0'; //因为'0'的unicode编码是48,转换为整型还是48,所以不相等。
            System.out.println("a=" + a + "; b=" + b);        int c = 0; char d = '\u0000'; //因为'\u0000'在unicode编码中代表0,所以相等。
            System.out.println("c=" + c + "; d=" + (int)d);        int e = 0x123; char f = 123; //肯定不相等,0x123是十六进制的数字,转换为十进制是291。
            System.out.println("e=" + e + "; f=" + (int)f);        int g = 3 + '5'; char h = '8'; //'5'的unicode编码是53,'8'的unicode编码是56,所以相等。
            System.out.println("g=" + g + "; h=" + (int)h);        int i = '3' + '5'; char j = '8'; //变量i实际上是51+53=104(在unicode编码中),所以不相等。
            System.out.println("i=" + i + "; j=" + (int)j);        char k = '0'; char l = '\u0000'; //'0'在unicode编码中是48,'\u0000'在unicode编码中是0,所以不相等。
            System.out.println("k=" + (int)k + "; l=" + (int)l);    }
    }
      

  2.   

     LS的解释的可以
       这些都是java的一些基础,LZ可以看下书啊