天天看点

不同语言的变量类型及字节长度 (C & Java)

一. Java

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.数据类型的转换

不同语言的变量类型及字节长度 (C & Java)

说明:

较小的类型可以直接赋值给较大的类型,如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转换成数值型)。