[学习笔记] Java变量和常量
变量
根据变量指代的数据类型的不同, Java中的变量分为基本类型变量和引用类型变量。变量必须先声明后使用。声明格式:
type identifier [=value];
type为数据类型,identifier为变量名。若要同时声明多个变量,使用逗号分隔。定义变量时可以给变量赋一个初始值,也可以在使用时再赋值。
变量作用范围
Java中的多行语句通过 { } 括起来,并以 { } 内作为自身的作用范围。只要 { }嵌套正确,编译器就能识别出语句块的开始和结束。
定义的变量有各自的作用域,通常是从定义开始至变量所在的语句块结束。超出作用域引用变量,编译器会报错。
根据变量定义的位置不同,又可将变量分为类变量、成员变量、局部变量。
局部变量
局部变量在方法、语句块中声明;
局部变量在方法或语句块执行时创建,当方法或语句块结束时被销毁;
局部变量没有默认值,声明后必须经过初始化才能使用;
修饰符不能用于局部变量;
成员变量
成员变量在方法和语句块之外,类的内部声明;
成员变量随着对象的创建而创建,随着对象的销毁而销毁;
根据变量定义时指定的类型,会为成员变量产生默认值。数值类型变量的默认值为0,布尔类型变量的默认值为false,引用型变量的默认值为null;
变量的值可以通过变量名直接访问,从静态方法或其他类访问成员变量时必须使用完全限定名:对象引用.成员变量名;
访问修饰符可以用于成员变量;
类变量(静态变量)
类变量属于类,不属于任何实例;
类变量也是在方法之外,类的内部定义,但需要使用static关键字修饰;
类变量存储在静态存储区,当类对应的字节码文件被加载时就会分配内存空间,程序结束时销毁;
类变量可以通过类名.类变量的方式引用;
使用var保留类型名定义变量
从Java 10开始,引入局部变量类型推断功能。可以使用保留类型名称var代替实际类型来定义局部变量,比如:var str=new StringBuilder();
在编译期间,编译器会根据赋值推断出str变量的实际类型,变量定义语句var str=new StringBuilder()实际上是StringBuilder str=new StringBuilder();
常量
在定义变量的语句中加入final修饰符,则表示定义常量;
相对于变量,常量在定义并初始化后即不能再次被赋值,否则会导致编译错误;
常量是有意义的变量,常量名通常全部大写;

浙公网安备 33010602011771号