基本数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本数据类型相关的知识,希望对你有一定的参考价值。
1、java 基本数据类型四类八种:
byte、short、int、long、float、double、char、boolean
2、java 的byte、short、int、long、float、double、char都可以为它们直接赋int 值;也可以把八进制(以0打头)、十六进制(以0x或0X打头)数赋值给它们。
public class Test { public static void main(String[] args) { byte b = -100, b2 = -0100, b3 = -0X10; short s = 100, s2 = 0100, s3 = 0x10; int i = 100, i2 = 0100, i3 = 0x10; long l = 100, l2 = 0100, l3 = 0x10; float f = 100, f2 = 0100, f3 = 0x10; double d = 100, d2 = 0100, d3 = 0x10; char c = 100, c1 = 0100, c3 = 0x10; } }
但十六进制的不能赋值为浮点数类型:
public class Test { public static void main(String[] args) { double d = 100.1, d2 = 0100.1;//这一行正常 double d3 = 0x10.1;//这一行报错 } }
2、char 类型
java 为了实现跨平台,使用Unicode 编码,Unicode 又分为2 种,UTF-8 和UTF-16。
java 采用的是UTF-16 编码方式,所以一个字符在内存中占用两个字节,比如‘a’ 这个字符在内存中也占用两个字节。
char 类型的声明:
char c1 = ‘中‘;
char c2 = 97;
char c3 = ‘\u0061‘;
97和 0061分别是十进制和十六进制的,各自都有对应的二进制形式,即它们在内存中的存储形式,一个二进制数对应Unicode 字符集中的一个确定的字符。
97默认是int 类型的,对应的二进制数为0000 0000 0000 0000 0000 0000 0110 0001,一共四个字节,32位;类型转换,砍掉高位的两个字节变为两个字节,16位:0000 0000 0110 0001,这个二进制数会对应Unicode 字符集里的一个字符。
3、浮点型数据
单精度浮点型、双精度浮点型
声明为十进制形式的:float f = 3.14
声明为科学记数法形式的:float f = 3.14e10F, f2 = 3.14E10f, f3 = 3.14E-10F;
0——1之间有无数个浮点数,所以浮点数是有误差的。在第几位出现误差叫做精度。float 7位,double 15位。
0.1内部用0.0999很多个9来模拟。
计算机里的浮点数是离散的,现实中的浮点数是连续的、无穷的。
以上是关于基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章