你对Java变量声明和赋值熟悉吗?学过Java的人都知道在使用变量前要声明变量,然后赋值。因为变量声明是独立的代码孤岛,所以实际上只是一个语句,确切地说是一个简单的语句。下面的这些都是变量声明语句:
int age = 25;
float interest_rate;
char[] text = { 'J', 'a', 'v', 'a' };
String name;
变量声明至少由类型名称组成,可以选择在其后跟一系列方括号对,然后是一个名称,并随后可以选择由方括号对序列,并以分号结尾。变量也可以在其声明期间进行显式初始化。
现在考虑赋值语句,它与变量声明语句紧密相关。赋值语句将值(可能是对数组的引用或对对象的引用)分配给变量。这里有些例子:
age = 30;
interest_rate = 4.0F;
age += 10;
text[1] = 'A';
text[2] = 'V';
text[3] = 'A';
name = "John Doe"
赋值语句是expression语句的示例,该表达式是一个后跟分号的表达式。以下表达式也可以用作表达式语句:
预增量(例如++x;)
递减(例如--y;)
后增量(例如x++;)
后减量(例如y--;)
方法调用(例如System.out.println("Hello");)
创建对象(例如new String("ABC");)
用jshell进行变量声明
我们可以jshell用来试验变量声明和表达式语句。这里是一些入门的示例:
jshell> int age = 25
age ==> 25
jshell> float interest_rate
interest_rate ==> 0.0
jshell> char[] text = { 'J', 'a', 'v', 'a' }
text ==> char[4] { 'J', 'a', 'v', 'a' }
jshell> String name
name ==> null
jshell> age = 30
age ==> 30
jshell> interest_rate = 4.0F
interest_rate ==> 4.0
jshell> age += 10
$7 ==> 40
jshell> text[1] = 'A'
$8 ==> 'A'
jshell> text[2] = 'V'
$9 ==> 'V'
jshell> text[3] = 'A'
$10 ==> 'A'
jshell> name = "John Doe"
name ==> "John Doe"
jshell> text
text ==> char[4] { 'J', 'A', 'V', 'A' }
jshell> age++
$13 ==> 40
jshell> age
age ==> 41
注意,这其中的age++似乎还没有完成任何事情。在这里,看到40已分配给scratch变量$13。但是,后增量运算符在返回当前值之后执行增量。(实际上,它将当前值存储在某个位置,执行增量,然后返回存储的值。)输入age证明其中age包含41,这是后增量运算的结果。
Java Shell提供了各种命令和功能,可简化片段的使用。例如,该/list命令显示在当前会话中输入的所有代码段:
jshell> /list
1 : int age = 25;
2 : float interest_rate;
3 : char[] text = { 'J', 'a', 'v', 'a' };
4 : String name;
5 : age = 30
6 : interest_rate = 4.0F
7 : age += 10
8 : text[1] = 'A'
9 : text[2] = 'V'
10 : text[3] = 'A'
11 : name = "John Doe"
12 : text
13 : age++
14 : age
左栏中的数字唯一标识一个代码段。我们可以使用此数字重新执行一个代码段,列出该代码段,删除(删除)一个代码段,依此类推:
jshell> /12
text
text ==> char[4] { 'J', 'A', 'V', 'A' }
jshell> /list 13
13 : age++
jshell> /drop 7
| dropped variable $7
jshell> /list
1 : int age = 25;
2 : float interest_rate;
3 : char[] text = { 'J', 'a', 'v', 'a' };
4 : String name;
5 : age = 30
6 : interest_rate = 4.0F
8 : text[1] = 'A'
9 : text[2] = 'V'
10 : text[3] = 'A'
11 : name = "John Doe"
12 : text
13 : age++
14 : age
15 : text
在这里,我们输入/ 12重新执行代码段#12,该代码段输出的内容text。然后,我们输入/ list 13以列出摘要#13,该摘要将递增age。接下来,我们输入/ drop 7删除代码段#7(没有更多的age += 10代码段)。最后,我们输入/ list重新列出所有片段。注意,由于该/12命令,片段7已被删除,片段15已添加。
尽管声明变量和赋值对于java来说是最基本的语句和知识,但是也是我们不容忽视的重要内容,是我们打开java编程大门的钥匙。只有打下牢靠的基础才能在未来的学习中如鱼得水,可以参考本站的java基础课程,为自己打下坚实的java基础。