zoukankan      html  css  js  c++  java
  • Java数据类型转换

    Java数据类型转换

    以前的知识稍微有点遗忘了,打算再重新整理一下吧。对于基本数据类型,不同的数据类型之间可以相互转换,但需要满足一定的规则。

    转换规则

    精度高的数据类型就像容量大的杯子,可以放更大的数据
    精度低的数据类型就像容量小的杯子,只能放更小的数据
    小杯子往大杯子里倒东西,大杯子怎么都放得下
    大杯子往小杯子里倒东西,有的时候放的下有的时候就会有溢出
    注意点:虽然short和char都是16位的,长度是一样的,但是彼此之间,依然需要进行强制转换。

    519

    short类型与char类型的转换如下:

    char a = 'C';
    short b = 56;
    char c = (char) b;
    short d = (short) a;
    

    低精度向高精度转换(自动转换)

    低精度的数据类型能够自动转换为高精度的数据类型,即低容量能被高容量自动兼容。

    如int数据类型能自动转换为long数据类型。

    int a = 123;
    long b = 256;
    b = a;
    

    注意点:整型和整型进行运算的时候,如果两边的值都是小于或者等于int的,那么其结果就是int。

    如 short 类型 与 byte 类型相加时,最终的数据类型为 int

    short a  = 2;
    byte b = 12;
    int c = a + b;
    

    高精度向低精度转换(强转)

    高精度的数据类型也可以向低精度的数据类型进行强制转换,但数据大小需要满足低精度数据类型的取值范围,否则会有数据丢失的风险。

    如 int 类型 能够 强转为 byte 数据类型

    int a1 = 123;
    int a2 = 490;
    byte b;
    b = (byte) a1;
    //转换正常
    System.out.println("b1:" + b);
    b = (byte) a2;
    //截取8位长度的二进制数,即11101010为 -22
    System.out.println("b2:" + b);
    System.out.println("a1的二进制:" + Integer.toBinaryString(a1));
    System.out.println("a2的二进制:" + Integer.toBinaryString(a2));
    

    输出结果如下:

    b1:123
    b2:-22
    a1的二进制:1111011
    a2的二进制:111101010
    

    博客参考文章:https://how2j.cn/k/variable/variable-transfer/264.html#nowhere

    自我控制是最强者的本能-萧伯纳
  • 相关阅读:
    python——scrapy的三种登录方式,下载中间件(Downloademiddleware),settings文件
    PHPExcel探索之旅---阶段四 导入文件
    PHPExcel探索之旅---阶段三 绘制图表
    PHPExcel探索之旅---阶段二 设置表格样式
    PHPExcel探索之旅---阶段一
    PDO中构建事务处理的应用程序
    对图片进行翻转
    用给定的角度旋转图像
    为背景图像添加图像水印(位置随机)
    对图片进行缩放
  • 原文地址:https://www.cnblogs.com/CF1314/p/13863303.html
Copyright © 2011-2022 走看看