1、变量   



    定义变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及 它能存放什么样的数据



int numbers;
    double ages;
    char name = 's';

变量命名规则



  1. 变量必须以字母,下画线“”或“$”符号开头
  2. 变量可以包括数字,但不能以数字开头
  3. 除了“”或“S”符号以外,变量名不能包含任何特殊字符
  4. 不能使用Java语言的关键字,比如int、 class public等     

变量的访问



  1. 未经申明的变量不可用
  2. 变量初始化后才可以使用
  3. 在声明的作用域内使用变量
  4. 一条语句中可以声明多个同类型的变量
  5. 可以对变量中的值进行存取操作
  6. 变量的操作必须与类型匹配

2、常量



“final变量”,常量在整个程序中只能被赋值一次。



声明常量的标准语法如下:



final 数据类型 常量名称[=值]

常量名不必使用大写字母,且使用大写字母表示常量是更清楚地表明正在使用常量。



声明常量 实例代码如下:



final double PI = 3.1415926D;   //声明double型常量PI并赋值
final boolean BOOL = true;      //声明boolean型变量BOOL并赋值

3、实例变量



就是我们正常定义的变量,比如int a; a就是实例变量



类的对象就是变量,对像是类的实例,所以变量就是常量的实例 但也不能反过来说常量的实例就是变量 比如: public static final int i=10; 否则这就是变量了,final关键字无意义



4、成员变量



class Class1 {
int a = 1; //实例变量
static int b =2; //静态变量
}

5、局部变量



在类的方法体中定义的变量(方法内部定义,“{”与“}”之间的代码中声明的变量),局部变量只在当前代码块中有效



局部变量可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。



class Class1 {
int a = 1;
public static void main(String[] args) {
int a = 1;
System.out.println("a1的值为"+a);
}
}

6、局部变量和成员变量区别



  1. 成员变量在类中方法外;局部变量在方法定义中或者方法声明上
  2. 成员变量在内存中的位置为在堆中;局部变量在栈中
  3. 成员变量生命周期随着对象的创建而存在,随着对象的消失而消失;局部变量随着方法的调用而存在,随着方法的调用完毕而消失
  4. 成员变量初始化值有默认的值;局部变量则没有默认值,必须定义,赋值,然后才能使用
  5. 成员变量所属于对象。所以也称为实例变量;静态变量所属于类。所以也称为类变量。
  6. 成员变量存在于堆内存中;静态变量存在于方法区中。
  7. 成员变量随着对象创建而存在。随着对象被回收而消失;静态变量随着类的加载而存在。随着类的消失而消失。
  8. 成员变量只能被对象所调用 ;静态变量可以被对象调用,也可以被类名调用。
  9. 成员变量可以称为对象的特有数据;静态变量称为对象的共享数据。