Skip to content
生如风生如风
主页
github icon
  • 成员变量和局部变量
    • 成员变量
      • 局部变量
        • 测试

        Java—成员变量和局部变量

        author icon生如风calendar icon2022年1月21日category icon
        • Java
        tag icon
        • Java
        timer icon大约 2 分钟

        此页内容
        • 成员变量和局部变量
          • 成员变量
          • 局部变量
          • 测试

        [TOC]

        记录下java的一些基础知识。。。

        # 基础知识

        # 成员变量和局部变量

        # 成员变量

        • 定义在类中,方法体外

        • 定义后,可以不初始化,有默认值,但是final修饰的变量要在对象创建前赋值

        # 局部变量

        • 定义在方法体内,如构造方法,语句块中的变量

        • 定义后,必须初始化才能使用,否则不能使用,使用则编译不通过

        # 测试

        public class Test {
            // 定义包装类成员变量
            private Integer i;
            // 定义基本数据类型变量
            private int i1;
            private float f;
            private double d;
            private char c;
            private String s;
            // 定义静态成员变量
            private static String s1;
            // 定义final修饰的成员变量
            private final String s2;
        
            public Test(String s2) {
                this.s2 = s2;
            }
        
            public void test() {
                System.out.println("Integer = " + i);
                System.out.println("--------------");
                System.out.println("int = " + i1);
                System.out.println("float = " + f);
                System.out.println("double = " + d);
                System.out.println("char = " + c);
                System.out.println("string = " + s);
                System.out.println("static string = " + s1);
                System.out.println("final string = " + s2);
            }
        
        }
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31

        运行:

        class Test2 {
            public static void main(String[] args) {
                int i;
                String s;
                Test test = new Test("ABCD");
                test.test();
                System.out.println("----------------");
                System.out.println("初始化前i = " + i);
                System.out.println("初始化前s = " + s);
                i = 100000;
                s = "ABCD";
                System.out.println("初始化后i = " + i);
                System.out.println("初始化后s = " + s);
            }
        }
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15

        该测试将会报错,因为方法main中的局部变量没有初始化,打印的i和s将提示:

        Error:(47, 41) java: 可能尚未初始化变量i

        运行:

        class Test2 {
            public static void main(String[] args) {
                int i;
                String s;
                Test test = new Test("ABCD");
                test.test();
                System.out.println("----------------");
                i = 100000;
                s = "ABCD";
                System.out.println("i = " + i);
                System.out.println("s = " + s);
            }
        }
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        Integer = null
        --------------
        int = 0
        float = 0.0
        double = 0.0
        char =  
        string = null
        static string = null
        final string = ABCD
        ----------------
        i = 100000
        s = ABCD
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        • 因为包装类是一个个对象,对应的成员变量会默认为null

        • 基本数据类型也会有默认的初识值,int为0,double为0.0,string为null等,需要注意的是char的初始值为空字符(一个空格)

        可以看看我的学习——基于Hexo的个人博客: 网站:http://www.fuzm.wangopen in new window ————————————————————————— 作为初学者,很多知识都没有掌握,见谅,如有错误请指出,以期进步,感谢!。后续有新的学习,继续补充上来。

        默认页脚
        Copyright © 2026 生如风