标签:https 语言 idt 字符 地址 tab 转换 字符型 高精度
Java语言是一个强调数据类型的语言,在声明任何变量时,必须将该变量定义为一种数据类型。
Java中的数据类型包括基本数据类型和引用类型。
Java程序中,总共有8大基本类型,其中4种整型、1种字符型、2种浮点型、1种布尔型,除了这几种基本类型外,其他都属于引用类型的数据。
整型类型 | 字节大小 | 声明方式 | 表示范围 |
byte字节型 | 1 byte | byte num = 12 | -128~127 |
short短整型 | 2 bytes | short num = 12 | -32768~32767 |
int整型 | 4 bytes | int num = 12 | -2147483648~2147483647 |
long长整型 | 8 bytes | long num = 12L | -9223372036854775808 ~9223372036854775807 |
1、float单精度浮点型
占4 bytes大小,有效数字最长为7位,有效数字长度包括了整数部分和小数部分。
float num = 255.32f;
在每个单精度浮点型数据后面,都有 一个标志性符号“F”或者“f”,有这个标志就代表是单精度浮点型数据。
2、double双精度浮点型
双精度浮点型数据占据8个字节,有效数字最长为15位。
系统默认不带标志性符号的浮点型数据是双精度浮点型数据。
关于java中float和double数据类型的精度问题可以查看这篇文章:浮点数那些事儿
注意:
由于浮点数是不精确的,千万不要用于比较。如果非要比较两个数,可以使用java.math包下面的两个类:BigInteger和BigDecimal。前者实现了任意精度的整数运算,后者实现了任意精度的浮点数运算。
字符型数据占2 bytes大小。
字符变量用单引号表示。
双引号表示字符串,在java中字符串用String类型表示。String是一个类。
char s = ‘a‘; char s = ‘中‘;
在对char做运算的时候,char类型用来表示在Unicode编码表中的字符,具有0-65536之间的编码,从‘\u0000‘-‘\uffff‘之间的十六进制值来表示。前缀为u表示Unicode。
布尔型数据占一个字节。true为真,false为假。
引用数据类型占4 bytes,存储的是对象的地址。除了基本数据类型以外,其它的都是引用数据类型。比如:类(对象)接口、数组等。
转换关系:byte < short < int < long < float < double。
精度低的数据类型可以自动的往精度高的数据类型进行转换。在java中,精度高低可以理解成表示的能够表示的数据范围的大小,而不是数据类型所占的字节数的大小。
所以自动类型转换也可以理解成容量小的数据类型能够自动转换成容量大的数据类型,这里的容量指的是所能表示数的个数。比如浮点数能表示数据的个数是大于整型数据的,所以整型数据可以自动转换为浮点型数据。
自动类型转换关系图
从高精度数据类型转换为低精度数据类型。用于显示的转换一个数值的类型,在有可能丢失信息的情况下进行的转换是通过强制类型转换得到的。可能造成精度降低或溢出。
int num = (int) 3.14;//num = 3
标签:https 语言 idt 字符 地址 tab 转换 字符型 高精度
原文地址:https://www.cnblogs.com/yuliangbin/p/9288598.html