Java数据类型和运算之变量分类

整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量。

局部变量(local variable)

方法或语句块内部定义的变量,方法内部定义好变量后就是局部变量,生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。

javapackage com.Ponfey;
/**
 * @author :xiaoshuai.zhu
 * @date:2020/9/18 14:07
 */
public class Study {
    public static void main(String[] args){ //main是主函数,从这里开始执行
        int age; //声明一个变量,但是没有给这个age赋值
        age = 23; //给age赋值
        int salary = 3000; //放到一起也没有问题
        int zhuxs = 23;
        System.out.println(zhuxs);
    }
}

运行实例中 int age 定义age就是一个局部变量,这个变量只能在main方法中使用,如果是在语句块里定义的,仅限于{}中有效,在{}外面是使用不了的:

package com.Ponfey;
/**
 * @author :xiaoshuai.zhu
 * @date:2020/9/18 14:07
 */
public class Study {
    public static void main(String[] args){ //main是主函数,从这里开始执行
        {
            int age; //声明一个变量,但是没有给这个age赋值
        }    

For Example_01:

public void test() {
   int i;
   int j = i+5 ; // 编译出错,变量i只声明没有被初始化
} 

public void test() {
   int i;
   i=10;
   int j = i+5 ; // 编译正确
}

成员变量(也叫实例变量 member variable)

方法外部、类的内部定义的变量,精确来讲,没有被static来修饰,从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值,也就是说对象的成员变量。

public class Study {

    int a; //成员变量,成员变量和局部变量关于初始化有个区别:成员变量会自行初始化,没赋值会进行自己赋值(按规则),默认赋予0,当然也可以手动赋值 int a=23

静态变量(类变量 static variable)

使用static定义,从属于类,生命周期伴随类始终,类在它就在,类不在它也就不在,从类加载到卸载,如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值。

public class Study {

    static int size; //静态变量,从属于类
上一篇
下一篇