【Java基础】变量和数据类型

变量

什么是变量?变量就是初中数学的代数的概念,例如一个简单的方程,x和y都是变量:
y = x+1
在Java中,变量分为两种:基本类型的变量和引用类型的变量。
我们先看看基本类型变量。
在Java中,变量必须先定义后使用,在定义变量的时候,可以给他一个初始值。例如:

int x=1;

上述语句定义了一个整型int类型的变量,名称为x,初始值为1
如果不写初始值,那么x值取默认值。整型int的默认值总是0。

变量的一个重要特点是可以重新赋值。例如,对变量x ,先赋值为100,再赋值200,观察以下代码:

public class Main {
    public static void main(String[] args) {
        int x = 100; // 定义int类型变量x,并赋予初始值100
        System.out.println(x); // 打印x变量的值。结果为100
        x = 200; // 重新赋值为200
        System.out.println(x); // 打印x变量的值,结果为200
    }
}

我们可以看到,第一次定义变量x的时候,需要指定变量类型int,因此使用语句int x = 100;,而第二次给x重新赋值时,使用语句为x = 200,这是因为x已经存在了,不能重新定义,不能指定变量类型int

变量不但可以重新赋值,还可以赋值给其他变量。让我们来看一个例子:

public class Main {
    public static void main(String[] args) {
        int n = 100; // 定义变量n,同时赋值为100
        System.out.println("n = " + n); // 打印n的值,结果为100

        n = 200; // 变量n赋值为200
        System.out.println("n = " + n); // 打印n的值,结果为200

        int x = n; // 变量x赋值为n(n的值为200,因此赋值后x的值也是200)
        System.out.println("x = " + x); // 打印x的值,结果为100

        x = x + 100; // 变量x赋值为x+100(x的值为200,因此赋值后x的值是200+100=300)
        System.out.println("x = " + x); // 打印x的值,结果为300
        System.out.println("n = " + n); // 再次打印n的值,结果为200
   }
}

我们一行一行地分析代码执行流程:
int n = 100;,该语句定义了变量n,同时赋值为100,因此,JVM在内存中为变量n分配一个“存储单元”,填入值100
在这里插入图片描述
执行n = 200;时,JVM把200写入变量n的存储单元,因此,原有的值被覆盖,现在n的值为200
在这里插入图片描述
执行int x = n;时,定义了一个新的变量x,同时对x赋值,因此,JVM需要新分配一个存储单元给变量x,并写入和变量n一样的值,结果是变量x的值也变为200
在这里插入图片描述
执行x = x + 100;时,JVM首先计算等式右边的值x + 100,结果为300(因为此刻x的值为200),然后,将结果300写入x的存储单元,因此,变量x最终的值变为300
在这里插入图片描述
可见,变量可以反复赋值。注意,等号=是赋值语句,不是数学意义上的相等,否则无法解释x = x + 100

基本数据类型

基本数据类型是CPU可以直接运算的类型。Java定义了一下几种基本数据类型:

  • 整数类型:byte,short,int,long
  • 浮点数类型:float,double
  • 字符类型:char
  • 布尔类型:boolean
发布了17 篇原创文章 · 获赞 19 · 访问量 512

猜你喜欢

转载自blog.csdn.net/qq_42745749/article/details/104481331