目录
一、标识符
用来标识类名、变量名、方法名、类型名、数组名及文件名的有效字符序列称为标识符,简单地说,标识符就是一个名字。
标识符的语法规则:
(1)标识符由字母、下画线、美元符号和数字组成,长度不受限制。
(2)标识符的第一个字符不能是数字字符。
(3)标识符不能是关键字。
(4)标识符不能是true、false和null(尽管true、false和null不是Java关键字)。
需要特别注意的是,标识符中的字母是区分大小写的,hello和Hello是不同的标识符
因为Java用的是Unicode字符集,所以可以使用英文,中文,日文等许多其他语言的文字,还可以作为标识符来使用!
二、关键字
关键字就是具有特定用途或被赋予特定意义的一些单词,不可以把关键字作为标识符来用,以下是Java的50个关键字。
abstract assert boolean break byte case catch char classconst continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while
三、基本数据类型
基本数据类型也称简单数据类型。
在Java语言中有8种基本数据类型。
逻辑类型:boolean
整数类型:byte、short、int、long
字符类型:char
浮点类型:float、double
1.逻辑类型
-
变量:true,false
-
使用关键字boolean来声明逻辑变量,在声明时也可以赋初值。
2.整数类型
-
int类型
-
常量:123(十进制),077(八进制,用数字0做前缀),0x3ABC(十六进制,用数字 0和字母x做前缀,即0x或0X做前缀),二进制0b111(用数字0和字母b做前缀,即0b或0B做前缀)。
-
变量:使用关键字int来声明int型变量,在声明时也可以赋初值。
对于int型变量,分配4字节内存,因此int型变量的取值范围是 -2^31 ~ 2^31-1。
-
-
byte型
-
变量:用关键字byte来声明byte型变量
-
常量:在Java中不存在byte型常量的表示法,但可以把一定范围的int型常量赋值给 byte型变量。
对于byte型变量,分配1字节内存,占8位,因此byte型变量的取值范围是-2^7 ~ 2^7-1。
如果需要强调一个整数是byte型数据,可以使用类型转换运算的结果来表示,例如:(byte)4。
-
-
short型
-
变量:使用关键字short来声明short型变量。
-
常量:和byte型类似,在Java中也不存在short型常量的表示法,但可以把一定范围 的int型常量赋值给short型变量。
对于short型变量,分配2字节内存,占16位,因此short型变量的取值范围是-2^15 ~ 2^15-1。
如果需要强调一个整数是short型数据,可以使用强制转换运算的结果来表示,例如(short)4。
-
-
long类型
-
常量:long型常量用后缀L来表示,例如:108L(十进制)、07123L(八进制)、0x3ABCL (十六进制)。
-
变量:使用关键字long来声明long型变量。
对于long型变量,分配8字节内存,占64位,因此long型变量的取值范围是-2^63 ~ 2^63-1。
注:在Java中没有无符号的byte、short.、int和long,因此unsigned int m是错误的变量声明。
在Java中不存在byte型和short型常量的表示法,其原因是Java把形如 2147483648~2147483647的字面常量都按4字节处理,但可以把不超出byte或shor 范围的int型常量赋值给byte或short型变量。
-
3.字符类型
-
常量:'A'、'a'、'?'、'9'、'你'等,即用单引号(需用英文输人法输人)括起的 Unicode表中的一个字符.
-
变量:使用关键字char来声明char型变量。
-
有些字符不能通过键盘输人到字符串或程序中,这时就需要使用转义字符常量,例如:\n(换行),\b(退格),\t(水平制表),'(单引号),"(双引号),\(反斜线)等。
char a = '\n'; char b = '\\"';
char a = '我喜欢''; //报错(Invalid character constant)非法字符串 char b = '我喜欢\''; //正确
-
在Java中,可以用字符在Unicode表中排序位置的十六进制转义(需要用u做前缀)来示该字符,其一般格式为\u**'。
char a = '\u0041'; //表示字符A char b = '\u0061'; //表示字符B如果要观察一个字符在Unicode表中的顺序位置,可以使用int型类型转换。
int a = (int)'A'; //输入结果为65
-
如果要得到一个0~65 535的数所代表的Unicode表中相应位置上的字符,必须使用char型类型转换。
char b = (char)65; //输入结果为A
char x = 'a'; //内存x中存储的是97,97是字符a在Unicode表中的排序位置,因此允许将上面的变量声明写成: char x = 97;
对于char型变量,分配2字节内存,占16位,最高位不是符号位,没有负数的char。
char 型变量的取值范围是0 ~ 65 535。
Java中的char型数据一定是无符号的,不允许使用unsigned来修饰声明char型变量。
4.浮点类型
-
float(单精度)型
-
常量:例如453.5439f、21379.987F、231.0f(小数表示法)、2e40f(2乘10的40次方,指 数表示法)。需要特别注意的是常量后面必须要有后缀f或F
-
变量:使用关键字float来声明float型变量。
float变量在存储float型数据时保留8位有效数字
float a = 12345.123456789f; //最终显示输出12345.123
对于float型变量,分配4字节内存,占32位,float型变量的取值范围是1.4E-45 ~ 3.4028235E38和-3.4028235E38~-1.4E-45。
-
-
double(双精度)型
-
常量:对于double常量,后面可以有后缀d或D,也可以省略该后缀。
-
变量:使用关键字double来声明double型变量。
对于double型变量,分配8字节内存,占64位,double型变量的取值范围是4.9E-324 ~1.7976931348623157E308和-1.7976931348623157E308~-4.9E-324。double变量在存储 double型数据时保留16位有效数字(相对float型保留的有效数字,称之为双精度)。
-