在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value][, identifier [= value] …] ;
格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。
以下列出了一些变量的声明实例。 int a, b, c; // 声明三个int型整数:a、 b、c int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值 byte z = 22; // 声明并初始化 z String s = “runoob”; // 声明并初始化字符串 s double pi = 3.14159; // 声明了双精度浮点型变量 pi char x = ‘x’; // 声明变量 x 的值是字符 ‘x’。
局部变量声明在方法、构造方法或者语句块中
局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
访问修饰符不能用于局部变量;
局部变量只在声明它的方法、构造方法或者语句块中使用;
局部变量是在栈内存中分配的。
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
局部变量实例: 实例中age是一个局部变量。定义在pupAge()方法中,它的作用域就在这个方法中。
public class Test{ public void pupAge(){ int age = 5; System.out.println("小狗的年龄是: " + age); } public static void main(String[] args){ Test test = new Test(); test.pupAge(); } }实例变量声明在一个类中,但在方法、构造方法和语句块之外; 实例变量在对象创建的时候创建,在对象被销毁的时候销毁; 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息; 实例变量可以声明在使用前或者使用后; 访问修饰符可以修饰实例变量; 实例变量对于类中的方法、构造方法或者语句块是可见的。 一般情况下应该把实例变量设为私有。 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。 变量的值可以在声明时指定,也可以在构造方法中指定,也可以通过方法进行初始 实例变量可以直接通过变量名访问。
类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。 静态变量储存在静态存储区。 静态变量在第一次被访问时创建,在程序结束时销毁。 与实例变量具有相似的可见性。 但为了对类的使用者可见,大多数静态变量声明为public类型。 默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。 此外,静态变量还可以在静态语句块中初始化。 静态变量可以通过:ClassName.VariableName的方式访问。
使用final修饰的类变量则可以称之为常量 常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。 类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。 如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。
// Java中变量的命名规则: // 1,只能使用字母,$,_开头 // 2,首字母之后,可以使用字母,$,_,数字的任意组合 // 3,如果变量名称由多个单词组成,那么第一单词的首字母小写,其他单词的首字母大写 // 4,变量名称不可以使用java中的关键字(在IDEA中变橙色的就是关键字) // 5,变量名称不可以相同 // 6,变量名称的长度,理论上来讲是不限制长度,但是建议命名能达到见明思意的效果 // 7,局部变量只能申明在方法中 // 8,全局变量申明在类里面,方法之外 // 9,访问修饰符不能用于局部变量 // 10,局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用 public class Lesson { // 声明变量:全局变量包含:实例变量,类变量 // 实例变量 private double pi = 3.1415926; // 类变量(静态变量) // 使用static修饰的全局变量称之为类变量 public static float height = 1.8f; // 申明一个全局变量,不赋值,那么该变量根据变量的类型来确定默认值 public static boolean flag; // 常量 使用final修饰的全局变量则可以称之为常量 // 常量 就是在申明后,它的值是不可以改变的 // 所以在申明常量的时候必须初始常量的值。 // 建议常量的命名使用全大写字母,如果有多个单词则使用下划线_隔开 final int AGE = 30; // 不规范的常量申明 // 规范的常量申明格式: public final static int PERSON_AGE = 40; // 定义了一个demo实例方法 public void demo() { // 在实例方法中可以直接是实例变量 // 实例变量在实例方法中可以使用(this.实例变量名称) 的形式来进行访问 System.out.println(this.pi * radius); // 在实例方法中可以直接使用类变量 // 类变量可以直接使用 (类名.类变量名称) 的形式来进行访问 System.out.println(Lesson4.height * Lesson4.width); } // 实例变量 private double radius = 10; // 类变量(静态变量) // 使用static修饰的全局变量称之为类变量 public static float width = 1.8f; // 创建main方法的快捷方式:psvm // 使用了static修饰的方法叫静态方法,也可以叫类方法 // 在静态方法(类方法)中不可以直接使用实例变量 public static void main(String[] args) { // 声明变量:局部变量 // 1,声明了一个int类型的变量 // 2,定义变量的名称位number // 3,=为变量赋值 int number = 13; System.out.println("Java中的局部变量number:" + number); // 同时申明3个相同类型的变量 int number1, number2, number3; // 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用 // System.out.println(number1); // 同时申明3个相同类型的变量并赋值 byte byte1 = 1, byte2 = 2, byte3 = 3; System.out.println(byte1); // 在静态方法(类方法)中不可以直接使用实例变量 // 如果要使用那么必须通过创建类对象,然后通过类的对象来访问使用 // System.out.println(pi * radius); 错误,不可以直接访问 Lesson4 lesson4 = new Lesson4(); System.out.println(lesson4.pi * lesson4.radius); // 在类方法中可以直接使用类变量 System.out.println(height * width); // 全局变量有默认值的,不赋值可以直接使用 System.out.println(flag); } // 定义了一个静态语句块 static { System.out.println("========================="); // 在类方法中可以直接使用类变量 System.out.println(height * width); // 静态块中也不能直接访问实例变量 // System.out.println(pi * radius); } }