明解java-柴田望洋-2-1使用变量

明解java-柴田望洋-2-1使用变量

 

柴田先是通过一个加法表达式来说明一种情况,如果想要求其他数值的运算怎么办?他说,表达式里面的数值想要改变,有两种方法,一种是new class,一种是使用变量。为什么使用变量能够改变数值呢?

 

柴田说,变量就是一个盒子,数值能够放进去,能够取出来。在理解变量之前需要先讲解数值和字符串之间的不同。变量和数据类型有关,数据类型有多种,整数、实数、字符串等。柴田没有详细讲解,因为这是第三章的内容。

 

这里需要知道,在.println()的括号里,如果是("89"),这是一个字符串;如果是(89),这是一个数值。虽然输入的都是89,但原理可不一样。(89)是需要先转换成("89")之后才能输出的。这个转化过程我们是看不见的,在JVM内部执行。下面以加减运算的表达式为例。

 

代码1

.println(57+32);

.println("57+32="+(57+32));

这两行代码不用之处,第一行是一个数值运算,括号里面是数值。输出89。第二行是字符串加数值,输出的:57+32=89。两行代码都不是直接输出的,而是先执行数据类型转换,具体如下:

.println(57+32);

.println(89);

.println("89");

.println("57+32="+(57+32));

.println("57+32="+89);

.println("57+32="+"89");

 

柴田说,字符串与数拼接,数值先转化为字符串。因为.println输出的是字符串。后面学变量后,会有.println(x)同样要转换为字符串才能输出的。还应该注意到括号的问题。("57+32="+(57+32))和("57+32="+57+32)输出的结果是不同的。前者输出的是57+32=89,后者输出的是57+32=5732,并没有执行加法运算。如图1所示。

图1
图1

 

如果没有括号,java规定字符串和数值之间的+为连接符,不进行运算。

 

柴田说,如果是减法运算呢?

.println("57+32="+57-32);

程序会报错,前面为字符串,后面为减法运算,java没有字符串减数值的规定。按照上文的解释,代码是按照如下方式执行的。

.println("57+32="+57-32);

.println("57+32="+"57"-32);

.println("57+32=57"-32);

程序终止,java没有字符串减数值的运算。如图2所示

图2

 

柴田想要更改这个表达式,在不改变代码的情况下,更换其他的数值。引入了变量的概念。变量是存取数值的盒子。数值可以存进去也可以取出来,只要变量这个盒子一直都在。

 

使用变量,先要声明变量,意思是在此处放入变量盒子,并给盒子取名、赋值。声明的语句称之为声明语句。int x;就是声明语句,意思是声明一个名为X的int类型的变量。int是整数型数据类型,X是变量的名称。下一步要给变量赋值。如代码2。

代码2

{int x;

 x = 63;

.println(x)}

 

第一行,int x ;意思是声明一个int变量,名字为x。第二行代码,将等号右边的63赋值给变量x,第三行代码是输出x里面的数值。代码执行过程如下

int x;

 x = 63;

.println(x)

.println(63);

.println("63");

从变量x里面取出数值63,然后再将数值转换为字符串,最后输出。

 

柴田说,.println("x")和.println(x)完全不一样,前者是输出字符串X(这里是一个字符),后者是将变量X中的数值取出来,然后将数值转化为字符串再输出。如图3所示。

图3

 

柴田说,如果是声明了变量,没有赋值,程序会报错。变量必须进行初始化。但是赋值并不等于初始化赋值。初始化赋值是在声明变量时的赋值,是必须进行的。赋值可以在初始化赋值后改变变量里面的值。如图4,第二次赋值取代了变量x的初始值。

图4

 

总结,柴田在这节课讲了如下知识点:

  1. 初始化赋值不等于赋值。
  2. 变量没有初始化赋值不能运行。
  3. 变量的声明三要素,类型、名称、初始值。
  4. 数值要转化为字符串才能输出。
  5. 字符串无法减数值。
  6. 字符串与数值运算表达式拼接时,运算表达式要加括号。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值