Java数据类型分类:
基本数据类型
布尔型:boolean
布尔型的取值有true和false,其中false为默认值。
例:boolean truth = true
注意Java中布尔值和整型值之间不能相互转换。
整型:byte, short, int, long,为有符号整型,char为无符号整型(也成为文本型)。
整型常量默认为int类型,byte或short类型的常量和int类型的常量形式相同。
Long类型的常量后应加l或L
整型常量通常具有十进制、八进制和十六进制三种进制表示,八进制以O起始,十六进制以OX或Ox起始。
关于文本型:
char为16位的Unicode字符,例:char mychar=‘Q’;
Unicode(国际标准字符集)是一套字符编码系统,可支持各类文字的字符。
一个字符的Unicode编码固定, 但对Unicode编码的实现方式可能不同
Unicode的实现方式:Unicode转换格式(UTF),即Unicode值如何以bit表示
是Java字符在文件中存储和在网络上传输时的表示形式
目前通用的实现方式: UTF-32, UTF-16和UTF-8
String不是基本数据类型,是类;
例:String greeting=“Good Morning!”;
String对象表示的字符串不能修改
字符串、字符的连接运算:+
例如:
String salutation = “Dr. ”;
String name = “Pete ” + “Seymour” ;
String title = salutation + name ;
则title值: Dr. Pete Seymour
观察输出结果为:
这里运用到了转移字符,其中”\ddd"是3位八进制数所表示的Unicode字符;“\uxxxx"表示4位十六进制数所表示的Unicode字符。所以\u0051和\121表示的数字与Ox0051相同,都等于十进制中的81,对应字符集中的字符”Q“。
浮点型:double, float;
浮点型常量默认为double类型
float类型的常量后必须加F或f,例:2.718F
double类型的常量后可以加D或d(不加也行),例:2.718D, 2.718
浮点型常量的表达可以与科学计数法叠加,例:6.02E23, 6.02e23F
接下来我们可以写一个程序使用浮点数表达,观察一下输出结果:
编写程序如下:
public class CharConst
{
public static void main(String args[])
{
double c1= 6.02E23;
double c2= 6.02e23f;
System.out.println(c1 + ";" + c2 );
}
}
结果输出如下:
习题记录:
结果:
在这次习题中出现了特殊的浮点数NaN和Infinity,NaN的意思是“not a number”,一般0.0除以0.0或求负数的平方根时会出现NaN;而Infinity表示无穷大。
NaN不等于任何数,也不等于它自身。
注意第一项:0.0==-0.0,但是用compare比较时正数大于负数。