常量
在程序的整个运行过程中保持不变的量(常量一旦初始化就不可以被修改)
对于基本数据类型:常量的数值从始至终保持不变
对于引用数据类型:常量的地址从始至终保持不变,但数值允许发生变化
常量分类
1. 字符串常量:"123"、"abc"、"中国"、""
2. 字符常量:'a'、'1'、' '
3. 整型常量:123、-1、13、0
4. 浮点型常量:12.00、-1.3、0.0
5. 布尔常量:true.false
6. 空值常量:null
注意细节:字符常量与字符串常量的区别
字符常量:必须在单引号中存放一个字符(空格也算一个字符)
字符串常量:在双引号中存放字符的数量大于等于0(不存放字符也合法)
常量应用
常量定义注意事项
1. 常量名以大写字符定义
2. 必须要初始化
final int NUM = 100;
final String NAME = "张山";
普通变量
1. 数据类型可以是8种基本数据类型,也可以是引用数据类型(String是引用数据类型)
2. 声明变量名的规则
a. 由字母、数字、_、$ 组成
b. 不能以数字作为标识符的首字母
代码演示:访问普通变量
public class Demo {
public static void main(String[] args) {
int num1;
int num2 = 20;
// System.out.println("访问num1变量:" + num1);
// 编译报错原因:对于普通变量未初始化,无法访问
// 解决方案:对num1变量先赋值再访问即可
System.out.println("访问num2变量:" + num2);
}
}
成员变量
成员变量由全局变量和静态变量组成
全局变量的生命周期:当类创建对象时,就是全局变量的开始;当对象释放空间时,就是全局变量的结束
静态变量的生命周期:当类被加载时,就是静态变量的开始;当类被垃圾回收机制回收时,就是静态变量的结束
代码演示:访问全局变量和静态变量
对于成员变量的知识点在Java进阶篇“类与对象的应用”有详细解析与代码演示
public class Demo {
int num1 = 20; // 全局变量
static int num2 = 50; // 静态变量
public static void main(String[] args) {
Demo demo = new Demo();
System.out.println(demo.num1);
// num1是全局(非静态)变量不能直接访问,只能通过创建对象访问全局变量
System.out.println(num2); // 1.静态变量访问之 直接访问
System.out.println(Demo.num2); // 2.静态变量访问之 类名.静态变量名
System.out.println(demo.num2); // 3.静态变量访问之 对象名.静态变量名
// 前两种访问方式,类被加载即可访问;第三种访问方式,通过创建对象访问静态变量
}
}
局部变量
局部变量的三种形式和作用域
1. 定义在方法的参数列表中,其作用在该方法内部
2. 定义在方法的内部,其作用是从被定义的代码行开始,直到该方法的最后一行结束
3. 定义在代码块({})中的变量,其作用是从被定义的代码行开始,直到该代码块的最后一行结束
代码演示:访问局部变量
public class Demo {
public static void main(String[] args) {
// 第一种:定义在method1方法的参数列表中,其作用在该方法内部
int num = 10;
method1(num);
// 第二种:定义在method2方法的内部,其作用是从被定义的代码行开始,直到该方法的最后一行结束
method2();
// 第三种:定义在代码块({})中的变量,其作用是从被定义的代码行开始,直到该代码块的最后一行结束
Demo demo1 = new Demo();
Demo demo2 = new Demo();
Demo demo3 = new Demo();
// 代码块属于对象!每创建一个对象,代码块执行一次。对象的个数与代码块执行的次数有关
}
public static void method1(int num) {
System.out.println("方法1中的形参:" + num);
}
private static void method2() {
int num = 20; // method2中num的生命周期从此刻开始
System.out.println("方法2中的局部变量:" + num);
}
{
int num = 30;
System.out.println("Demo类中的代码块的局部变量:" + num);
}
}
常见ACSII码
ACSII码大小
0为48
A为65
a为97