从头学Java-基本数据类型
整型
byte 1个字节 short 2个字节 int 4个字节 long 8个字节 char 2个字节 float 4个字节 double 8个字节 每个字节在内存中占8位
如果把一个超出int范围的整数赋值给int,Java不会将这个数当做long类型来处理,如果希望把整数当做一个long类型来处理,应该在这个整数的后面加一个L为后缀,
public static void main(String[] args) {
//下面这种情况Java不会将这个数当做long类型来处理,而出现错误
//long big = 999999999999999999;
//要在后面加一个L强制转换成long
long big = 999999999999999999L;
}
字符型
字符型的三种表现形式:
1.直接通过单个的字符来指定字符型值,例如:‘A’,‘9’,‘0’等
2.通过转义字符来表示特殊的字符类型,例如:’\n’,’\t’
3.直接使用Unicode值来表示字符型值,格式是’\uXXXXX’,其中X表示的是一个十六进制的整数,范围是0~65535,如果把一个
0-65535之间的一个int整形赋值给char类型整数,系统会自动把这个int整数当成char类型来处理
Java中没有提供字符串的基本数据类型,而是提供了一个String类来表示字符串类型,char使用单引号括起来,String使用双引号括起来,Java语言中的单双引号与反斜杠都有特殊的用途,如果字符串中含有这些字符,那么就要注意了.例如要描述一个路径C:\java,这样写不能达到预期的目的,要这样写C://java
浮点型
Java中采用二进制数据的科学计数法来表示浮点数,对于float类型的数值,第一位表示符号位,接下来的八位表示指数,在接下来的23位表示尾数
对于double类型的数值,第一位也表示符号位,接下来的十一位表示指数,最后的52位用来表示尾数.
double的精度比float的精度高,但是都不能排除会丢失精度的问题.如果对精度的要求特别高的话,建议使用BigDecimal类.
Java中还提供了三个特殊的浮点数:正无穷大,负无穷大和非数,用于表示溢出和出错.负无穷大用Double和Float的NEGATIVE_INFINITY表示,正无穷大用Double和Float的POSITIVE_INFINITY表示,非数则用NaN表示.所有的正负无穷大都是相等的,而非数不与任何数相同,甚至和自己都不相同.
布尔型
布尔型只有一个boolean类型,用来表示逻辑上的"真"或"假",.boolean型的数值只能是true或false,不能用0或者非0来表示,其他的基本数据类型都不能转换成布尔型.
在Java中并没有强制指定boolean类型的变量所占据的空间.
字符串类型的"true"和"false",不会直接转换成boolean类型,但如果使用一个boolean类型的值与字符串进行连接运算,则boolean类型的值将会自动转换成字符串.
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
String s1 = b1+"";