【JAVA基础】【查漏补缺】01 - 运算符

导读

开发环境

版本号 描述
操作系统 Win11-21H2 内部版本号22000.588
IDEA 2021.3

强制转换

byte short char 运算时提升为 int

在这里插入图片描述

验证一:如下报错,提示提供的是int,也就是a + b运算后得到的是int类型数据!!!
之前写了类似的代码,还一直感觉奇怪呢,现在这就破案了。
|
在这里插入图片描述

验证二:获取对象类型
代码如下,运行结果为:

class java.lang.Byte
class java.lang.Integer

这里虽然显示的是class java.lang.Integer,其实是将int隐式转换为了对象Integer

public class Foo {
    
    
    public static String getType(Object o){
    
     //获取变量类型方法
        return o.getClass().toString(); //使用int类型的getClass()方法
    }

    public static void main(String[] args) {
    
    
        byte a = 113;
        byte b = 119;
        byte c = (byte)(a +b);
        System.out.println(getType(a));
        System.out.println(getType(a + b));
    }
}

字符串和字符的加操作

字符串的加操作

在这里插入图片描述

字符的加操作

在这里插入图片描述
在这里插入图片描述

赋值运算符

+=隐藏了一个强制类型转换

在这里插入图片描述

短路逻辑运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运算符优先级

### 字符串的加操作

原码、反码、补码!!!

原码

在这里插入图片描述

反码

在这里插入图片描述

补码

在这里插入图片描述

应用:隐式转换(前面补0)

在这里插入图片描述

应用:强制转换(补码形式)

在这里插入图片描述

应用:其它运算符

在这里插入图片描述

ps: 无符号右移运算符>>>

参考资料

猜你喜欢

转载自blog.csdn.net/kinghzking/article/details/126298697