Java基本数据类型

基本数据类型

boolean、byte、short、int、long、char、float、double

最大最小值

boolean blean = true; //true or false
byte maxByte = Byte.MAX_VALUE; //127
byte minByte = Byte.MIN_VALUE; //-128
short maxShort = Short.MAX_VALUE; //32767
short minShort = Short.MIN_VALUE; //-32768
int maxInt = Integer.MAX_VALUE; //2147483647
int minInt = Integer.MIN_VALUE; //-2147483648
long maxLong = Long.MAX_VALUE; //9223372036854775807
long minLong = Long.MIN_VALUE; //-9223372036854775808
//16位Unicode字符;可以储存任何字符;
char maxChar = Character.MAX_VALUE; //uffff(即为65535)
char minChar = Character.MIN_VALUE; //u0000(即为0)
//浮点数不能用来表示精确的值
//单精度、32位、符合IEEE 754标准的浮点数;
float  maxFloat = Float.MAX_VALUE; //3.4028235E38
float  minFloat = Float.MIN_VALUE; //1.4E-45
//双精度、64 位、符合IEEE 754标准的浮点数;
double maxDouble = Double.MAX_VALUE; //1.7976931348623157E308
double minDouble = Double.MIN_VALUE; //4.9E-324

数值转换

自动转换(容量小的类型转换为容量大的类型时)

byte,short,char—> int —> long—> float —> double 

强制转换(容量大的类型转换为容量小的类型时)

可能会溢出,丢失精度。

我的疑问

1、什么是IEEE 754标准的浮点数?

一种浮点数运算标准。

2、浮点型值的表达式含义(4.9E-324)?

科学计数法,aEb=a×10^b。

3、浮点型不能用来表示精确的值,那用什么类型?

使用BigDecimal(Java提供的一个不变的、任意精度的有符号十进制数对象)

4、现在各种各样的字符很多,char可以存储任何字符吗?

不能,Java采用的是16位的Unicode字符集,只能表示65536个字符。

5、byte类型常用来做什么?

传输文件

有趣现象

System.out.println("maxInt:" + maxInt);
System.out.println("maxInt + 1:" + (maxInt + 1));
System.out.println("(int)(2147483647 + 1):" + (int)(2147483647 + 1));
//当其中一个是浮点型,计算值大于最大值时,强制类型转换后,等于最大值。小于最小值同理。
System.out.println("(int)(2147483647f + 1):" + (int)(2147483647f + 1));
System.out.println("2147483647f + 1:" + 2147483647f + 1);


maxInt:2147483647
maxInt + 1:-2147483648
(int)(2147483647 + 1):-2147483648
(int)(2147483647f + 1):2147483647
2147483647f + 1:2.14748365E91
原文地址:https://www.cnblogs.com/lovesong/p/8870786.html