关于java语言当中的变量
- 什么是变量?
变量本质上说是内存中的一块空间,这块空间“有数据类型”、有名字、有字面值
变量包含三部分:数据类型、名称、字面值【数据】
变量是内存中存储数据的最基本的单元
- 数据类型的作用
不同的数据有不同的类型,不同的数据类型底层会分配不同大小的空间。
数据类型是指导程序在运行阶段应该分配多大的内存空间。
3.变量要求:变量中存储的具体的“数据”必须和变量的“数据类型”一致,当不一致的时候编译会报错。
4、声明/定义变量的语法格式:
数据类型 :
变量名:只要是合法的标识符就行。规范中要求:首字母小写,后面每个单词首字母大写
例如:int i;
int age;
int num;
Int是数据类型,i,age,num都是变量名
5、变量声明之后怎么赋值?
语法格式:变量名=字面值;
要求:字面值的数据类型必须和变量的数据类型一致。
=等号是一个运算符,叫做赋值运算符,赋值运算符先运算等号右边的表达式,表达式执行结束之后的结果赋值给左边的变量。
- 声明和赋值可以放到一起完成。
int i=10;
- 变量赋值之后,可以重新赋值,变量的值可变化:
int i=10;
System.out.println(i);//10
i=20;
System.out.println(i);//20
i=100;
System.out.println(i);//100
- 有了变量的概念之后,内存空间得到了重复的使用:
int i=10;
System.out.println(i);
...
...
System.out.println(i);
- 通常访问一个变量包括两种访问方式:
第一种:读取变量中保存的具体数据get/获取
第二种:修改变量中保存的具体数据 set/设置
i=20;//set
System.out.pritnln(i);//get
- 变量在一行上可以声明多个
int a,b,c;
- Java中的变量必须先声明,再赋值,才能访问、
Int i;程序执行到这里,内存空间并没有开辟出来,变量i并没有初始化,所以,没有赋值是无法访问的
Public class VarTest01
{
Public static void main(String[] args){
// 声明一个int类型的变量,起名i
Int i;
//编译报错:变量i并没有初始化
//System.out.println(i);
//给i变量赋值,i变量在这里完成初始化,内存开辟
I=100;
System.out.println(i);
//i再次重新赋值
I=20;
System.out.println(i);
//一行可以同时声明多个变量
Int a,b,c=300;
//编译错误
//System.out.println(a);
//编译错误
//System.out.println(b);
System.out.println(c);
a=0;
b=1;
System.out.println(a);
System.out.println(b);
关于java语言当中的变量:
- 在方法体当中的java代码,是遵循自上而下的顺序依次只执行的。逐行执行。
第一行;
第二行;
第三行;
特点:第二行的代码必须完整的结束之后,第三行程序才能执行。
2、在同一个作用域当中,变量名不能重名,但是变量可以重新赋值
Public class IdentifierTest02
{
Public static void main(String[] args){
Int i=100;
System.out.println(i);//100
I=200;
System.out.println(i);//200
//以下代码顺序有错误,先声明然后赋值在访问
//system.out.println(k);
//Int k=100;
//Int i=90;
//System.out.println(i);
}
}
关于java中的变量:
变量的作用域
- 什么是作用域?
变量的作用域,其实描述的就是变量的有效范围。
在什么范围之内是可以被访问的,只要出了这个范围该变量就无法访问了
- 变量的作用域只要记住一句话:
出了大括号就不认识了
Public class IdentifierTest03
{
//注意:这里的static不要去掉
Public static void main(String[] args){
//变量i的作用域是main方法
//在整个main方法当中是有效的,可见的,可以访问的
Int i=100;
System.out.println(i);//可以
System.out.println(k);//可以
For (int a=0;a<10;a++){
}
//这里无法访问a变量
//System.out.println(a);
Int j;//作用域是main方法
For (j=0;j<10;j++){
}
System.out.println(j);
Public static void dosome(){
//这里无法访问main方法当中的变量I
//已经出了i变量的作用域
//System.out.println(i);
//可以
System.out.println(k);
关于变量的分类:
根据变量声明的位置来分类:
*局部变量
-在方法名当中声明的变量叫做局部变量
*成员变量
-在方法体外【类体之内】声明的变量叫做成员变量
在不同的作用域当中,变量名是可以相同的。
在同一个作用域中,变量名不能重名
Public class IdentifierTest04。
{
//成员变量
Int k=200;
//主方法:入口
Public static void main(String[] args){
//i变量就是局部变量
Int i=3;
//java遵循“就近原则”
System.out.println(i);
}
//成员变量
Int i=100;
//类体中不能直接编写java语句【除声明变量之外】
//System.out.println(i);
//dosome方法
Public static void dosome(){
//局部变量
Int i=90;
}
}