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的字符