基本数据类型

计算机处理的基本元素是数据,数据有不同的数据类型。编译器根据数据类型对应的取值范围来为其分配内存空间。

1.基本数据类型分类

Java定义了两大类数据类型,基本数据类型和引用数据类型,如图

在这里插入图片描述
而整数类型就分为字符型,短整型,字节型,整型,长整型
浮点类型包括浮点型和双精度型

JAVA中一共有八种基本数据类型,分别是:byte、short、int、long、float、double、char、boolean。
在这里插入图片描述
需要注意的是,Java基本数据类型所占储存空间的二进制位数是固定的,不会因为硬件平台以及操作系统的不同而改变。这种特性使得Java语言具有平台无关性和更好的可移植性

各种基础数据类型所占字节数的大小 (单位Byte)
整数型数据 byte 1 short 2 int 4 long 8
小数型数据 float 4 double 8
字符型数据 char 2
布尔型数据 boolean 1

在java中,定义整数型数据的时候,如果字面量是十进制的数值,那么java会自动默认为int型。 也就是说:int short byte long 这几个,只要后面跟的是十进制的整数,那么它们都被默认为int型

转义符

Java还定义了一种以" \ “开头的字符序列,称之为转义符,指那些难以用一般字符来表示的特殊字符。” \ "改变了紧接其后的那个字符的原始含义。要在前面一个字符前加上这个 \ ,这样才能使编译器知道那个字符只是一个普通的字符

关于计算机内存中储存的二进制

记住,在计算机内存存储的二进制都是以补码的形式进行存储,在内存中第一位表示符号位,0表示正,1表示负 什么是补码?
对于一个正数来说,它的原码、反码、补码都一个样
如:10的原码:00000000 00000000 00000000 00001010 对于一个负数来说,它的原码、反码、补码是什么样子的、
原码很简单,就是一个整数的二进制表示,第一位是符号位
如:-1的原码:10000000 00000000 00000000 00000001
反码:符号位不变,其他位取反也就是说,原来是0的要变成1,是1的要变成0,记住符号位不变
-1的反码:11111111 11111111 11111111 11111110
补码:反码+1
-1的补码:11111111 11111111 11111111 11111111

字符转换

二元运算不仅存在于两个类型相同的数据之间,将小取值范围低精度数转换为大取值范围高精度数,这一过程称之为拓宽类型转换,反之称为缩窄类型转换

Java默认采取拓宽类型转换
1)转换的规则是如果存在double型,则按double型计算
2)否则,如果存在float型,则按float型计算
3)若存在long型,就按long型计算
4)不然就按int型计算

char类型可以转换为int型,而int型却不能随意转换为char类型
因为int型为4个Byte char为2个Byte

int型和long型转换为float型和double型时可能会丢失精度

基础数据类型,小转大,在小的一方的取值范围内,可以自动转换,也叫自动类型转换。大转小,要强转,也叫作强制类型转换

字符型与数值型转换

char型是16位的无符号数,可以和任意一种数值类型相互转换。
1)整数转化为字符
整数转换为char型数据时,只保留数据的低16位,大于16位的部分被忽略,小于16位的高位补0(高位低位问题可以参考大小端序)

2)浮点数转化成字符
浮点数转换成char型数据时,首先将浮点数转换为int型,然后将这个int型数值转换成char型

3)字符型转换成数值型
反过来,将char型数据转换成数值型时,得到的结果时这个字符的Unicode编码对应的数值,转换成byte型时,结果是低八位

4)强制类型转换
在0~0xFFFF之间的任何一个数值都可以直接转换成char型数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>