JAVA中基本变量共包括:byte,short,int,long,float,double,char,boolean,在程序中用的最普遍,最多,但是它们的一些关键也经常被我们所忽略,我今天总结了一下,贴在这里。。。
1. 变量定义: 一个由标识符定义的数据项,包括类型、名称和值三个部分
2. 变量分类:
类型 | 大小 | 说明 |
byte | 1 字节 (8 位 ) | 范围: -128~127 ,常用于字节数组,如将数字存入字节数组(见小练习 2 ),将字符串转换成字节数组 ( 见 codeh). |
short | 2 字节 (16 位 ) | 范围 :-32767~32768 |
int | 4 字节 (32 位 ) | int 是整形的默认类型,即所有初始化的整形都是 int 型,如 byte i = 22; byte j = 3; i + j 和 5 不是 byte 型而是 int 型 |
long | 8 字节 (64 位 ) | 如果将一个整数定义成 long 型必须在数后加 L 或 l ,如 256L |
float | 4 字节 (32 位 ) | 浮点数类型,如果将整数或浮点定义为 float 类型,则其后要加 f ,因为浮点默认类型是 double ,将整形赋值给 float 时,如果整形的位数超过 32 则需加 f ,否则不 f 也可以 |
double | 8 字节 (64 位 ) | 浮点数类型的默认类型,但 double 类型后可以加 D 也可不加 |
char |
2 字节 (16 位 ) | 用于存放字符,表示 Unicode 编码表中的字符,占两个字节,其中英文字符和数字在存储时只占其中的一个字节,而汉字占两个字节, char 可以和 int 互相转换。可以赋值为: ’ ’ 但是不可以是 ’’ ,可以用 ASCII 码标识字符,范围 :01~255 ,在用字符判断范围时常用到 ASCII 码。 |
boolean | 1/8 字节 (1 位 ) | 有两个值: true,false 可以和 0 、 1 互换,是 boolean 类型的最小寻址空间是 1byte ,即占用空间 1byte ,但是只占其中的 1 位。 |
注:虽然 float 和 int 位数相同, double 和 long 的位数相同,但是 int 和 long 均没有 float
和 double 表示的范围大,因为 double 和 float 有小数位。
3 .数据类型的转换
说明:
较小的类型可以直接赋值给较大的类型,如 byte i = 8; int j = i; 较大的类型赋值给较小的类型需要强制转换 , 如 int m = 256; byte n = (int)m; 但是此时会损失精度,因为 byte 最多存储 8 位,但是如果 m 不超过 8 位,就不会损失精度。图示如下:
256 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ( 32 位)
强制转换成 byte 型只剩 8 位 0 0 0 0 0 0 0 0 就变成了 0 ,随时精度,其它几种数值类型也是如此(包括 char 转换成数值型)。
以上是本人在学习时的一点总结,拿来和大家分享,如有不对之处,请指正!