栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA-02 数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA-02 数据类型

          前言:时隔六年,再次来到了CSDN,从心回顾了这些年的技术旅程,时光蹉跎,丢了青丝,白了头发,当初的少年已经没了锋利的棱角。为了保持技术的严谨性,如有错误,烦请诸君指正。
1:什么是数据类型

        在计算机科学和计算机编程中,数据类型或简单的类型是数据的一个属性,它告诉编译器或解释器程序员打算如何使用数据。大多数编程语言支持整数(大小不同)、浮点数(近似实数)、字符和布尔值的基本数据类型。数据类型约束表达式的值,例如变量或函数,可能需要。此数据类型定义了可以对数据执行的操作、数据的含义以及存储该类型值的方式。数据类型提供一组值,表达式(即变量、函数等)可以从中获取其值。

2: java基础数据类型

        整数类型:byte、short、int、long。

        小数类型:float、double。

        字符类型:char。

        布尔类型:boolean 

在代码中利用封装类查看基础数据类型的最大与最小:

    public static void main(String[] args) {
        System.out.println("int最大:" + Integer.MAX_VALUE);
        System.out.println("int最小:" + Integer.MIN_VALUE);
        System.out.println("short最大:" + Short.MAX_VALUE);
        System.out.println("short最小:" + Short.MIN_VALUE);
        System.out.println("long最大:" + Long.MAX_VALUE);
        System.out.println("long最小:" + Long.MIN_VALUE);
        System.out.println("byte最大:" + Byte.MAX_VALUE);
        System.out.println("byte最小:" + Byte.MIN_VALUE);
        System.out.println("float最大:" + Float.MAX_VALUE);
        System.out.println("float最小:" + Float.MIN_VALUE);
        System.out.println("double最大:" + Double.MAX_VALUE);
        System.out.println("double最小:" + Double.MIN_VALUE);
    }

总觉得自己写代码去看才能发现最真实的东西,所以自己去看吧,关于最大值最小值以及占用字节的计算。

        字节长度计算案例

Integer.toBinaryString(Integer.valueOf(Integer.MAX_VALUE)).length()+1)
Long.toBinaryString(Double.doubleToRawLongBits(Double.MAX_VALUE)).length()+1)
Integer.toBinaryString(Float.floatToIntBits(Float.MAX_VALUE)).length()+1)
 3: 包装数据类型

        在java中,基础数据类型不需要实例化就可以使用。而包装数据类型,实际是一个类,在java.lang 包下。需要实例化才可以使用。

        这时候有人会问:"在程序中,我们可以使用Integer a = 1;  去定义一个变量",这期间并没有产生一个新的实例化对象。

        其实啊,类的调用,除静态方法外,都是需要实例化的,为什么Integer 不需要呢?因为他特殊吗?不是的,在jvm中,存在一种机制,叫自动拆箱与自动装箱。

       自动装箱就是java编译器在基本数据类型和对应的对象包装类型之间做一个转化,比如int转为Integer,double转为Double.反之为自动拆箱。有个这一层机制,我们就可以浅显的认定 在值域层,int 是等于 Integer的。

        但是还是有区别的

        在默认层中,integer默认为null,而int默认为0

        在jvm中,integer实际是对象的引用,当new出一个integer时实际上是生成一个指针指向此对象,而int则是直接存储数据值。

        当然 上面也说另外两种区别。int是基本类型,integer是包装类型,integer必须实例化后才能使用,而int变量不需要。

        附表,包装类型表。

类型包装类型
intInteger
byteByte
shortShort
longLong
floatFloat
doubleDouble
char

Char

booleanBoolean
4: 其他数据类型 
        BigInteger bigInteger = new BigInteger("1");
        BigDecimal bigDecimal = new BigDecimal("1.0");

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/931134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号