什么是变量(Variable)?

变量是咱们在程序里定义的由计算机存储到内存(RAM-Random Access Memory)空间里的值,变量有一个名字叫做变量名(variable name)

咱们要做的事件,就是通知计算机,咱们想要在内存里存入什么类型的内容(数据),而后给这个内容起一个名字

能存入内存里的数据分为很多种类型,这些类型叫做数据类型(Data Types),数据类型在Java中是以关键字的模式示意的

咱们从整型变量(Integer,即存入的内容是整数)的定义开始。在Java中定义整数,须要应用到关键字:int
紧接着上一节的代码,咱们在打印Hello, Ben的根底上,在下一句加上如下代码:

public class Hello {    public static void main(String[] args) {        System.out.println("Hello Ben!");        int myFirstNumber = 5;    }}

这里,int示意我通知计算机,我想要存储的数据类型为整型(整数类型),myFirstNumber是我给这个变量起的名字,等于号左边的5是我要存储的数据,等于号示意赋值操作,也就是把等号左边的变量的值(数据)存储到等号右边的变量名所属的内存空间外面。仍然的,不能漏掉开端的分号,分号的意义在于通知Java,这个句子完结了。如果没有分号,那么会产生语法错误(Syntax error)

定义变量的这个语句,咱们叫做申明语句(Declaration Statement),或者叫做申明变量。为什么是申明呢?因为定义变量的时候,赋值操作是可选的。也就是说,定义变量时,是能够不赋值的,例如语句:int myFirstNumber;,这示意通知Java我要应用一个int类型的变量,变量名为myFirstNumber,但这个变量外面临时不存储任何数据

练习

察看如下代码:

public class Hello {    public static void main(String[] args) {        System.out.println("Hello Ben!");        int myFirstNumber = 5;    }}

在申明myFirstNumber变量之后新增代码,以使程序可能打印出变量myFirstNumber

答案:

public class Hello {    public static void main(String[] args) {        System.out.println("Hello Ben!");        int myFirstNumber = 5;        System.out.println(myFirstNumber)    }}

解析:
这里要留神的是,第一句的打印语句System.out.println("Hello Ben!")外面所写的打印的内容Hello Ben!是被两个双引号所囊括起来的,这种被双引号囊括起来的数据类型,叫做字符串(String)

如果要打印myFirstNumber变量,像这样写:System.out.println("myFirstNumber"),打印进去的后果就是myFirstNumber,而不是数字5,这显著不是咱们所想要的后果。因为双引号囊括起来的数据类型为字符串,计算机会把"myFirstNumber"当成一般的字符串来解决,而不会读取它所存储的值。正确的写法是:System.out.println(myFirstNumber),能够看到,这里没有应用双引号囊括myFirstNumber,此时计算机会读取该变量的值,并打印出数字5

表达式

咱们当然也能够在赋值的时候,对等号左边的数据进行惯例的四则运算操作,例如:

public class Hello {    public static void main(String[] args) {        System.out.println("Hello Ben!");        int myFirstNumber = 5 + 10;        System.out.println(myFirstNumber)    }}

能够猜得到,这样打印进去的后果,除了Hello Ben!以外,下一行是数字15

等号左边的这种求值的式子,咱们叫做表达式(expression)

咱们当然能够批改左边的表达式,使其变得更加简单:

public class Hello {    public static void main(String[] args) {        System.out.println("Hello Ben!");        int myFirstNumber = (5 + 10) * (2 + 2 * 4);        System.out.println(myFirstNumber)    }}

能够猜得到,打印进去的值是150
计算机中表达式外面的四则运算符号的优先级和咱们在小学外面学到的数学的运算优先级雷同,先乘除,后加减,有括号的先算括号外面

在Java中,包含四则运算和括号在内的这些运算符号,咱们叫做操作符(Operator),加减乘除的操作符如下:

运算操作符
加法+
减法-
乘法*
除法/