接着上一篇,这次是变量。主要分为5个部分。
首先是变量的引出,可以看到,两个数值不停的改变,我们要手动去改很麻烦,该程序代码少还好,代码要是上百行那就很崩溃,所以引入变量。
下面就是变量的定义(什么是变量)。
可以看到变量x,y的引入,很好的解决了上面的问题。注意,变量改变值时,只需要变量名 = 赋值;即可,不要加数据类型,即
数据类型 变量名 = 赋值;这个在第五部分变量的使用规则会解释。
接着就是变量的分类。
上图就是成员变量的判断:1.直接定义在类中
2.或者看是否定义在方法外
但此时,无法打印出变量age所存储的值,是因为main方法定义的是静态的,所以只能引用静态变量。
目前,我们就先记住,定义成员变量,都使用static修饰。
此时的age就是成员变量,它是定义在main方法中的变量,所以是局部变量。
接着是变量的作用域。
可以看到成员变量是定义在类中的,所以它的作用域就是在类中,不管它是定义在方法前还是方法后,都是一样的(都是在类中)。
上图就是局部变量的作用域。
最后就是变量的使用规则。
可以看到,变量只有初始化(赋值)之后才能使用,这是因为变量本身就便是存储空间(变量的定义),而初始化才是真正的内存分配。
其次就是声明必须要有数据类型,且赋的值必须是所声明的类型,就比如上面的程序,声明的是整数类型,赋予的值就必须是整数。
接着就是上面所说的,为什么修改变量所存储的值的时候,不要加数据类型,直接
变量名 = 赋值;即可
因为同一个作用域内变量名不能重复定义,若
数据类型 变量名 = 赋值;就是对该变量进行了再一次定义
变量其实就是开辟一个存储空间,然后初始化,在该存储空间放入一个值,若两个空间名字相同,那该选取哪一个空间的值,若两个存储空间存储的值一样,也就无所谓了,若不一样,就不好办了,此时指定不明,所以同一个作用域内就不要重复定义一个变量。