关于java语言当中的变量
- 什么是变量
- 变量本质上来说是内存中的一块空间,这块空间“有数据类型”,“有名字”、“有字面值”
- 变量包含三部分,数据类型、名称、字面值[数据]
- 变量是内存中存储数据的最基本的单元
- 数据类型的作用
- 不同的数据有不同的类型,不同的数据类型底层会分配不同大小的空间
- 数据类型是指导程序在运行阶段应该分配多大的内存空间
- 变量要求:变量中存储的具体的“数据”必须和变量的“数据类型”一致。当不一致的时候,编译会报错。
- 声明/定义变量的语法格式
- 数据类型 变量名
- 数据类型:
- 变量名
- 只要是合法的标识符即可,规范中要求,首字母小写,后面每个单词首字母大写
- eg:
- int i
- int age
- int length
- 其中int是数据类型, 空格后都是变量名
- 数据类型 变量名
- 变量声明后如何赋值
- 语法格式:
- 变量名=字面值
- 要求:字面值的数据类型必须和变量的数据类型一致
- =等号是一个运算符,叫做赋值运算符,赋值运算符先运算等号右边的表达式,表达式执行结束后的结果赋值给左边的变量。
- 语法格式:
- 声明和赋值可以放到一起完成
- int i=10
- 变量赋值之后,可以重新赋值,变量的值可变化
int i=10
System.out.println(i);
i=3;
System.out.println(i);
i=454;
System.out.println(i);
-
有了变量的概念后,内存空间得到了重复的使用
-
通常访问一个变量包括2种访问形式
- 第一种:读取变量中保存的具体数据:get/获取
- 第二种:修改变量中保存的具体数据:set/设置
- i=454; //set
- System.out.println(i); // get
-
变量在一行上可以定义多个
- int a,b,c;
- int a,b,c=300;
- 其中a,b尚未初始化,c赋值300
-
java中的变量必须先声明,再赋值,才能访问
- int i ;程序执行到这里,内存空间并没有开辟出来,变量i并没有初始化。所以没有赋值之前是无法访问的。
赋值,完成初始化,内存才开辟。
- int i ;程序执行到这里,内存空间并没有开辟出来,变量i并没有初始化。所以没有赋值之前是无法访问的。
-
在方法体当中的java代码,是遵守自上而下的顺序依次执行的,逐行执行
- eg
- first line;
- second line;
- third line;
- 特点:
- 第二行的代码必须完整的结束之后,第三行程序才能执行
- eg
-
在同一个作用域当中,变量名不能重名,但是变量名可以重新赋值。错误变量的写法
- eg
int i=1200; i=1231; int i =234;
-
变量的作用域
- 什么是作用域
- 变量的作用域,其实描述的就是变量的有效范围
- 在什么范围之内是可以被访问的,只要出了这个范围该变量就无法访问了。
- 变量的作用域,其实描述的就是变量的有效范围
- 变量作用域只要记住一句话
- 出了大括号就不认识了。
- 在不同的作用域当中,变量名是可以相同的。
- 在同一作用域当中,变量名不能重名。
- 什么是作用域
-
例子
public class Variable {
public static void main(String[] args){
for(int a=0;a<10;a++){
//a 变量的作用域是整个for循环,for循环结束之后,a变量的内存就释放了
}
}
// 这里无法返回a变量
System.out.println(a);
}
- 变量的分类
- 根据变量声明的位置来分类
- 局部变量
- 在方法体当中声明的变量叫做局部变量
- 成员变量
- 在方法体外[类体之内]声明的变量叫做成员变量
- 局部变量
- 根据变量声明的位置来分类
- 类体中不能直接编写java语句[除声明变量之外]
- java遵循就近原则