Java的变量和常量

一、什么是变量?

变量就是用来存储数据的容器,内存中的一块空间,存储一些经常发生改变的量。

1.1 变量定义的语法

  1. 变量声明式赋初值
    语法:数据类型 变量名 = 值;
    int num = 1;
    
  2. 先声明变量,然后赋值
    语法:数据类型 变量名;
       变量名=值;
    int num;
    num = 1;
    

1.2 变量的命名规则

  1. 变量名由字母、数字、下划线和美元符组成,不能以数字开头。
  2. Java中的某些词(比如 int和float等)称为关键字,具有特殊意义,不能作为变量名。
  3. Java语言严格区分大小写,因此变量price和PRICE是两个不同的变量

1.3 变量的作用域

  1. 类变量(静态变量)

    • 声明在类体中,使用static关键字修饰。
    • 可以通过类名直接访问,也可以通过类的对象访问。
    • 作用域是整个类。
    public class MyClass {
        static int num=1;//类变量
        public static void main(String[] args) {
            int number=MyClass.num+1;
            System.out.println(number);//输出2
            System.out.println(num);//输出1
    	}
    }
    
  2. 实例变量(成员变量)

    • 声明在类体中,没有使用static关键字修饰。
    • 可以通过对象来访问和修改实例变量的值。
    • 作用域是类的实例。
    public class MyClass {
        int num=1;
        public static void main(String[] args) {
            MyClass MyObject = new  MyClass();
            System.out.println(MyObject.num);//输出1
        }
    }
    
  3. 局部变量

    • 声明在方法体、构造器、初始化块或任何控制结构(如if语句、for循环等)中。
    • 局部变量在使用前必须背初始化,否则编译器会报错。
    • 作用域是从声明位置开始到包含它们最内层代码块结束为止。
    	public class MyClass  {
        public void MyMethod(){
            int num = 1;//局部变量
            System.out.println(1);
        }
        // num 在这里不可见 
    }
    

二、什么是常量?

常量就是固定不变的值,是不能改变的数据。

2.1 常量定义的语法

  • 使用final关键字修饰
    语法:final 数据类型 变量名 = 值;
    final int num = 1;
    

2.2 常量的作用域

  1. 类常量(静态常量)

    • 声明在类体中,使用static关键字修饰。
    • 可以通过类名直接访问,也可以通过类的对象访问。
    • 作用域是整个类。
    public class MyClass {
        static final int num=1;//类变量
        public static void main(String[] args) {
            MyClass.num=num+1;//无法为最终变量num赋值
            System.out.println(num);
    	}
    }
    
  2. 成员常量

    • 声明在类体中,没有使用static关键字修饰。
    • 可以通过对象来访问和修改实例变量的值。
    • 作用域是类的实例。
    public class MyClass {
        final int num=1;
        public static void main(String[] args) {
            MyClass MyObject = new  MyClass();
            System.out.println(MyObject.num);//输出1
        }
    }
    
  3. 局部常量

    • 声明在方法体、构造器、初始化块或任何控制结构(如if语句、for循环等)中。
    • 局部变量在使用前必须背初始化,否则编译器会报错。
    • 作用域是从声明位置开始到包含它们最内层代码块结束为止。
    	public class MyClass  {
        public void MyMethod(){
            final int num = 1;//局部变量
            System.out.println(1);
        }
        // num 在这里不可见 
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值