“The superior man makes the difficulty to be overcome his first interest; success comes only later.”

— William Jennings Bryan

「优秀的人将克服困难当做第一优先,成功只是之后的附带品。」 – 威廉‧詹宁斯‧布莱恩 (政客)

关卡说明

关卡描述:变量是Java程序中最常见的内容,是设计Java程序必不可少的部分。

过关条件:理解什么是变量,为什么需要使用变量,以及如何使用它们

关卡难度:⭐️

变量

什么是变量?为什么要有变量?怎么使用它?

如果你不能很好的回答这三个问题,那么就带着这些疑问来完成本次挑战吧,相信你必能有所收获。

什么是变量

在一个Java程序中,通常需要很多个步骤才能实现我们想要的功能,比如之前设计的计算器,就需要先提示用户输入,读取输入的值,然后再将它们相加后输出。我们日常生活中的事情也是类似的,拿吃饭而言,我们需要先把饭盛到碗里,然后再加点菜,再往嘴里塞。

这里的碗就相当于变量,我们用它来盛饭,也就是存放中间过程的一些处理结果,饭是我们从锅里盛出来的,是经过我们处理过的。

也许这样说还是有些抽象,我们继续看之前的栗子:

1
2
3
4
5
6
7
8
9
public static void main(String[] args){
System.out.print("请输入一个整数:");
Scanner in = new Scanner(System.in);
int a = in.nextInt();
System.out.print("请再输入一个整数:");
int b = in.nextInt();
int sum = a + b;
System.out.print("这两个数的和为:" + sum);
}

在第三行,我们定义了一个变量in,用来存放Scanner实例引用,在第四行,我们定义了一个变量a,用来存放用户输入的第一个整数,第六行里我们又定义了一个变量b,用来接收用户输入的第二个整数,然后在第七行定义了一个变量sum,用来存放变量a和变量b的和。

虽然是一个简单的程序,但是我们已经使用了四个变量,可见其应用的广泛性和重要性。变量就如同程序的血液,是一个程序能顺利运转的不可或缺的部分。

为什么需要变量

那么有没有可能不使用任何变量呢?其实也是可以的,比如这样:

1
2
3
public static void main(String[] args){
System.out.print("我是一个最简单的程序,我不使用变量");
}

emmm,毕竟这样的需求只是极少的一部分,绝大部分的应用还是比较繁杂的,所以变量便不可避免的需要使用。

另外,使用变量还可以使得程序逻辑变得更加清晰,通过使用变量,将整个流程的步骤变得更加清晰明确。就好比说吃饭,不再是模糊的一个动作,而是分为盛饭,夹菜,吃饭这几个具体的步骤了。

如何使用变量

要想使用变量,就必须先定义一个变量,或者说声明一个变量。声明变量的格式为:

1
[类型名] + [变量名]

例如:int aint 是变量的类型,a 是变量的名字。

可以在声明变量的同时给它赋一个初始值,也可以在之后改变变量的值。声明变量之后,必须使用赋值语句对变量显式初始化,千万不要使用未初始化的变量,否则会被编译器视为错误的代码。

想要对一个变量进行赋值,就需要将变量放在= 左边,然后将java表达式放在等号的右边。

举个小栗子:

1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args){
int a = 1;
System.out.println("变量a的值为:" + a);
a = 2;
System.out.println("变量a的值为:" + a);
a = 3;
System.out.println("变量a的值为:" + a);
int b;
System.out.println("变量b的值为:" + b);
b = a;
System.out.println("变量b的值为:" + b);
}

那么程序将会输出:

1
2
3
4
5
变量a的值为:1
变量a的值为:2
变量a的值为:3
变量b的值为:0
变量b的值为:3

补充说明一下,System.out.printlnSystem.out.print 的区别是,前者会在内容输出完成之后添加一个换行。

变量的命名规范

变量名必须以字母开头,并且由字母、数字或者下划线和$构成,对于长度理论上来说是没有限制的,此外,java中的保留字是不能用作变量名的,保留字也就是java中的关键字,比如之前的 publicstaticintvoid等等,在后续的学习中,会不断接触到各种关键字。

变量命名最好符合它使用的意义,能表现其作用,因为往往在一个程序中会出现非常多的变量,如果变量命名都像a1a2a3这样看了让人摸不着头脑的形式,那么将使得代码的阅读和维护变得十分困难。永远不要忘记,代码是用来阅读的。

在Java中,变量的命名通常使用小驼峰命名法,也就是第一个单词的首字母小写,其余单词的首字母大写,比如:totalDayspaperWidth

小结

至此,关于变量的介绍就结束了,变量是Java中最重要也是最基础的组成部分,希望你能很好的理解和掌握它。