作用:用来给变量、类、方法、以及包进行命名的。
标识符的命名规则:
标识符的使用规范:
【示例 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; //不能使用关键字
Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的,我们不能使用关键字作为变量名或方法名。
变量本质上就是代表一个 "可操作的存储空间" ,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问 "对应的存储空间" ,从而操纵这个 "存储空间" 存储的值。
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; }
常量通常指的是一个固定的值,例如: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。
Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type) 和引用数据类型(reference data type)。
Java中定义了3类8种基本数据类型
注:引用类型的大小统一为4个字节,记录的是其引用对象的地址!