1、变量
定义变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及
它能存放什么样的数据
int numbers;
double ages;
char name = 's';
变量命名规则
- 变量必须以字母,下画线“”或“$”符号开头
- 变量可以包括数字,但不能以数字开头
- 除了“”或“S”符号以外,变量名不能包含任何特殊字符
- 不能使用Java语言的关键字,比如int、 class public等
变量的访问
-
未经申明的变量不可用
-
变量初始化后才可以使用
-
在声明的作用域内使用变量
-
一条语句中可以声明多个同类型的变量
-
可以对变量中的值进行存取操作
-
变量的操作必须与类型匹配
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、成员变量
在类中所定义的变量为成员变量,可分为静态变量(前加关键字static)和实例变量
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、局部变量和成员变量区别
-
成员变量在类中方法外;局部变量在方法定义中或者方法声明上
-
成员变量在内存中的位置为在堆中;局部变量在栈中
-
成员变量生命周期随着对象的创建而存在,随着对象的消失而消失;局部变量随着方法的调用而存在,随着方法的调用完毕而消失
-
成员变量初始化值有默认的值;局部变量则没有默认值,必须定义,赋值,然后才能使用
-
成员变量所属于对象。所以也称为实例变量;静态变量所属于类。所以也称为类变量。
-
成员变量存在于堆内存中;静态变量存在于方法区中。
-
成员变量随着对象创建而存在。随着对象被回收而消失;静态变量随着类的加载而存在。随着类的消失而消失。
-
成员变量只能被对象所调用 ;静态变量可以被对象调用,也可以被类名调用。
-
成员变量可以称为对象的特有数据;静态变量称为对象的共享数据。