第一章 :变量
第二章:数据类型
目录
前言
在大家开学习Java编程语言的开始,我将首先为大家介绍Java语言的变量,这是一门编程语言中最基本的一个模块,所以大家务必将其牢牢掌握
一、什么是变量?
从作用的角度来理解:变量用于保存程序在运行过程中,产生的一个临时数据;
从内存的角度来理解:变量是代表内存中的一个存储单元;
从语法的角度来理解:变量是使用不同数据类型,来进行定义保存数据的一种语法形式;
二、变量的定义
在Java中,变量必须先定义后使用,在定义变量的时候,可以给它一个初始值。
// 数据类型 变量名称 = 数据值;
int x = 1;
上述语句定义了一个整型int类型的变量,名称为x,初始值为1。
如果没有进行初始赋值,该变量将无法使用,将按照数据类型,可以分配int类型的默认值为0,double类型的默认值为0.0
1.变量的命名
变量名的命名要求:
(1)变量名开头必须是英文字母、下划线_、$符号
(2)其余部分可以是英文字母、下划线_、$符号、数字
(3)规范的变量名是以小写字母开头
(4)要注意遵守命名习惯
(5)不能使用Java关键字作为变量名,例如:public,static,do,while,for,void
2.变量的使用
(1)变量可以直接使用。
例如:定义变量,然后打印变量值。
public class Main {
public static void main(String[] args) {
int x = 100; // 定义int类型变量x,并赋予初始值100
System.out.println(x); // 打印该变量的值
}
}
(2)变量可以重新赋值。
例如:对变量x,先赋值100,再赋值200,观察两次打印的结果:
public class Main {
public static void main(String[] args) {
int x = 100; // 定义int类型变量x,并赋予初始值100
System.out.println(x); // 打印该变量的值,观察是否为100
x = 200; // 重新赋值为200
System.out.println(x); // 打印该变量的值,观察是否为200
}
}
注意:
第一次定义变量x的时候,需要指定变量类型int,因此使用语句int x = 100;。而第二次重新赋值的时候,变量x已经存在了,不能再重复定义,因此不能指定变量类型int,必须使用语句x = 200;。
(3)变量可以赋值给其他变量。
public class Main {
public static void main(String[] args) {
int n = 100; // 定义变量n,同时赋值为100
System.out.println("n = " + n); // 打印n的值
n = 200; // 变量n赋值为200
System.out.println("n = " + n); // 打印n的值
int x = n; // 变量x赋值为n(n的值为200,因此赋值后x的值也是200)
System.out.println("x = " + x); // 打印x的值
x = x + 100; // 变量x赋值为x+100(x的值为200,因此赋值后x的值是200+100=300)
System.out.println("x = " + x); // 打印x的值
System.out.println("n = " + n); // 再次打印n的值,n应该是200还是300?
}
}
代码执行流程解析:
执行int n = 100;,该语句定义了变量n,同时赋值为100,因此,JVM在内存中为变量n分配一个“存储单元”,填入值100:
n
│
▼
┌───┬───┬───┬───┬───┬───┬───┐
│ │100│ │ │ │ │ │
└───┴───┴───┴───┴───┴───┴───┘
执行n = 200;时,JVM把200写入变量n的存储单元,因此,原有的值被覆盖,现在n的值为200:
n
│
▼
┌───┬───┬───┬───┬───┬───┬───┐
│ │200│ │ │ │ │ │
└───┴───┴───┴───┴───┴───┴───┘
执行int x = n;时,定义了一个新的变量x,同时对x赋值,因此,JVM需要新分配一个存储单元给变量x,并写入和变量n一样的值,结果是变量x的值也变为200:
n x
│ │
▼ ▼
┌───┬───┬───┬───┬───┬───┬───┐
│ │200│ │ │200│ │ │
└───┴───┴───┴───┴───┴───┴───┘
执行x = x + 100;时,JVM首先计算等式右边的值x + 100,结果为300(因为此刻x的值为200),然后,将结果300写入x的存储单元,因此,变量x最终的值变为300:
n x
│ │
▼ ▼
┌───┬───┬───┬───┬───┬───┬───┐
│ │200│ │ │300│ │ │
└───┴───┴───┴───┴───┴───┴───┘
总结
以上是Java中变量相关的知识,内容比较简单,但只是Java语言的开端,关于本文中提到的JVM虚拟机若是有不太清楚的朋友可以评论留言,我将补充这方面的文章供大家参考,后期的系列文章将陆续更新,难度也会越来越高,如有问题欢迎大家指正,感谢!