标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含 义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句 块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。 在编程语言中,标识符就是程序员自己规定的代表一定含义的单词(java 源程序当中凡是 程序员自己有权利修改的名字),比如类名,属性名,变量名等。如以下代码所示:
public class Demo { int age; public void setAge(int a) { age = a; } }
其中,Demo 是一个类名,表示学生类;age 是一个属性名表示学生的年龄属性,setAge 是一个方法名,a 表示一个变量名。这些都是标识符。
标识符都可以标识什么?在 java 源程序当中,标识符可以用来标识:
除了标识以上之外,还可以标识其他的,这里就不再一一列举,大家主要先把以上的了解 一下。技巧:凡是自己可以起名字的地方都叫标识符。
标识符命名规则( 如果不遵守如下的规则,编译不通过!需要大家严格遵守)
标识符命名规范(如果不遵守如下的规范,编译可以通过!建议大家遵守)
被Java语言赋予了特殊含义,用做专门用途的字符串(单词)我们称之为关键字
常见的关键字有哪些呢?请看以下表格:
对于关键字不 需要去死记硬背,随着后面内容的学习,每一天的积累,不断的敲代码,慢慢的就掌握了。需要注意的是,java 中规定字符型字面量必须采用半角的单引号括起来,而字符串型字面 量必须使用半角双引号括起来。这是一个语法规定,不然编译器就报错了。
常量的分类:
/* 常量:在程序运行期间,固定不变的量。 常量的分类: 1. 字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:"abc"、"Hello"、"123" 2. 整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250 3. 浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0 4. 字符常量:凡是用单引号引起来的单个字符,就做字符常量。例如:'A'、'b'、'9'、'中' 5. 布尔常量:只有量中取值。true、false。 6. 空常量:null。代表没有任何数据。 */ public class Demo01Const { public static void main(String[] args) { // 字符串常量 System.out.println("ABC"); System.out.println(""); // 字符串两个双引号中间的内容为空 System.out.println("XYZ"); // 整数常量 System.out.println(30); System.out.println(-500); // 浮点数常量(小数) System.out.println(3.14); System.out.println(-2.5); // 字符常量 System.out.println('A'); System.out.println('6'); // System.out.println(''); // 两个单引号中间必须有且仅有一个字符,没有不行。 // System.out.println('AB'); // 两个单引号中间必须有且仅有一个字符,有两个不行。 // 布尔常量 System.out.println(true); System.out.println(false); // 空常量。空常量不能直接用来打印输出。 // System.out.println(null); } }
变量是内存当中存储数据最基本的单元,将数据(字面量)放到内存当中,给这块内存空间起一个名字,这就是变量。所以变量就是内存当中的一块空间,这块空间有名字、有类型、 有值,这也是变量必须具备的三要素。变量在内存中的抽象图形可以参考下图:
在上图当中每一个抽象的椭圆就代表一个变量,其中 a、c、pi、sex 是 4 个变量的名字(变 量名只要是合法的标识符即可),13、‟好‟、3.14、true 是 4 个变量中分别存储的数据(字面 量),int、char、double、boolean 是 4 个变量分别对应的数据类型(int、char、double、boolean 等都是 java 的关键字,声明变量时用来指定变量的数据类型)。
数据类型在任何一门编程语言当中都很重要,因为程序在运行的过程中会通过不同的数据类型给数据分配不同大小的空间。有的数据类型占用的空间较小,但有的数据类型占用的空间 就会很大。这也是符合现实的,在现实生活中有些数据较大,有些数据则较小。 变量要求“变量的数据类型”和变量中存储的“数据(字面量)”必须类型是一致的,换 句话说,冰箱是用来存放小食品的,也就是说冰箱只能存放小食品,大象不能往冰箱里放,原 因是放不下,空间不合适。例如:int 类型就只能存下 4 个字节大小的整数,再长一点儿放不 下,比如 long 类型的整数占有 8 个字节,这样的数据肯定是无法放到 int 类型的变量当中的。
所谓变量:可变化的量。它的意思是变量中存储的数据不是一成不变的,是可以被改变的, 假设变量 i 中之前存储的数据是 10,我们可以将 10 换成 100,变量就是这个意思。变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值。
变量的作用
声明变量
变量的赋值
声明和赋值变量同时进行
/* 变量:程序运行期间,内容可以发生改变的量。 创建一个变量并且使用的格式: 数据类型 变量名称; // 创建了一个变量 变量名称 = 数据值; // 赋值,将右边的数据值,赋值交给左边的变量 一步到位的格式: 数据类型 变量名称 = 数据值; // 在创建一个变量的同时,立刻放入指定的数据值 */ public class Demo02Variable { public static void main(String[] args) { // 创建一个变量 // 格式:数据类型 变量名称; int num1; // 向变量当中存入一个数据 // 格式:变量名称 = 数据值; num1 = 10; // 当打印输出变量名称的时候,显示出来的是变量的内容 System.out.println(num1); // 10 // 改变变量当中本来的数字,变成新的数字 num1 = 20; System.out.println(num1); // 20 // 使用一步到位的格式来定义变量 // 格式:数据类型 变量名称 = 数据值; int num2 = 25; System.out.println(num2); // 25 num2 = 35; System.out.println(num2); // 35 byte num3 = 30; // 注意:右侧数值的范围不能超过左侧数据类型的取值范围 System.out.println(num3); // 30 // byte num4 = 400; // 右侧数据超出了byte数据最大范围,错误! short num5 = 50; System.out.println(num5); // 50 long num6 = 3000000000L; System.out.println(num6); // 3000000000 float num7 = 2.5F; System.out.println(num7); // 2.5 double num8 = 1.2; System.out.println(num8); // 1.2 char zifu1 = 'A'; System.out.println(zifu1); // A zifu1 = '中'; System.out.println(zifu1); // 中 boolean var1 = true; System.out.println(var1); // true var1 = false; System.out.println(var1); // false // 将一个变量的数据内容,赋值交给另一个变量 // 右侧的变量名称var1已经存在,里面装的是false布尔值 // 将右侧变量里面的false值,向左交给var2变量进行存储 boolean var2 = var1; System.out.println(var2); // false } }
/* 使用变量的时候,有一些注意事项: 1. 如果创建多个变量,那么变量之间的名称不可以重复。 2. 对于float和long类型来说,字母后缀F和L不要丢掉。 3. 如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。 4. 没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用。 5. 变量使用不能超过作用域的范围。 【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。 6. 可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。 */ public class VariableNotice { public static void main(String[] args) { //变量的定义 int myAge = 12; //变量的使用 System.out.println(myAge);//12 //编译错误:使用myNumber之前并未定义过myNumber //System.out.println(myNumber); //变量的声明 int myNumber; //编译错误:使用myNumber之前并未赋值过myNumber //System.out.println(myNumber); //变量的赋值 myNumber = 1001; // myNumber = 13242353454646457; 右侧超出了int数据范围,错误! { int age = 60; System.out.println(age); // 60 } // System.out.println(age); // 已经超出了大括号的范围,超出了作用域,变量不能再使用了 //不可以在同一个作用域内定义同名的变量 //int myAge = 22; // 同时创建了三个全都是int类型的变量 int a, b, c; // 各自分别赋值 a = 10; b = 20; c = 30; System.out.println(a); // 10 System.out.println(b); // 20 System.out.println(c); // 30 // 同时创建三个int变量,并且同时各自赋值 int x = 100, y = 200, z = 300; System.out.println(x); // 100 System.out.println(y); // 200 System.out.println(z); // 300 /* int a, b, c = 400; 声明了三个 int 类型的变量,分别起名 a、b、c, 其中 c 变量赋值400,而 a 和 b 是没有赋值的 */ } }
变量按声明的位置分