【QA】Java常见运算符

前言

本文主要讲述Java常见的运算符

运算符的概念

两个基本概念:

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

  • 表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式

示例:

int a = 10;
int b = 20;
int c = a + b;

/*
	+:是运算符,并且是算术运算符
	a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
*/

常见的运算符

算数运算符

符号意义
+
-
*
/
%取余

示例:

public class Test {
    public static void main(String[] args) {
    	// 同类别算数运算符,从左到右依次参与运算
        
        System.out.println(1 + 23);        			// 24
        System.out.println("年龄为:" + 23);		// 年龄为:23
        System.out.println(1 + 99 + "年黑马");		// 100年黑马
        System.out.println("练习时长" + 1 + 1.5 + '年');		// 练习时长11.5年(当碰到字符串后,+就变成了字符串连接符,而不是算数运算符)
        System.out.println("练习时长" + (1 + 1.5) + '年');		// 练习时长2.5年
    }
}

自增自减运算符

public class Test {
    public static void main(String[] args) {
    	// 单独使用
        int a = 10;
        a++		// a=11
        ++a		// a=12
        
        // 组合使用
        int b;
        b = ++a;		// a=13, b=13
       	a++;			// a=14
        b = a++;		// a=15,b=14
    }
}

// --运算符计算逻辑同理

赋值运算符

符号意义
=赋值
+=相加后赋值
-=相减后赋值
*=相乘后赋值
/=相除后赋值
%=相取余后赋值

赋值运算符中,隐含着强制类型转换

关系运算符

符号补充
==(可以比较任意基本数据类型)对于基本数据类型,比较的是数值是否一致;对于引用数据类型,比较的是地址值是否一致
!=比较除了boolean类型外的任意基本数据类型
>比较除了boolean类型外的任意基本数据类型
>=比较除了boolean类型外的任意基本数据类型
<比较除了boolean类型外的任意基本数据类型
<=比较除了boolean类型外的任意基本数据类型

关系运算符处理的结果都是boolean数据类型,结果是true或false

逻辑运算符

符号意义补充
&结果:有false就是false;特点:多个表达式进行与操作,前边有false,也会进行后边的运算判断
&&结果:有false就是false;特点:多个表达式进行与操作,前边有false,就不会进行后边的运算判断常用
|结果:有true就是true;特点:多个表达式进行或操作,前边有true,也会进行后边的运算判断
||结果:有true就是true;特点:多个表达式进行或操作,前边有true,就不会进行后边的运算判断常用
true即false,false即true常用
^异或运算符:相同为false,不同为true

三元运算符

public class test {
    public static void main(String[] args) {
        int a = 2;
        int v = a == 1 ? 1 : 10;
        System.out.println(v);  // v=10
    }
}

移位运算符

有三种移位运算符:左移运算符、右移运算符、无符号右移运算符。

左移运算符:<<左移n位。高位丢弃,低位补0不溢出的情况下,等于将数字扩大2^n倍
右移运算符:>>右移n位。低位丢弃,高位:符号位(正数补0,负数补1),其余位(补0)等于将数组缩小1/2^n倍
无符号右移:>>>右移n位。低位丢弃,高位:统一补0(忽略符号位)

常见运算符的优先级

image-20231006202712315

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值