一. 变量简介
仔细回想一下,在你还没有学习Java之前,你有没有听过【变量】这个词?第一次听到【变量】这个词是在什么时候?有些童鞋可能会说,我以前没听过【变量】!其实大部分人都听过!我们在中学时,在数学课上就有【变量】这个词了,比如一个常见的方程式y=x2+1。这里的x与y就是变量,请大家回忆一下数学里x变量表示什么含义?
在我们的Java语言中,同样存在着【变量】的概念,并且该概念与数学方程里的变量含义类似。
1. 概念
在Java中,变量是程序里最基本的存储单元,它由变量名、变量类型、作用域组成。从本质上来说,变量其实就是内存里的一小块存储区域,该区域只能存储声明变量时指定类型的数据。我们创建使用每个变量前,必须先声明,在内存中申请空间,然后对其进行初始化赋值,接着就可以通过变量名来访问和使用这块内存区域了。
进一步解释一下,变量其实就是一个可以存储特定类型数据的容器。这个容器在内存中有自己的地址,为了方便地找到这个地址,我们可以给每个地址起个”名字“,这就是”变量名“。每个变量的数据类型都是固定不变的,但变量中对应数据的具体内容,却是可以改变的,所以”变量“指的就是内容可以改变的量。
如果你对上面关于变量的解释还不明白,那么再来给你举个更通俗易懂的栗子。
假如我们是搞化学的,现在你手里有很多种化学元素,该如何存储它们?我们知道,这些化学元素的性质各不相同,不能一股脑地都放在一起,必须分类存储。我们可以找到一些适合存储这些化学元素的”瓶子“(容器),每种瓶子只能存储不同类型(数据类型)的化学元素,不能混装,否则就会发生化学反应引起爆炸(报错)。并且每种瓶子都有自己的存储大小(容量),不可能一个瓶子里存储无限多的化学元素。现在的瓶子有很多,你要经常找到并使用这些瓶子,就需要给这些瓶子编号命名(变量名),并且要有对应的存放位置(内存地址),不能随便乱放。
现在你搞懂变量的含义了吗?
2. 分类
在Java中,根据不同的分类标准,变量也被分成了很多种:
● 如果是按照数据类型来划分,变量可以分为基本类型的变量和引用类型的变量。
● 如果是按照作用范围来划分,变量可以分为局部变量、成员(实例)变量和类(静态)变量。
当然,现在你可能对什么是基本类型、引用类型、局部变量、成员变量、类变量等概念还都很懵逼。请暂时不用管这些,脑子中有个印象即可,壹哥在后面会再详细给你介绍这些概念都是怎么回事,我们先集中精力来学习变量的定义与使用案例。
二. 变量的定义与案例
1 .定义方式一
我们首先来看第一种写法,这种写法完全符合变量定义的3步走策略,但是写起来有点啰嗦。
public class VariableDemo { public static void main(String[] args) { //注意:在java中,变量一定要初始化后才能使用! //变量声明方式1: //1.声明变量 int a; //2.给变量初始化赋值,初始化的意思是第一次给某个变量赋值 a = 10; //3.使用变量 System.out.println(a); }}
在上面的代码中,我们定义了一个int整型的变量,变量名称为a,初始值为10。如果我们不写初始值,就相当于系统给它指定了默认值,默认值是0。但我们在使用变量之前,必须要给变量进行初始化赋值,否则编译器就会自动检测出错误,从而会报错!错误信息如下所示:The local variable a may not have been initialized
2 .定义方式二
下面是第二种定义变量的写法,相比第一种写法简单一些,直接把变量的声明和初始化放在一起,所以这种方式用的较多。
public class VariableDemo { public static void main(String[] args) { // 注意:在java中,变量一定要初始化后才能使用! //变量声明方式2: //1.声明变量和初始化 int a = 10; //2.使用变量 System.out.println("a的值为:" + a); }}
3. 定义方式三
我们也可以采用以下写法,即在一条语句中连续定义多个变量。但大家要注意,我们在一条语句中连续定义多个变量时,应该给每个变量都进行初始化赋值,否则在编译之前开发工具就会直接报错!
public class VariableDemo { public static void main(String[] args) { // 注意:在java中,变量一定要初始化后才能使用! //变量声明方式3 //连续定义多个变量 int a = 1,b = 3,c = 10; System.out.println("a的值为:"+a); System.out.println("b的值为:"+b); System.out.println("c的值为:"+c); }}
4 .定义方式四
我们可以在第3种定义变量的写法基础上进一步简化。同样是把多个变量定义在一条语句内,但a、b变量未初始化,c变量进行了初始化。这种写法在语法上是没问题的。但a和b这两个变量不能直接使用,因为没有初始化,如果直接使用会产生错误。c变量可以直接使用,因为进行了初始化赋值!
public class VariableDemo { public static void main(String[] args) { // 注意:在java中,变量一定要初始化后才能使用! //变量声明方式4 //连续定义多个变量 int a,b,c = 10; //a、b变量未初始化,如果直接使用会报错 //System.out.println("a的值为:" + a); //System.out.println("b的值为:" + b); //c变量初始赋值为10,可以直接使用 System.out.println("c的值为:"+c); }}
以上就是java变量的定义,大家可以动手自己敲一敲哦!!!!