类型与所占字节:
boolean 布尔型 1/8
byte 字节类型 1 char 字符型 2 一个字符能存储一个中文汉字
short 短整型 2 int 整数类型 4 float 浮点类型(单精度) 4 long 长整形 8 double 双精度类型(双精度) 8
String不是基本数据类型,而是一个类
Integer
Double
Long
byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。
下面用实例来比较一下二者的区别:
1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127 的数;如:
[html] view plain copy char c = (char) -3; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别 System.out.println(c); byte d1 = 1; byte d2 = -1; byte d3 = 127; // 如果是byte d3 = 128;会报错 byte d4 = -128; // 如果是byte d4 = -129;会报错 System.out.println(d1); System.out.println(d2); System.out.println(d3); System.out.println(d4);结果为:
? 1 -1 127 -128
2、char可以表中文字符,byte不可以,如:
[html] view plain copy char e1 = '中', e2 = '国'; byte f= (byte) '中'; //必须强制转换否则报错 System.out.println(e1); System.out.println(e2); System.out.println(f);
结果为:
中 国 45
3、char、byte、int对于英文字符,可以相互转化,如:
[html] view plain copy byte g = 'b'; //b对应ASCII是98 char h = (char) g; char i = 85; //U对应ASCII是85 int j = 'h'; //h对应ASCII是104 System.out.println(g); System.out.println(h); System.out.println(i); System.out.println(j); 结果为: 98 b U 104
