`
Jack-chen
  • 浏览: 71441 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用代码来测试JAVA中数据类型的存储大小

    博客分类:
  • Java
阅读更多
感谢CSDN jack_chen


import java.io.*;

public class abc {

    public static void main(String[] args) {

        char cr = 1;
        byte be = 1;
        short st = 1;
        int it = -1;
        long lg = 1;
        float ft = 1;
        double de = 1;

        int cnt;
        byte x;
        int cot = 0;
        int byteSize = 0;

        // System.out.println("Float.size: "+Float.SIZE);
        // System.out.println("Double.size: "+Double.SIZE);

        for (cnt = 1; (cr <<= 1) != 0; cnt++)
            ;
        System.out.println("char'sBits:" + cnt);

        for (cnt = 1; (be <<= 1) != 0; cnt++)
            ;
        System.out.println("byte'sBits:" + cnt);
        byteSize = cnt;

        for (cnt = 1; (st <<= 1) != 0; cnt++)
            ;
        System.out.println("short'sBits:" + cnt);

        for (cnt = 1; (it <<= 1) != 0; cnt++)
            ;
        System.out.println("int'sBits:" + cnt);

        for (cnt = 1; (lg <<= 1) != 0; cnt++)
            ;
        System.out.println("long'sBits:" + cnt);

        // 用字节流处理double
        try {
            ByteArrayOutputStream buf = new ByteArrayOutputStream();
            DataOutputStream out = new DataOutputStream(buf);
            out.writeDouble(de);
            out.close();
            DataInputStream in = new DataInputStream(new ByteArrayInputStream(
                    buf.toByteArray()));

            while ((x = (byte) in.readByte()) != -1) {

                // System.out.println("byte["+cot+"]:"+x);
                cot++;
            }
            in.close();

        } catch (IOException e) {
            System.out.println("EOF!!!");
        }
        System.out.println("The Double's bit size is :" + cot * byteSize);

        // 用字节流处理float
        try {
            cot = 0;
            ByteArrayOutputStream buf = new ByteArrayOutputStream();
            DataOutputStream out = new DataOutputStream(buf);
            out.writeFloat(ft);
            out.close();
            DataInputStream in = new DataInputStream(new ByteArrayInputStream(
                    buf.toByteArray()));

            while ((x = (byte) in.readByte()) != -1) {

                // System.out.println("byte["+cot+"]:"+x);
                cot++;
            }
            in.close();

        } catch (IOException e) {
            System.out.println("EOF!!!");
        }
        System.out.println("The Float's bit size is :" + cot * byteSize);

    }

}
分享到:
评论

相关推荐

    Java中的数据类型及JDK, JRE, 和 JVM解释及关系.zip

    Java数据类型分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。这些类型的大小和值范围是固定的,它们直接...

    java源码包---java 源码 大量 实例

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    数据类型和运算符用Java描述下载资料

    这份"数据类型和运算符用Java描述下载资料"涵盖了Java编程基础中的关键概念,对于初学者和进阶者都是宝贵的参考资料。 首先,Java的数据类型可以分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型...

    点评网美食数据抓取代码--java 实现

    8. **数据清洗与预处理**:抓取到的数据可能存在格式不统一、缺失值等问题,需要进行数据清洗,包括去除空格、转换数据类型、填充缺失值等步骤,以便后续数据分析。 9. **合规性问题**:在进行数据抓取时,必须遵守...

    JAVA上百实例源码以及开源项目源代码

    Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...

    redis存储二进制数据测试代码

    Redis,作为一个高性能的键值对数据存储系统,不仅支持简单的字符串、整数和浮点数等数据类型,还能够处理二进制数据。在实际应用中,存储和处理二进制数据是常见的需求,比如图片、音频、视频的元数据或者数据库的...

    java数据类型、变量、数组.pdf

    Java是一种强类型语言,这意味着在编写Java代码时,必须为每个变量指定其数据类型,并且在操作中,数据类型的兼容性会受到严格的检查。这种特性增强了Java的安全性和健壮性,因为编译器会在编译阶段检测并报告类型不...

    基于java+OpenCV人脸识别+图片相似度检测+源码+开发文档说明+代码解说(毕业设计&课程设计&项目开发)

    将内存中的两张图片bitmap转换为Mat矩阵(Mat类是OpenCV最基本的一个数据类型,它可以表示一个多维的多通道的数组。Mat常用来存储图像,包括单通道二维数组——灰度图,多通道二维数组——彩色图) 把Mat矩阵的type...

    简单测试代码

    测试应涵盖不同数据类型和值的场景。 6. **size()**:返回ArrayList中的元素数量。测试时确保返回值与实际元素数量相符。 7. **clear()**:清空ArrayList。测试时确认清空后ArrayList的size()返回0。 8. **index...

    java项目源代码

    通过分析和修改这个斗地主游戏的源代码,开发者可以加深对Java语言的理解,学习如何设计和实现一个完整的项目,以及如何用代码来模拟现实世界的规则。同时,这也是一个很好的机会去练习软件工程的最佳实践,比如代码...

    java代码优化大全

    通过将`list.size()`的值提前计算并存储在一个局部变量中,可以避免在每次循环迭代时重新计算列表的大小,从而提高循环的效率。 #### 四、异常处理的优化 异常处理是Java程序中非常重要的一部分,但不当的异常处理...

    164个完整的Java程序源代码

    1. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型、布尔型)、运算符(算术、比较、逻辑、位操作等)、流程控制(if语句、switch语句、for循环、while循环、do-while循环)。...

    吃豆子游戏(java代码)

    吃豆子游戏是一款经典的街机游戏,源自1980年发布的Pac-Man。在这个游戏中,玩家控制一个...记得实践是检验真理的唯一标准,动手尝试修改源码,添加新功能,或者优化现有代码,这将加深你对Java编程和游戏开发的理解。

    Java中的自动装箱与拆箱:深入理解基本数据类型与对象的转换

    - **自动装箱实现**:当编译器检测到需要将基本数据类型转换为包装类时,会调用该包装类的构造函数来创建一个新的对象。 - **自动拆箱实现**:当需要将包装类对象转换为基本数据类型时,编译器会调用包装类中的特定...

    JAVA上传下载源代码

    在Java编程语言中,上传和下载功能是网络应用的核心部分,尤其在开发Web服务、文件管理系统或者云存储平台时。本资源提供了JAVA实现的上传和下载源代码,这对于理解和实践相关技术至关重要。以下是对这些源代码可能...

    java贪食蛇源代码

    5. **数组与集合**:蛇的身体由多个蛇段组成,可以使用数组或ArrayList等集合数据结构来存储。通过动态调整数组或集合的大小,可以实现蛇的长度变化。 6. **图形绘制**:虽然控制台版本的贪吃蛇不需要复杂的图形,...

    java数据结构学习项目源代码

    Java数据结构学习项目源代码是面向Java开发者的一个实践性学习资源,它涵盖了各种经典的数据结构实现,对于提升编程技能和理解算法有极大的帮助。在这个项目中,你可以找到一系列用Java编写的、与数据结构相关的代码...

    Java 代码从Excel表写入数据库

    在IT行业中,Java是一种广泛应用的编程语言,而处理Excel数据是常见的需求,特别是在...文件"exceltest"可能是包含示例代码或测试数据的文件,通过阅读和分析这个文件,可以更具体地了解如何将上述理论应用到实践中。

    获取ftp服务器文件的大小

    3. **错误检测**:通过比较下载后的文件大小与原始文件大小,可以检测下载过程中是否发生了数据丢失或损坏等问题。 #### 实现方法详解 下面,我们将基于提供的代码示例来详细介绍如何通过C#编程语言实现获取FTP...

    JAVA解析DBC文件

    总结来说,用JAVA解析DBC文件涉及的关键技术包括文件I/O操作、字符串处理、数据类型转换以及对象建模。在处理过程中需关注数据的大小端问题,以确保解析的正确性。同时,解析后的数据可以用于多种汽车相关的软件开发...

Global site tag (gtag.js) - Google Analytics