class YunSuan{
  public static void main(String[] args){
     //int  a=5;
     //System.out.println(a+=6*++a/2-6*9+2);    //-29
     //int x=5,y=5;
     //x=y+(y++)+(y--);
     //System.out.println(x);//16
     //System.out.println(y);
    // int y=5;
     //System.out.println(y+=y-=y+y);//0
       //int i=6,j=8;
      //System.out.println(j*=j+3*i*j--);//j=j*(j+3*i*j);这里+号比*优先,j--是先赋值,然后自减,所以j值不变       //float t=9.0f;
       //int q=5;
       //System.out.println((t++)*(--q));       //System.out.println(100%3);
       //System.out.println(100%3.0);       //int i=12345;
       //String s="";
       //s=i+"";
       //System.out.println(s);     char a='3',b=3;
     System.out.println(a);
     System.out.println(b);
     //问a=?,b=?为什么?
 }
}

解决方案 »

  1.   

    a=3
    b=什么得查一下Unicode表
      

  2.   

      char a='3',b=3;
      System.out.println(a);
      System.out.println(b);
    就这3句? a 打印的是ASCII值,转化为int,在变成string ,b打印的是3.
      

  3.   


    貌似是因为Unicode兼容ASCII,所以查哪个都行。。
      

  4.   

    问题是ASCII里没找到有这个心形图啊,U码又太大了,怎么查?
      

  5.   


    public static void main(String [] args){
    char a = '3', b = 3;
    System.out.println("a的值"+a);
    System.out.println("b的值"+b);
    }
    打印结果:a的值3
            b的值a开始赋值字符'3'所以打印也是3
    b开始赋值是数字3,要转ASCII码  
    对应的ASCII码如下  3对应的是空字符
    代码 字符 代码 字符 代码 字符 代码 字符
    0   32 [空格] 64 @ 96 `
    1   33 ! 65 A 97 a
    2   34 " 66 B 98 b
    3   35 # 67 C 99 c
    4   36 $ 68 D 100 d
      

  6.   

        char 数据类型(和 Character 对象封装的值)基于原始的 Unicode 规范,将字符定义为固定宽度的 16 位实体                                                              -----java.api    也就是说char 类型变量在内存中以unicode码形式存储,b打印的值应为unicode表中的第3个字符
                          
      

  7.   

    是ASCII码对应的Unicode码是❤
      

  8.   

    在cmd上输出的是
    3
    ❤在Eclipse上输出的是
    3
    L。
      

  9.   

    a输出的就是3
    b输出的就是asc为3的字符