一、java数据类型
1、java基本数据类型
java中的基本数据类型有boolean,int,short,byte,long,double,float,char
存储长度(1字节占8位):
byte
1字节 -128~127
short
2字节
char
2字节
int
4字节
long
8字节
float
4字节
double 8字节
boolean型没有表示。
2、java中的整数的表示法
2-1、十进制表示法
2-2、八进制表示法
2-3、十六进制表示法
注意:如果在整数后面加“L”或者“l”则表示该数是long型 如123L的类型为long
3、浮点型数据表示法
2种形式
3-1、如0.123,23.01等
3-2、用“e”或“E”来表示,如2e3(2000.0),1E2(100.0),1e-1(0.1)等,e后面紧跟的一个数被看做是
与e一个整体如1e-1中的e-1。
注意:浮点型的数据后面也可以跟d,D,f,F来表示其类型,如123f(123F)表示float型,而123d(123D)表示double型
4、字符型数据表示法
如'a','b',' '等。'\'是非法的因为它是转义字符,用'\\'代替
5、整形数据的位运算
二、计算机中的数据表示
计算机中的数据由二进制表示
原码:最高位位符号位(0为正,1为负),0有2种表示法如00,10.
反码:正数的反码跟原码相同,负数的反码是符号位为1,其余各位是对原码取反;0也有2种表示如000,
111.
补码:正数的补码跟原码相同,负数的补码是:符号位为1,其余各位是对原码取反,然后再在真个数上加
1,溢出时舍去最高位。
47 00101111 00101111 00101111(正数补码和原码、反码相同,不能从字面理解)
-47 10101111 11010000 11010001(负数补码是在反码上加1)
进制转换
2进制 0000 0001 0010 0011 0100 0101 0110 0111
16进制 0 1 2 3 4 5 6 7
2进制 1000 1001 1010 1011 1100 1101 1110 1111
16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:
3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102
右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
2进制 0000 0001 0010 0011 0100 0101 0110 0111
16进制 0 1 2 3 4 5 6 7
2进制 1000 1001 1010 1011 1100 1101 1110 1111
16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:
3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102
右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
二进制换八进制
例:
10101101 看做 010 101 101
换成对应的就 255
二进制换十六进制
例:
10111101101 看做 0101 1110 1101
换成对应的就是 5ED
例:
10101101 看做 010 101 101
换成对应的就 255
二进制换十六进制
例:
10111101101 看做 0101 1110 1101
换成对应的就是 5ED
二进制转十进制
10111 这是二进制数
10111=1*2的4次方+0*2的3次方+1*2的2次方+1*2的1次方+1*2的0次方 = 16+0+4+2+1=23
十进制转二进制,整数部分按除2取余,小数部分按乘2取整.
例:
50/2 ........ 余0
25/2 ........ 余1
12/2 ........ 余0
6/2 ........ 余0
3/2 ........ 余1
1 1
50的二进制就是 110010
小数
0.25*2 ........ 0.5 整数 0
0.5*2 ........ 1.0 整数 1
0.25的二进制数就是 0.01
10111 这是二进制数
10111=1*2的4次方+0*2的3次方+1*2的2次方+1*2的1次方+1*2的0次方 = 16+0+4+2+1=23
十进制转二进制,整数部分按除2取余,小数部分按乘2取整.
例:
50/2 ........ 余0
25/2 ........ 余1
12/2 ........ 余0
6/2 ........ 余0
3/2 ........ 余1
1 1
50的二进制就是 110010
小数
0.25*2 ........ 0.5 整数 0
0.5*2 ........ 1.0 整数 1
0.25的二进制数就是 0.01
十进制数换八进制数,整数部分按除8取余,小数部分按乘8取整.
十进制转十六进制,整数部分按除16取余,小数部分按乘16取整.
十进制转十六进制,整数部分按除16取余,小数部分按乘16取整.