• JavaSE - 数据类型


    前言:

         数据类型是在学习语言时,首先就要学习的部分。不同的数据类型存储不同的变量,不同的变量存储的方式会有所差异,所占用的内存大小也不同,灵活的运用不同的数据类型会为我们开发的过程中带来很大的好处。

    基本数据类型

    int

    🎈int占用4个字节,在Java语言中没有有符号数和无符号数之分,全认为是有符号数。那么32个bit位,首位当然就是符号位了,其它位即就是数值位了。由此也就很容易的计算出int可以存储数据的范围了。

    🎈当32位全为1时,即int可以存储的最小值-2147483648

    🎈当符号位为0时,其他数值位全为1时,即可以存储正数的最大值2147483647

    short

    🎉short占用2个字节,存储的规则和int的规则是一致的。

    🎉当16bit位全位1是,即short可以存储的最小值-32768

    🎉当符号位为0时,其他数值位全为1时,即可以存储正数的最大值32767

    long

    🧢long占用8个字节,存储规则也同int一致。

    🧢当64bit位全位1是,即long可以存储的最小值-9223372036854775808

    🧢当符号位为0时,其他63数值位全为1时,即可以存储正数的最大值9223372036854775807

    🧢由于Java语言中对字面值整形认为是int类型,所以当对变量类型位为long时的数据初始化时,在数据后面加上L。

    float

    💎float占用4个字节,浮点数的存储规则是按照IEEE754标准(和C语言一样),这里详细的存储方式在下面这篇博客中有详细分析。

     探索数据的存储_小小太空人w的博客-CSDN博客icon-default.png?t=M666https://blog.csdn.net/weixin_62353436/article/details/125004901?spm=1001.2014.3001.5501💎在Java语言中,字面值小数被默认为double类型的数据,在对float类型变量初始化时,在数据后面加上f或者F,还可以直接进行强制类型转换成float类型。

    double

    🪖double占用8个字节,存储方式和float的存储方式一样,也是遵循IEEE754标准

    char

    🎄char占用2个字节,在c语言中char是占用1个字节。因为在c语言中字符存储在内存中实质上是按照ASCLL字符集所对应的十进制数据来存储的,而Java语言中,字符的存储是按照Unicode字符集来存储的,Unicode中每个字符需占用2byte的内存

    byte

    🎈byte占用1个字节,存储方式和int一致。

    🎈当8bit位全为1时,即可以存储的最小值-128

    🎈当符号位为0时,剩余7位数值位全为1时为最大值127

    注意:

    🐵由于cpu架构,每次读取内存中的数据是以4个字节为单位读取的。所以当读取小于4个字节数据时,它们会进行整形提升为4个字节。即运算出的结果也是4个字节的。当使用byte和short类型时需注意。

    boolean

    🎉boolean类型大小官方没有给出具体的值,真就是true,假就是false。和c语言对于真和假的定义是有区别的。

    字符串类型

    在Java中整形和字符串类型是可以相互转换的。

    1. public class Exercise {
    2. public static void main(String[] args) {
    3. int a = 10;
    4. int b = 20;
    5. System.out.println("a:" + a + b);
    6. }
    7. }

     

    可以清楚看见整形和字符串连接在了一起,整体变成字符串。

    1. public class Exercise {
    2. public static void main(String[] args) {
    3. String str = "1000";
    4. System.out.println(Integer.parseInt(str) + 1);
    5. }
    6. }

     

    可以看见将字符串“1000”变为整形1000且加上了1。

    1. public class Exercise {
    2. public static void main(String[] args) {
    3. int a = 100;
    4. String tmp = String.valueOf(a);
    5. System.out.println(tmp);
    6. }
    7. }

     

     可以看见将整形100转换成字符串“100”赋值给tmp。

    小结:

        学习编程语言时,不要只局限于语法的学习,要从语言本身出发,勤于思考,相信会有不一样的收获。 

  • 相关阅读:
    RL Note 1, Basic Concepts in Reinforcement Learning
    企业IT运维开发一体化解决方案
    09-排序2 Insert or Merge(浙大数据结构)
    jupyter notebook 导入已经在pycharm里pip install过的包报错
    基于Python实现的自然语言处理高级专题
    合肥先进光源束测专用网络的规划-续
    第09章 房地产行业案例实战
    elasticsearch导出和导入数据
    Web3 新手攻略:9 个不可或缺的 APP 助力你踏入加密领域
    西班牙知名导演:电影产业应与NFT及社区做结合
  • 原文地址:https://blog.csdn.net/weixin_62353436/article/details/126146684