Java变量类型

存储变量时需要申请内存空间,但是两个不同类型的变量不通用,对于不同变量所能使用的方法也不同,所以有必要熟悉Java的变量类型。

 

概念

Java中的变量的概念与App Inventor的变量概念相同。存储变量就好比我们去酒店要一个房间,我们向计算机的内存要一个空间来存储一些东西,即变量。计算机通过一个特定的地址来搜寻这一个变量,就像我们在酒店通过门牌号搜寻房间一样,但是这个地址比较复杂,不便于在编程时快速地找到需要的变量,所有就有了变量名,相当于起个别名,让我们能够记住这个变量。例如:酒店中如果有个门牌号为02038705,酒店内部的员工可能知道:020是广州市,3是广州区的第3分店,8705是7楼的第5个房间,但是我们就不知道了,于是我们就要给它起个别名:某某酒店天河分店的705房间,这样我们就方便寻找和记忆了。

 

Java分引用数据类型和内置数据类型。

 

数据类型

内存里面可以存储各种各样的数据,我们需要告诉计算机我们需要存储的数据类型,以便计算机分配一个合适大小的空间给我们用于存储变量。9种数据类型具体关系如下表所示:

变量类型说明最小值最大值默认值占用空间(单位:字节)示例值
byte整数(可正可负)-128(-2^7)127(2^7-1)011
short整数(可正可负)-32768(-2^15)32767(2^15 - 1)021
int整数(可正可负)-2,147,483,648(-2^31)2,147,483,647(2^31 - 1)041
long整数(可正可负)-9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)081
float32位单精度浮点数(小数)1.4E-453.4028235E380.0f43.14f
double64位双精度浮点数(小数)4.9E-3241.7976931348623157E3080.0d83.14d
boolean布尔值(true/false)//false1true
char16位Unicode字符\u0000(即为0)\uffff(即为65535)02'a'
String字符串//""/"你好,世界!"

执行此处代码即可查看所有内置数据类型的最大值和最小值(均已内置在Java常量中了)。一般地,整数我们常用int类型,小数常用double类型,字符常用String类型。为了能够提高程序的运行效率,程序中如果确定某一个变量在上面所述的最大值/最小值范围之内,可以采取尽量使用占用空间少的的变量类型。

 

自动进行类型转换

根据上文所述,不同类型的变量之间不通用,而且适用的方法也不同,现在可以通过自动类型转换将类型进行转换,从而使其适配我们的操作。

例子:将float变量转为int变量

将输出结果3。自动类型转换需要注意以下几点:

  1. 不能对boolean类型进行类型转换。
  2. 不能把对象类型转换成不相关类的对象。
  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  4. 转换过程中可能导致溢出或损失精度,如将浮点数转换为整数时,将会去掉小数部分,只取整数。

 

使用Java变量

在App Inventor中的变量部分,有一个“声明全局变量”或者是“初始化全局变量”,现在我们就要学习如何在Java中完成同样的操作。使用变量的过程为:声明→赋值→使用。声明的过程就是告诉计算机我征用了这个变量名单词和变量的种类,并且占用了计算机内存中的相应的空间。赋值的过程中,就是赋予这个变量一个值,即App Inventor中的设...为...积木块。赋值使用=进行,=表示右边的值赋予给左边的变量。

声明/初始化变量:

赋值:

使用,直接使用变量名即可:

需要注意的是:String字符串必须用英文的双引号"括起来,char字符类型必须用英文的单引号'括起来。

声明/初始化变量的过程和赋值的过程可以合并在一起进行书写,如下所示:

 

 

变量命名规则

变量名的第一个字符必须是英文字母、_下划线或者$美元符号,其它部分没有限制。

变量名不能与Java关键字相同,Java关键字是Java征用了的,具有特殊意义的,例如int就表示“整数”的意思,所有变量名就不能使用了。

变量名中不能出现空格/Tab缩进,不能出现特殊符号

变量名应当简单明了,有具体意义

 

变量命名规范

建议使用“驼峰命名法”

该命名法采用英文单词,首单词的首字母小写,其它单词的首字母大写。该命名法同样适用于命名方法(函数)

例如:我的名字myName