1、标识符 (Identifer)
作用:用来给变量、类、方法、以及包进行命名的。
标识符的命名规则:
- 只能由数字、字母、下划线_、美元符号$、中文字符组成。
- 首字母不能是数字。
- 大小写敏感的。max与Max是不同的。
- 不能使用Java的关键字。break、case、char、for、if、void、int、long、class等。
标识符的使用规范:
- 表示类名的标识符:每个单词的首字母大写,如Student,GoodStudent。
- 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之"驼峰原则",如play(), playGame()。
【示例 1-1】合法的标识符
int a = 123;
int _123 = 123;
int $12aa = 123;
int 变量1 = 55; //合法,但是不建议使用中文命名的标识符
【示例 1-2】不合法的标识符
int 1a = 123; //不能用数字开头
int a# = 123; //不能包含#这样的特殊字符
int int = 123; //不能使用关键字
2、关键字
Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的,我们不能使用关键字作为变量名或方法名。
3、变量 (variable)
变量本质上就是代表一个 "可操作的存储空间" ,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问 "对应的存储空间" ,从而操纵这个 "存储空间" 存储的值。
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。
变量的声明:
变量类型 变量名 = 变量值;
【示例 3-1】 声明变量
double salary;
long earthPopulation;
int age;
不同数据类型的变量会在内存中分配不同的空间。
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
【示例 3-2 】一行中声明多个变量
int i,j; //两个变量的数据类型都是int
【示例 3-3】可以将声明变量和初始化放到一行中
int age = 18;
String name = "白豆五";
变量的分类:
从整体上可将变量划分为局部变量、成员变量和静态变量。
局部变量 (local variable):
方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。
【示例 3-4】 局部变量
public void test(){
int i;
int j = i + 5; //编译出错,变量i未被初始化
}
public void test(){
int i;
i=10;
int j = i + 5; //编译通过
成员变量(也叫实例变量 member variable)
方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。
【示例 3-4】 成员变量的声明
public class Student{
String name;
int age;
}
静态变量(类变量 static variable)
使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值。
【示例 3-5】 静态变量的声明
public class Student{
static String name;
static int age;
}
4、常量 (Constant)
常量通常指的是一个固定的值,例如:1、2、3、‘男‘、‘a‘、true、false、"白豆五"等。
在Java语言中,主要是利用关键字final
来定义一个常量。 常量一旦被初始化后不能再更改其值。
声明格式为:
final type varName = value;
【示例 4-1】常量的声明及使用
public class TestConstants {
public static void main(String[] args) {
final double PI = 3.14;
double r = 10;
double 周长 = 2 * PI * r;
double 面积 = PI * r * r;
System.out.println("圆的半径为:" + r + "\t周长为:" + 周长 + "\t面积为:" + 面积);
}
}
为了更好的区分和表述,一般将1、2、3、‘男‘、‘a‘、true、false、"白豆五"等称为字面常量,而使用final修饰的PI等称为符号常量,常量由大写字母和下换线组成 如 MAX_VALUE。
5、基本数据类型 (primitive data type)
Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type) 和引用数据类型(reference data type)。
Java中定义了3类8种基本数据类型
- 数值型: byte 、short 、int 、 long 、float 、double
- 字符型:char
- 布尔型: boolean
注:引用类型的大小统一为4个字节,记录的是其引用对象的地址!