变量

概念:

  • 变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。
    为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。
    由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下:
    数据类型 变量名称;
    例如:int x;
    在该语法格式中,数据类型可以是Java语言中任意的类型,包括基本数据类型和复合数据类型。变量名称是该变量的标识符,需要符合标识符的命名规则,在实际使用中,该名称一般和变量的用途对应,这样便于程序的阅读。数据类型和变量名称之间使用空格进行间隔,空格的个数不限,但是至少需要1个。语句使用“;”作为结束。
    也可以在声明变量的同时,设定该变量的值,语法格式如下:
    数据类型 变量名称 = 值;
    例如:int x = 10;
    在该语法格式中,前面的语法和上面介绍的内容一致,后续的“=”代表赋值,其中的“值”代表具体的数据,注意区别“==”代表为判断是否相等。在该语法格式中,要求值的类型需要和声明变量的数据类型一致。
    在程序中,变量的值代表程序的状态,在程序中可以通过变量名称来引用变量中存储的值,也可以为变量重新赋值。例如:
    int n = 5;
    n = 10;
    在实际开发过程中,需要声明什么类型的变量,需要声明多少个变量,需要为变量赋什么数值,都根据程序逻辑决定,这里列举的只是表达的格式而已。

类型

  • 局部变量:

    局部变量声明在方法、构造方法或者与语句块中;在方法、构造方法或者语句块中被执行的时候创建,当它们执行完成后,

    变量将被销毁;访问修饰符不能用于局部变量;只在声明它的方法、构造函数或者语句块中可见;局部变量是在栈上分配的;

    局部变量没有默认值,所以被声明后,必须经过初始化,才可以使用。

    public class java {
    
        public static void main(String[] args) {
            int i = 10;
            System.out.println(i);
        }
    }
    
  • 实例变量(成员变量)

    1. 实例变量声明在一个类中,但在方法、构造方法和语句块之外。
    2. 当一个对象被实例化之后,每个实例变量的值就跟着确定。
    3. 访问修饰符可以修饰实例变量。
    public class java {
        int i;
        public static void main(String[] args) {
            java15 java15 = new java15();
            System.out.println(java15.i);
        }
    }
    
  • 类变量(静态变量)

    类变量也称为静态变量,在类中以static关键字声明,但必须在方法、构造方法和语句块之外。无论一个类创建了多少个对象,类只拥有类变量的一份拷贝,类变量是类的资源。

    public class java15 {
        static int i;
        public static void main(String[] args) {
    
            System.out.println(java15.i);
        }
    }
    

常量

  • 常量代表程序运行过程中不能改变的值。
    常量在程序运行过程中主要有2个作用:
    1. 代表常数,便于程序的修改(例如:圆周率的值)
    2. 增强程序的可读性(例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4)
    常量的语法格式和变量类型:只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。
    则常量的语法格式如下:
    final 数据类型 常量名称 = 值;
    final 数据类型 常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;
    例如:
    final double PI = 3.14;
    final char MALE=‘M’,FEMALE=‘F’;
    在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,示例代码如下:
    final int UP;
    UP = 1;

常量与变量的区别

常量是一种特殊的变量,它的值被设定后,在程序中不被允许改变。

Q.E.D.