Java基本数据类型

数据类型

1、强类型语言与弱类型语言
强类型语言:在使用之前必须声明数据类型,比如Java
弱类型语言:在使用之后,由值来决定数据类型,比如js
2、Java的基本数据类型和引用数据类型
基本数据类型:byte、short、int、long,float和double,boolean,char
引用数据类型:除了基本数据类型之外的的,都是引用数据类型,包括数组、对象等。引用数据类型的默认值是null。

基本数据类型

整型:byte、short、int和long,都是补码表示的有符号整数,分别占位1、2、4、8个字节。默认值为0.

浮点型:float和double,分别为32和64位浮点数表示。默认值为0.0。

字符char:由unicode码表示,占2个字节。默认值为'u0000'。

布尔类型boolean:占1位,只有true和false两种值,默认为false。

原码、反码和补码

原码:首位为符号位,0表示正数,1表示负数。
反码:在原码的基础上,正数不变,负数除符号位之外取反。
补码:在反码的基础上,正数不变,负数减一。

浮点数表示

float的表示由三部分组成:符号位(1位)+阶码(8位)+尾数(23位)
double也由三部分组成:符号位(1位)+阶码(11位)+尾数(52位)
以float为例讲解:将一个数x转为float存储
(1)数x的正负决定符号位,正数表示为0,负数表示为1
(2)将数|x|转换为二进制形式,再转为2^ny的形式,n是整数,1<=y<2
(3)阶码部分的初始值是01111111,即127,其与n相加的结果就是阶码表示部分
(4)尾数部分取y的小数部分,其后补零
比如11.625:
(1)符号位取0
(2)绝对值转为二进制:1011.101=1.011101
2^3
(3)阶码取127+3=130=1000 0010
(4)尾数取011101,其后补零
(5)结果为0 10000010 011101 00000000000000000

double与之类似,其阶码初始值为01111111111,即2047。

特殊赋值

1、八进制和十六进制
注意:Java中不存在二进制表示
八进制:以数字0开头,每一位的范围为0-7,如012
十六进制:以数字0开头,其后一位为大写或小写的字母x,再之后的每一位范围为0-9、A-F(小写也可)
2、科学计数法

int a=3e2;//300

3、转义字符

char n='
';

4、大小写拼英与数字

int a='a';
int b='A';
int c='0';
原文地址:https://www.cnblogs.com/heibaimao123/p/13763113.html