跟着姜少学Java基础编程之一:数据类型

本文详细介绍了Java语言中的8种基本数据类型,包括字节型、整型、浮点型、字符型和布尔型,并提供了每种数据类型的存储空间大小及使用注意事项。

本篇主要介绍Java语言中的8种基本的数据类型。

常用数据类型

Java中常用的数据类型可以分为:字节型、整型、浮点型、字符型和布尔型。

Java常用数据类型列表

类型数据类型存储空间备注
字节型byte1字节(8位)
整型short2字节(16位)又称为短整型
整型int4字节(32位)
整型long8字节(64位)又称为长整型
浮点型float4字节(32位)又称为单精度
浮点型double8字节(64位)又称为双精度
字符型char2字节(16位)
布尔型boolean1字节(8位)

在实际开发过程中,根据使用频率,常用的数据类型有byte、int、long、double、char和boolean。

1.1 byte型

byte表示数据的范围比较有限,一个字节8位,从27271,即-128~127。注意使用byte存储的时候要注意数值范围不要超出范围。

1.2 int型

int型是常用的数据类型,主要用来存储整数,占用4个字节32位,可以表示从2312311,即-2147483648~2147483647。

在代码里直接写出来的整数,默认的类型是int类型。而且可以写十六进制(以0x开头),可以写八进制(以数字0开头),但不能直接写二进制整数(jdk1.7之后可以写二进制,以0b开头)。

    int num1 = 90;//整数90默认的为int类型
    int num2 = 0xff;//ff为十六进制整数,即十进制255
    int num3 = 011;//11为八进制整数,即十进制9
    int num4 = 0b100;//100为二进制,即十进制4,jdk1.7之前不支持

注意:
1)直接写出的整数,如果超出int类型的范围,会导致编译错误
2)整型在相除时,会丢弃小数部分
3)int型数据运算时,如果超出范围,会发生溢出

    int num1 = 10000000000;//编译错误,超出了int的范围
    int num2 = 5/2;         //num2的值为2,整数相除会舍弃小数部分
    int num3 = 2147483647;  //int所表示的最大整数,即范围的上边界
    num3 = num3+1;         //num3的值为-2147483648
    int num4 = -2147483648; //int所表示的最小整数,即范围的下边界
    num4 = num4-1;         //num4的值为2147483647

1.3 long型

在表示整数时,如果int类型的范围不够,可以使用long类型,long类型占8个字节64位,表示范围为263~2631。整数后面加“L”或者“l”可以表示该数值为long型,建议使用“L”作为后缀(防止小写的字母l与数字1发生混淆)。
注意:
1)long型数值如果超出int的范围,不写L后缀会出现编译错误
2)运算的结果可能超出int范围,参与运算的数值要保证其中一个为long型,推荐将第一个参与运算的整数设置为long型

    long num1 = 1000;           //不会出现编译错误
    long num2 = 10000000000;   //超出int范围,不加L后缀会出现编译错误

    //dis1的值为-836239360,因为运算结果超出了int范围,产生了溢出
    long dis1 = 10000*365*24*60*60*300000000; 
    //dis2的值为2374279631452241920,将第一个数字设置为long型 
    long dis2 = 10000L*365*24*60*60*300000000; 

1.4 double型

浮点数就是我们常说的小数,包括float和double型,float占4个字节32位,表示的小数精确度较低,属于单精度浮点数。而double占8个字节64位,表示的小数精确度高,是float的2倍,因此double也叫双精度浮点数,大多数情况下,小数使用double型。double表示的范围:4.9E-324 (21074)~1.7976931348623157E308 (210241)。

注意:
1)代码中直接写出的小数默认为double类型,因此可以省略“D”或“d”的后缀
2)要表示一个小数为float型,必须加“F”或者“f”做后缀
3)小数可以使用0.0125的写法,也可以使用科学计数法写为1.25E-2。
4)运算中,如果有double型数字参与运算,结果为double型
5)计算机是二进制的世界,因此无法十分精确的表示小数,总会存在误差。想要进行精确运算,推荐使用BigDecimal,此处暂不介绍。

    float num1 = 1.25;   //编译错误,小数默认为double型
    float num2 = 1.25f;  //正确
    double num3 = 5/2.0; //num3的值为2.5
    double num4 = 3.0;
    System.out.println(num4-2.9);  //输出结果为0.10000000000000009

1.5 char型

char型实质上是一个16位的无符号整数,其值是Unicode字符编码值。
注意:
1)字符型使用单引号,不能使用双引号(双引号代表字符串)
2)可以使用整数(0~65535之间),字符和Unicode字符赋值

    char c1 = "A";   //字符使用双引号,出现编译错误
    char c2 = 65;    //正确,可以使用十进制整数赋值
    char c3 = 0x41;  //正确,也可以使用十六进制整数赋值
    char c4 = '\u0041'; //正确,使用Unicode字符的十六进制赋值

1.6 boolean型

boolean类型适用于真假逻辑,只有两个取值,true和false。一般用于条件判断,true表示条件成立,false表示条件不成立。

    boolean sex = true;      //正确
    boolean isMarried = false; //正确
    boolean flg = TRUE;     //编译错误,boolean值不支持大写TRUE或FALSE

不同的数据类型之间可以相互转化,有自动转换和强制转换,下一篇将介绍类型转换。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值