java数据类型(4)整数型

本文介绍了Java中整数型数据类型(byte, short, int, long)的占用空间、默认值及取值范围。详细阐述了整数型字面值的默认处理方式为int类型,以及如何通过1/L后缀将其转换为long类型。同时,解释了八进制和十六进制的表示方法,并通过示例展示了不同类型间的自动转换机制。最后,针对整数溢出问题给出了解决方案。
摘要由CSDN通过智能技术生成

/*
    关于java语言当中的整数型:
    数据类型                占用空间大小                默认值                取值范围
    -------------------------------------------------------------------------------------
    byte                    1                            0                    【-128~127】
    short                    2                            0                    【-32768~32767】
    int                        4                            0                    【-2147483648~2147483647】
    long                    8                            0L
    
1、java语言当中的“整数型字面值”被默认当做int类型来处理。要让这个“整数型字面值”被当做
long类型来处理的话,需要在“整数型字面值”后面添加1/L,建议使用大写的L。

2、java语言当中的整数型字面值有三种表示方式:
    第一种方式:十进制【是一种缺省默认的方式】常用
    第二种方式:八进制【在编写八进制整数型字面值的时候需要以0开始】
    第三种方式:十六进制【在编写十六进制整数型字面值的时候需要以0x开始】
    
    
    
    
*/
public class DataTypeTest04
{
    public static void main(String[] args){
        int a = 10;
        int b = 010;//整数型字面值以0开头的,后面那一串数字就是八进制
        int c = 0x10;//整数型字面值以0x开头的,后面那一串数字就是十六进制
        
        System.out.println(a);//10
        System.out.println(b);//8
        System.out.println(c);//16
        
        System.out.println(a + b + c);//34
        
        //123这个整数型字面值是int类型
        //i变量声明的时候也是int类型
        //int类型的123赋值给int类型的变量i,不存在类型转换
        int i = 123;
        System.out.println(i);
        
        //456整数型字面值被当做int类型,占用4个字节
        //x变量在声明的时候是long类型,占用8个字节
        //int类型的字面值456赋值给long类型的变量x,存在类型转换
        //int类型转换成long类型
        //int类型是小容量
        //long类型是大容量
        //小容量可以自动转换成大容量,称为自动转换机制。
        long x = 456;
        System.out.println(x);
        
        //2147483648字面值是int类型,占用4个字节
        //y是long类型,占用8个字节,自动类型转换
        long y = 2147483647;
        System.out.println(y);
        
        //编译错误:过大的整数:2147483648
        //2147483648被当做int类型4个字节处理,但是这个字面值超出int类型范围
        //long z = 2147483648;
        
        //解决错误
        //2147483648字面值一上来当作long类型来处理,在字面值后面添加L
        //2147483648L是8个字节的long类型
        //z是long类型变量,以下程序不存在类型转换
        
        
        
        long z = 2147483648L;
        System.out.println(z);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值