变量

  1. 什么是变量?

*变量本质上来说是内存上的一块空间,这块空间“有数据类型”,“有名字”,“有字面值”;

*变量包含三部分:数据类型,名称,字面值(数据);

*变量是内存中存储数据的最基本的单元。

  1. 数据类型的作用:

*不同的数据有不同的类型,不同的数据类型底层会分配不同大小的空间。

*数据类型是指导程序在运行阶段应该分配多大的内存空间。

  1. 变量要求:变量中的存储的具体“数据”必须和变量的“数据类型”一致,当不一致的时候编译会报错。
  2. 定义变量的语法格式:

数据类型 变量名;eg:   int i;       “int”为数据类型,“变量名”:只要是合法的标识符就可。规范的要求:首字母小写,后面每个单词首字符大写。

  1. 变量声明之后怎么赋值?

语法格式:

  变量名 = 字面值;

要求:字面值的数据类型必须和变量的数据类型一致。

“=”是一个运算符,叫做赋值运算符,赋值运算符先运算等号右边的表达式,表达式执行结束之后的结果赋值给左边的变量。

  1. 声明和赋值可以一起完成。   int i =10;
  2. 变量赋值之后,可以重新赋值,变量的值可变化;

int i = 10;

System.out.println(i);//10

int i = 20;

System.out.println(i);//20

int i = 30;

System.out.println(i);//30

  1. 有了变量的概念之后,内存空间得到了重复的使用。
  2. 通常访问一个变量包括两种访问方式:

第一种:读取变量中保存的具体数值 get/获取

第二种:修改变量中保存的具体数据 set/设置

  1. 变量在一行上可以声明多个

         int a,b,c=100;//这种写法只有c进行了赋值,a和b没有。

             a=100;

             B=100;

System.out.println(a);

System.out.println(b);

System.out.println(c);

  1. java中变量必须先声明再赋值,才能访问。
  2. 在方法体中的java代码,是遵循自上而下的顺序依次执行的。逐行执行。

特点:在第二行的代码必须完整的结束之后,第三行程序才能执行

Public class VarTest02{

public static void main(string[] args){

 int i = 100;

System.out.println(i);

i = 200;

//以下代码顺序有错误,先声明然后复制再访问

/*

Sysrem.out.println(k);

Int k = 20;

*/

/*

int i = 10;

System.out.println(i);

*/

}

}

  1. 在同一个”作用域”中变量名不能重名,但可以重新赋值。
  2. 变量的作用域

*什么是作用域?

变量的作用域描述的就是变量的有效范围。在范围内可以访问,出了范围就没办法访问。(出了大括号就不认识了)

public class varTest03{

 

  //注意:这里的static不能去掉

static int k = 90;

    Public static void main(string[] args){

//变量i的作用域是main方法

//在整个main方法当中是有效的,可见的,可以访问的

   int i = 10;

system.out.println(i);

//以下会编写一个for循环语句

for(int a=0;a<10;a++){//a变量的作用域是整个for循环,for循环结束之后,a变量的内存就释放了

}

//这里无法访问a变量

//system.ou.println(a);

       int j;//作用域是main方法

for(j=0;j<10;j++){

}

  system.out.println(j);

}

pubilc static void doSome(){

  //这里无法访问方法当中的变量i

//已经出去了i变量的作用域 。

//system.out.println(i);

System.out.println(k);

}

}

变量的分类:

根据变量声明的位置:

*局部变量

 -在方法体当中声明的变量叫做局部变量

*成员变量

-在方外法体[类体之内]声明的变量叫做成员变量。

*在不同的作用域中,变量名可以相同;

*在同一个作用域当中变量名不能同名

pubinc class varTest04{

//成员变量

int k=20;

//主方法:入口

public static void main(string[]args){

//i变量就是局部变量

int i=10;

//java遵循“就近原则”

system.out.println(i);

}

//成员变量

int i=100;//声明变量

//类体中不能直接编写java语句,除声明变量之外

//System.out.println(i);

//doSome方法

public static void doSome(){

//局部变量

Int i=90;

}

}