关键字和标识符
Unicode字符集
Java语言使用Unicode标准字符集,该字符集由Unicode协会管理并接受其技术上的修改,它最多可以识别65536个字符。在Unicode字符集中,前128个字符刚好是ASCII码,但大部分国家的 “字母表” 中的字母不仅包括通常的拉丁字母,还包括汉字、俄文、希腊字母等。
关键字
abstract | const | finally | int | public | this |
---|---|---|---|---|---|
boolean | continue | float | interface | return | throw |
break | default | for | long | short | throws |
byte | do | goto | native | static | transient |
case | double | if | new | strictfp | try |
catch | else | implements | package | super | void |
char | extends | import | private | switch | volatile |
class | final | instanceof | protected | synchronized | while |
标识符
Java语言中的类名、对象名、方法名、常量名和变量名统称为标识符。
为了提高程序的可读性,在定义标识符时,要尽量遵循 “见其名知其意” 的原则。Java标识符的具体命名规则如下:
(1)一个标识符可以由几个单词连接而成,以表明它的意思;
(2)标识符由一个或多个字母、数字、下划线(_) 和 美元符号($) 组成,没有长度限制;
(3)标识符中的第一个字符不能为数字;
(4)标识符不能是关键字;
(5)标识符不能是true、false和null;
(6)对于类名,每个单词的首字母都要大写,其他字母则小写,如RecordInfo;
(7)对于方法名和变量名,与类名有些相似,除了第一个单词的首字母小写外,其他单词的首字母都要大写,如getRecordName()、recordName;
(8)对于常量名,每个单词的每个字母都要大写,如果由多个单词组成,通常情况下单词之间用下划线(_)分隔,如MAX_VALUE;
(9)对于包名,每个单词的每个字母都要小写,如com.frame。
Java语言区分字母的大小写。
常量与变量
常量
常量,就是值永远不允许被改变的量。如果要声明一个常量,就必须用关键字 final 修饰,声明常量的具体方式如下:
final 常量类型 常量标识符;
final 常量类型 常量标识符 = 常量值;
final int A,B,C;
final int YOUTH_AGE = 18;
final float PIE = 3.14F;
final int D = 4, E = 5, F = 6;
在定义常量标识符时,按照Java的命名规则,所有的字符都要大写,如果常量标识符由多个单词组成,则在各个单词之间用下划线(_)分隔,如 “YOUTH_AGE” 、“PIE”。
变量
变量,就是值可以被改变的量。如果要声明一个变量,并不需要使用任何关键字进行修饰,声明变量的具体方式如下:
变量类型 变量标识符;
变量类型 变量标识符 = 变量值;
String name;
int partyMemberAge;
int A,B,C;
int D = 4, E = 5, F = 6;
在定义变量标识符时,按照Java的命名规则,第一个单词的首字母小写,其他单词的首字母大写,其他字母则一律小写,如 “name” “partyMemberAge”。
数据类型
基本数据类型
整数型
- 字节型(byte)
关键字 byte
占用内存字节数 1个字节
取值范围 -128 ~ 127
- 短整型(short)
关键字 short
占用内存字节数 2个字节
取值范围 -32768 ~ 32767
- 整型(int)
关键字 int
占用内存字节数 4个字节
取值范围 -2147483648 ~ 2147483647
- 长整型(long)
关键字 long
占用内存字节数 8个字节
取值范围 -9223372036854775808 ~ 9223372036854775807
在为long型常量或变量赋值时,需要在所赋值的后面加上一个字母 “L”(或 “l”),说明所赋的值为long型。如果所赋的值未超过int型的取值范围,也可以省略字母 “L”(或 “l”)。
浮点型
- 单精度型(float)
关键字 float
占用内存字节数 4个字节
取值范围 1.4E-45 ~ 3.4028235E38
在为 float 型常量或变量赋值时,需要在所赋值的后面加上一个字母 “F”(或 “f”),说明所赋的值为 float 型。如果所赋的值为整数,并且未超过 int 型的取值范围,也可以省略字母 “F”(或 “f”)。
- 双精度型(double)
关键字 double
占用内存字节数 8个字节
取值范围 4.9E-324 ~ 1.7976931348623157E308
字符型(char)
关键字 char
占用内存字节数 2个字节
在为char型常量或变量赋值时,无论所赋的值为字母、符号还是汉字,都只能为一个字符。
逻辑性(boolean)
声明为逻辑型的常量或变量用来存储逻辑值,逻辑值只有 true 和 false,分别用来代表逻辑判断中的 “真” 和 “假”,逻辑性利用关键字 “boolean" 进行声明。
引用数据类型
数组
- 创建数组
创建数组,实质上就是在内存中为数组分配相应的存储空间。
创建一维数组:
int[] months = new int[12];
创建二维数组:
int[][] days = new int[2][3];
- 初始化数组
在声明数组的同时,也可以给数组元素一个初始值。一维数组初始化的代码如下:
int boy [] = {2,45,36,7,69};
上述语句等价于
int boy [] = new int [5];
二维数组初始化的代码如下:
boolean holidays[][] = {{true,false,true},{false,true,false}};
- 数组长度
int [] months = new int [12];
Boolean [] members = {false,true,true,false};
int[][] days = new int[2][3];
boolean holidays[][] = {{true,false,true},{false,true,false}};
System.out.println(months.length); //输出值为 12
System.out.println(members.length); //输出值为 4
System.out.println(days.length); //输出值为 2
System.out.println(holidays[0].length);//输出值为 3
boolean holidays[][] = {
{ true,false,true},
{ false,true},
{ true,false,true,false}};
System.out.println(holidays[0].length); //输出值为 3
System.out.println(holidays[1].length); //输出值为 2
System.out.println(holidays[2].length); //输出值为 4
- 使用数组元素
System.out.println(months[2]);
System.out.println(members[2]);
System.out.println(days[1][2]);
System.out.println(holidays[1][2]);
类
对象
接口
数据类型之间的相互转换
自动类型转换
byte -> short -> char -> int -> long -> float -> double
低 -------------------------------------------> 高
取值范围
强制类型转换
int i = (int)7.5; //输出值为 7