• Java类型转换、常用运算符


    目录

    自动类型转换

    为什么要进行类型转换

    表达式的自动类型转换

    强制类型转换

    运算符

    “+” 做连接符

    自增自减运算符

    基本赋值运算符=

    扩展赋值运算符

    关系运算符

    逻辑运算符

    短路逻辑运算符

    三元运算符

    运算符优先级


    活动地址:CSDN21天学习挑战赛

    学习继续,每天进步一点点…

    自动类型转换

    类型范围小的变量,可以直接赋值给类型范围大的变量。

    byte → short → int(char) → long → float → double

    为什么要进行类型转换

    存在不同类型的变量赋值给其他类型的变量

    表达式的自动类型转换

    在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。

    byte 、short、char → int → long → float → double

    注意事项:

    表达式的最终结果类型由表达式中的最高类型决定。

    在表达式中,byte、short、char 是直接转换成int类型参与运算的。

    类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。

    强制类型转换

    可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

    1. // 数据类型 变量2 = (数据类型)变量1、数据
    2. int a = 20;
    3. byte b = (byte)a;

    注意事项

    强制类型转换可能造成数据(丢失)溢出;

    浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。

    运算符

    运算符:对字面量或者变量进行操作的符号。

    符号作用说明
    +参考小学一年级
    -参考小学一年级
    *参考小学二年级,与“×”相同
    /与“÷”相同,注意:在Java中两个整数相除结果还是整数。
    %取余获取的是两个数据做除法的余数

    “+” 做连接符

    “+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。能算则算,不能算就在一起。

    自增自减运算符

    符号作用说明
    ++自增变量自身的值加1
    --自减变量自身的值减1

    注意

    ++ 和 -- 既可以放在变量的后边,也可以放在变量的前边。++、--如果不是单独使用(如在表达式中、或者同时有其它操作),放在变量前后会存在明显区别。

            非单独使用:放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。

            非单独使用:放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1

    ++ 、-- 只能操作变量,不能操作字面量的。

    基本赋值运算符=

    int a = 10; // 先看“=”右边,把数据10赋值给左边的变量a存储。
    

    扩展赋值运算符

    符号作用说明
    +=加后赋值a+=b 等价于 a = (a的数据类型)(a+b); 将a + b的值给a
    -=减后赋值a-=b 等价于 a = (a的数据类型)(a-b); 将a - b的值给a
    *=乘后赋值a*=b 等价于 a = (a的数据类型)(a*b); 将a * b的值给a
    /=除后赋值a/=b 等价于 a = (a的数据类型)(a/b); 将a / b的商给a
    %=取余后赋值a%=b 等价于 a = (a的数据类型)(a%b); 将a % b的商给a

    注意:扩展的赋值运算符隐含了强制类型转换。

    关系运算符

    是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)

    符号说明
    ==a==b,判断a和b的值是否相等,成立为true,不成立为false
    !=a!=b,判断a和b的值是否不相等,成立为true,不成立为false
    >a>b,判断a是否大于b,成立为true,不成立为false
    >=a>=b,判断a是否大于等于b,成立为true,不成立为false
    <a
    <=a<=b,判断a是否小于等于b,成立为true,不成立为false

    逻辑运算符

    可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。

    符号介绍说明
    &逻辑与必须都是true,结果才是true;
    |逻辑或只要有一个为true、结果就是true
    逻辑非你真我假、你假我真。
    ^逻辑异或如果两个条件都是false或者都是true则结果是false。两个条件不同结果是true

    短路逻辑运算符

    符号介绍说明
    &&短路与判断结果与“&”一样。过程是左边为“&”一样。过程是左边为 false,右边则不执行。
    ||短路或判断结果与“|”一样。过程是左边为true, 右边则不执行。

    三元运算符

    格式:条件表达式 ? 值1 : 值2;

    执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。

    运算符优先级

    在表达式中,哪个运算符先执行后执行是要看优先级的,例如 “*、/” 的优先级高于”+、-” 。

    下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。

    类别操作符关联性
    后缀() [] . (点操作符)左到右
    一元expr++ expr--从左到右
    一元++expr --expr + - ~ !从右到左
    乘性 * /%左到右
    加性 + -左到右
    移位 >> >>>  << 左到右
    关系 > >= < <= 左到右
    相等 ==  !=左到右
    按位与左到右
    按位异或^左到右
    按位或|左到右
    逻辑与&&左到右
    逻辑或| |左到右
    条件?:从右到左
    赋值= + = - = * = / =%= >> = << =&= ^ = | =从右到左
    逗号左到右

  • 相关阅读:
    vue前端导出Excel
    postgis空间数据导入及可视化
    C++类设计:一个比较复杂的日志类 支持多线程、文件切换、信息缓存(源码)
    基于Python机器学习及深度学习在空间模拟与时间预测应用
    C++指针(五)完结篇
    分享股票下单API接口的方式和API攻略
    40个高质量SSM毕设项目分享【源码+论文】(三)
    【Python】两种方法计算平均值、中值、众数、方差、标准差、百分位数
    【配置nacos】使用application.yml配置文件来配置spring-cloud-starter-alibaba-nacos-config
    MySQL-表的约束
  • 原文地址:https://blog.csdn.net/fx_yzjy101/article/details/126271529