标识符与关键字
一、标识符
用来标识类名、变量名、方法名、类型名、数组名及文件名的有效字符序列。
规则:
1.标识符由字母、下划线、美元符号($)和数字组成,长度不受限制。
2. 标识符的第一个字母不能是数字字符。
3. 标识符不能是关键字。
4. 标识符不能是true,false和null(尽管它们不是关键字)
#注意:标识符中的字母是区分大小写的,hello和Hello是不同的标识符。
二、关键字
关键字就是具有特定用途或被赋予特定意义的一些单词,不可以把关键字作为标识符来用。
三、基本数据类型
Java有8种基本数据类型,习惯上可分为四大类型。
逻辑类型:boolean
整数类型:byte、short、int、long
字符类型:char
浮点类型:float、double
类型 | 常量 | 变量 | 注意 | 范围 |
---|---|---|---|---|
int | 123(十进制)、077(八进制)、0x3ABC(十六制) | 使用关键字int来声明int型变量,声明时也可以赋给初值。int x = 12; int y; y = 99; | 分配4个字节内存 | -231 ~ 231-1 |
byte | Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量。 | 使用关键字byte来声明byte型变量。byte x = -12; | 分配1个字节存 如果需要强调一个整数是byte型数据时,可以使用类型转换运算。(byte)-12,(byte)22; | -27 ~ 27-1 |
short | 与byte型类似。 | 使用关键字short来声明short型变量。short y = 12; | 分配2个字节内存 (short)-12,(short)22 | -215 ~ 215-1 |
long | 用后缀L表示,108L(十进制)、07123L(八进制)、0x3ABCL(十六进制) | 使用关键字long声明 long width = 12L; | 分配8个字节内存 | -263 ~ 263-1 |
char | ‘A’,‘a’,‘9’,’\t’ 即用单引号括起来的Unicode表中的一个字符 | 使用关键字char声明 char ch = ‘A’ | 分配2个字节的内存 | 0~65535 |
float | 小数表示法:23.123f 指数表示法:2e40f(2*1040) 必须要有后缀f或F | 使用float关键字,float x=22.56f float存储变量时保存8位有效数字(单精度) | 分配4个字节内存 | -2^128 ~ +2^128(-3.40E+38 ~ +3.40E+38) |
double | 小数表示法:0.05,2.2345 指数表示法:1e-90(1*10-90) 后缀d或D也可以忽略 | double height = 22.343; 保留16位有效数字(双精度) | 分配8个字节内存, | -2^1024 ~ +2^1024(-1.79E+308 ~ +1.79E+308) |
boolean | true,false | 使用关键字boolean来声明逻辑变量,声明时也可以赋给初值。boolean on = true , isTriangle; |
3.1、char类型
char x = ‘a’;在内存中存储的是97,是字符a在Unicode表中的排序位置。
因此,也允许声明:char x = 97;
Java中的中char型数据一定是无符号的,而且不允许使用unsigned来修饰所声明的char型变量。
3.2、转义字符
有些字符不能通过键盘输入到字符串或程序中,这是就需要使用转义字符常量。
如:\n(换行),\b(退格),\t(水平制表),\'(单引号),\"(双引号),\\(反斜线)等
char ch1 = '\n'; char ch2 = '\"';
例子:
//查看字符在Unicode表中的顺序位置,可以使用int型类型转换
char chinaWord = '好'; char usWord = 97;
System.out.println("汉字:"+chinaWord+"的位置:"+(int)charWord);
System.out.println("数字:"+usWord+"的字母:"+(char)usWord);
四、类型转换运算
当把一种基本数据类型变量的值赋给另一个基本数据类型变量时,就涉及数据转换(不包括逻辑类型)。
按精度从低到高排列:byte short char int long float double
4.1、当把级别低的变量赋值给级别高的变量时,系统自动完成数据类型的转换。
int x = 50; float y; y = 50;
System.out.println(y); //输出50.0
4.2、当把级别高的变量赋值给级别低的变量时,必须使用类型转换运算。
格式:(类型名)要转换的值;
int x = (int)34.45;
long y=(long)34.45f;
int z = (int)12343L;
注意
当把一个int型常量赋值给一个byte,short和char型变量时,不可超出这些变量的取值范围,否则必须进行类型转换运算。
byte a = (byte) 128;
byte b = (byte) -129;