02 Java自增自减&数据类型转换的6个事项

:::
💡 根据 遗忘曲线:如果没有记录和回顾,6天后便会忘记75%的内容
读书笔记正是帮助你记录和回顾的工具,不必拘泥于形式,其核心是:记录、翻看、思考
:::

注意点

1 自增、自减只针对变量,(常量不可用)

a++、++a或者a- -、- -a在运算中等同于:
a = a+1;或者 a= a-1;
如果此处是常量如:
3 = 3+1,常量是不允许赋值的。所以自增、自减只针对变量

2 自增or自减符号在变量前(- -a或++a)

符号在前,先变值再赋值

3 自增or自减符号在变量后(a- -或a++)

符号在后,先赋值再变值

隐式转换和强制转换

数值范围从小到大排序:byte—>short—>int—>long—>float—>double

1 隐式转换(小范围类型数据—>大范围类型数据)

  • 运算过程中的隐式转换(java中数据类型不统一,不能直接做运算,需要先统一)
public void operation(){
    int nub1 = 10;
    double nub2 = 11.0;
    //此处以下为代码分析
    int nub3 =nub1+nub2; //错误示例
    double nub3 =nub1+nub2; //正确示例
    /*
        在计算前会统一数据类型,进行隐式转换由小类型转为大类型数据
    */
    
}
  • byte,short、char参与运算,都会直接提升为int
public void operation(){
    short nub1 = 10;
    byte nub2 = 6;
     //此处以下为代码分析
    short nub3 =nub1+nub2; //错误示例
    int nub3 =nub1+nub2; //正确示例
    /*
         byte,short、char参与运算,都会直接提升为int
    */
    
}

2 强制转换(大类型数据—>小类型数据)

格式:小数据类型 变量 = (小数据类型)大类型变量
如: float a =(float) 15.3

  • 强制转换存在问题,可能会损失精度

IDEA代码修正键:Alt+Enter

3 常量优化机制

在操作数为常数的情况下需要注意的点;解析如下:

byte b = 3+4;
问题:在代码编译过程中会不报错?
答案:这个代码不会。

原因分析:因为两个操作数都是常数,在编译的时候(javac)常数之间会直接先运算,再将结果(此处结果值在byte范围内)赋值给变量b在字节码文件(.class)中byte b = 7;,所以不会报错。

注意: 如果计算结果超出byte范围也会报错

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zinksl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值