运算符

二元运算符

加+ 减- 乘* 除/ 模%

  • 多个相加,有一个为Long类型,结果就为Long类型
  • 有一个为double,结果就为double
  • short,byte,int相加不管有没有int,结果都是int

关系运算符

返回boolean

> < >= <= == !=
instanceof

a instance of b----->a指向的实际类型是不是b的子类型

  • obj 必须为引用类型,不能是基本类型
int i = 0;
System.out.println(i instanceof Integer);//编译不通过
System.out.println(i instanceof Object);//编译不通过

instaceof 运算福只能用作对象的判断

  • obj为null
System.out.println(null instanceof Object);//false
  • obj为class类的实例对象
Integer integer = new Integer(1);
System.out.println(integer instanceof Integer);//true
  • obj为class接口的实现类
ArrayList arrayList = new ArrayList();
System.out.println(arrayList instanceof List);//true

List list = new ArrayList();
System.out.println(list instanceof ArrayList);//true
  • obj为class类的直接或间接子类
public class Person {
 
}

public class Man extends Person{
     
}

Person p1 = new Person();
Person p2 = new Man();
Man m1 = new Man();
System.out.println(p1 instanceof Man);//false
System.out.println(p2 instanceof Man);//true
System.out.println(m1 instanceof Man);//true
注意第一种情况, p1 instanceof Man ,Man 是 Person 的子类,Person 不是 Man 的子类,所以返回结果为 falsePerson p1 = new Person();
 
System.out.println(p1 instanceof String);//编译报错
System.out.println(p1 instanceof List);//false
System.out.println(p1 instanceof List<?>);//false
System.out.println(p1 instanceof List<Person>);//编译报错

自增,自减,一元运算符

int a = 3;
int b = a++;
int c = ++a;
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5

a++ 先参与运算,再自增

++a 先自增,再参与运算

逻辑运算符

与 或 非

位运算

A 0011 1100

B 0000 1101

  • 与:A&B

    结果:0000 1100 两个都为1才为1

  • 或:A|B

    结果:0011 1101 都为0才为0

  • 异或:A^B

    结果:0011 0001 连个相同则为0

  • 取反:~B

    结果:1111 0010

  • 左移 << 左移一位 = *2

  • 右移 >> 右移一位 = /2

    2<<3=16 == 2左移3位,2 * 2 * 2 * 2 = 16 2 * 2的3次方

    0000 0000 0

    0000 0001 1

    0000 0010 2

    0000 0100 4

    0000 1000 8

    0001 0000 16

三元运算符

x ? y : z

如果x==true,结果为y,否则为z

posted @   jpy  阅读(28)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示