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

    类型转换
    》自动类型转换 (自动类型提升)
    int num4 = 4;
    double num5 = num4;
    -----------------
    int num6 = 6;
    double num7 = 3.0;
    double num8 = num6 / num7;

    》小范围的数据往大范围的数据转换时,可以自动转换,还需要保证类型兼容(数值类型:整型和浮点型,互相兼容)
    》如果一个表达式中有一个操作数是double,那么整个结果都将提升为double

    》强制类型转换
    》当大范围转向小范围时,比如浮点型转换为整型时
    double num4 = 4.0;
    int num5 = (int)num4;
    》+=具有强制类型转换效果
    num += 10;

    byte num2 =126+4; //编译失败,两常量相加,判断相加后结果是否在byte范围内
    byte num3 =126;num3+=4; //编译正确但运行结果有问题

    》整型 byte short char
    》这三种数据类型在进行各种计算时,结果都会变成一个int值
    byte b1 = 1;
    int b2 = b1 + b1;
    --------------
    char c1 = 'a';
    int c2 = c1 + 1;
    》除非它们自加自减
    byte b3 = b1 ++;
    》char->int:根据ascii码表进行提升
    char ch = 'a';
    int num2 = ch;
    System.out.println(num2);//97

    a:97 A:65
    》short->int

    short num1 = 19;
    num1 = num1 + 10; //编译失败,因为short+int,最终结果为int型,不能赋给short型的num1


  • 相关阅读:
    cmake的安装
    安装cmake过程g++: 错误:unrecognized command line option ‘-std=gnu++14’
    进程空间分配
    git 基本操作
    nm命令
    container_of 宏
    cmake
    fiddler修改Requests之前的数据和response 之后的数据
    Fiddler抓包请求前设置断点
    jmeter连接mysql数据库
  • 原文地址:https://www.cnblogs.com/longmo666/p/13554770.html
Copyright © 2011-2022 走看看