在Java语言中所有变量使用前必须声明
type identifier [ = value][, identifier [= value] ...] ; 这是声明变量的基本格式
type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量
Java语言支持的变量类型有:
局部变量 实例变量 类变量
演示:
public class Variable{
static int allClicks=0; // 类变量
String str="hello world"; // 实例变量
public void method(){
int i =0; // 局部变量
}
}
Java的局部变量
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,有一定的生命周期,当它们执行完成后,变量将会被销毁;
main方法里面age会报红的原因就是它的生命周期在pupAge里面 超出这个范围就消失了 所以重新定义一main的方法就无法使用它了
pupAge方法里面的age标出红色波浪线的原因是因为没有初始化age的值 必须经过初始化才能使用
public class Test{
public void pupAge(){
int age=0 ;//这样给它一个值就代表初始化了
age = age + 20;
System.out.println("XX的年龄是: " + age);
}
}
实例变量:
实例变量从属于类对象 在类里面方法外面
public class Demo2 {
String name;//这就是实例变量 从属于对象 不用初始化也可以用
int ages;
public static void main(String[] args) {
int age=0;
age=age+20;
System.out.println(age);
}
}
如何取用呢
public class Demo2 {
String name;
int ages;
public static void main(String[] args) {
int age=0;
age=age+20;
System.out.println(age);
Demo2 demo02=new Demo2();//规则 变量名+变量类型=new Demo2();
System.out.println(demo02.name);//可以直接使用
}
}
虽然不用初始化也能用 但不初始化输出就自动为默认值 字符型默认值就是null所以输出name就是null
类变量:
类变量就有意思了 它独立于方法之外的变量,用 static 修饰 用起来比实例变量方便许多
示例
public class Demo2 {
static int age=20;//用static修饰
static int ages=21;
public static void main(String[] args) {
/*--------------------------------------------------------*/
System.out.println(age);//类变量可以直接使用
}
}
这样就比较方便了