什么是变量java
在Java程序中,变量是基本的存储单元。是在程序运行中值能够改变的一块内存区域。变量是经过标识符(变量名)、变量类型及可选的初始化器来定义的,此外,全部的变量都有做用域,做用域定义了变量的可见性和生命周期。编程
例如:计算两个班级的总人数,须要将两个班级的人数加在一块儿,在计算机运算过程当中须要先分配一块内存保存第一个班级的人数,再分配一块内存保存第二个班级的人数,最后通过CPU的调度进行数学运算得出最后的结果。代码以下:blog
int classA = 20; //定义变量classA保存第一个班级的人数生命周期
int classB = 30; //定义变量classB保存第二个班级的人数内存
int sum = classA + classB; //定义变量sum用来保存两个班级的总人数作用域
当程序按照顺序执行第一行代码时,将会分配一块内存空间,这一块内存空间使用标识符classA来表示,内存中存储的数据为20,这一块内存空间称为“变量”,classA称为变量名,20就是变量值。上述三行代码执行时在内存中的状态如图1所示。编译器
图1 变量在内存中数学
“int”定义了变量的数据类型(后面的章节会详细介绍java语言中的8种基本类型),使用变量时要求必须指明变量的数据类型,这样Java才会分配合适大小的内存空间保存变量的值。编译
咱们还可使用赋值运算符“=”修改变量的值,这个操做称为“为变量赋值”。赋值操做将会极大的增长程序的多变性。class
变量的声明
Java语言是强类型(strongly typed)语言,强类型语言包含两方面含义:
1)全部的变量在使用以前必须先声明,后使用。
2)指定类型的变量只能接受类型与之匹配的值。
这意味着每一个变量和每一个表达式都有一个在编译时就肯定的类型。类型限制了一个变量能被赋的值,限制了一个表达式能够产生的值,限制了在这些值上能够进行的操做,并肯定了这些操做的含义。
强类型语言能够在编译时进行更严格的语法检查,从而减小编程错误。
声明变量的语法很是简单,只须要指定变量的类型和变量名便可,以下所示:
数据类型 变量名 [ = 初始值];
上面的语法中,定义变量时既能够指定初始值,也能够不指定初始值。随着变量的做用域不一样,变量还可能使用其余修饰符。但无论是哪一种变量,定义变量至少须要指定变量类型和变量名两个部分。定义变量时的变量类型能够是Java语言支持的全部类型(基本类型或引用类型)。
变量的声明就是告诉编译器这个变量的数据类型和变量的名称,这样编译器才知道须要分配多少内存空间给它,以及定义它能放什么样的数据。
在声明变量时,在同一数据类型下能够声明多个变量,只须要使用“,”进行分隔,以下所示:
数据类型 变量名 [ = 初始值][ , 变量名 [ = 初始值] …];
下面是声明各类类型变量的一些例子:
int a , b , c; //声明了三个int型变量:a、b和c
byte z; //声明一个byte型变量
double pi; //声明一个double型变量
char x; //声明一个char型变量
在此选择的变量名与用来指定变量类型的名称没有任何内在联系,Java容许将任何形式的正确的变量名声明为任何类型。
在声明变量时须要注意如下几点:
1)变量类型与变量名之间使用空格分隔。
2)每一条Java语句都要以“;”(英文分号)结尾。
3)在一个语句中连续声明多个变量时,变量名之间使用“,”(英文逗号)分隔。
4)在同一个做用域(下一章节会对做用域进行讲解)下变量名不容许重复,否者会编译错误(就像一个班级中有两我的都叫张三,老师点名张三的时候到底点的是哪一个张三?)。
5)遵照变量名称的命名规范(命名规范会在后面的章节进行讲解)。