日期:2014-05-20  浏览次数:20835 次

char类型问题
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=?为什么?


 }
}

------解决方案--------------------
a=3
b=什么得查一下Unicode表。。。
------解决方案--------------------

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

------解决方案--------------------
a输出的就是3
b输出的就是asc为3的字符