数据运算符与位运算符2021-10-12

本文详细介绍了Java中的运算符,包括基本算术运算、关系运算、逻辑运算以及位运算符的用法和特点。此外,还讲解了移位运算和条件运算符的使用,并举例说明了运算优先级的重要性。最后,通过实例展示了如何在实际编程中应用这些概念。
摘要由CSDN通过智能技术生成

1.基操——运算符

int a = 10;
int b = 3;
System.out.println(a+b);//13
System.out.println(a-b);//7
System.out.println(a*b);//30
System.out.println(a/b);//3
System.out.println(a%b);//1

ps:
1.除法可能涉及小数,因此建议计算除法时将其中一个变量类型改为float
2.除数不能为0

2.关系运算符

int a = 1;
int b = 2;
System.out.println(a == b);//false
System.out.println(a != b);//true
System.out.println(a > b);//false
System.out.println(a < b);//true
System.out.println(a >= b);//false
System.out.println(a <= b);//true

ps:
关系运算符的返回值都是布尔类型。

3.逻辑运算符

①逻辑或&&
表达式1&&表达式2 【 同真为真】

int a = 10;
int b = 20;
int c = 30;
System.out.println(a < b && b > c)//false

输出结果为false

②逻辑与||
表达式1 | | 表达式2 【一真为真】

int a = 10;
int b = 20;
int c = 30;
System.out.println(a < b || b > c)//true

输出结果为true

逻辑&&与逻辑||的短路求值

System.out.println(10 > 20 && 10/0 == 0);//false
System.out.println(10 < 20 || 10/0 == 0);//true

逻辑&&运算中,&&前的表达式为false,则直接输出false,不会进行后续判断。
逻辑 | | 运算中, | | 前的表达式为true, 则直接输出true, 不会进行后续判断。

③逻辑非!

int a = 10;
int b = 20;
System.out.println(! a < b)//false

结果为true输出false,结果为false输出true。

4.位运算符
①按位与&

int a = 10;//01010
int b = 20;//10100
System.out.println( a & b)//00000

②按位或|

int a = 10;//01010
int b = 20;//10100
System.out.println( a | b)//11110

ps:
当按位与/或的两边操作数是布尔表达式时,其操作效果和&& 、 ||效果相同,但按位与/或不支持短路求值。

5.移位运算
①左移<<(左移相当于乘2)

int a = 0x10;
System.out.println("%x/n",a << 1);//20

ps:
1.左移即最左侧的数字不要,右侧补零
2.%x表示按照十六进制

②右移>>(右移相当于除2)

int a = 0x10;
System.out.println("%x/n",a >> 1);//8

ps:
右移即最右侧不要,最前补符号位

③无符号右移>>>

int a = 0xffffffff;
System.out.println("%x/n",a >>> 1);//7fffffff

ps:
最右侧无论符号位数字为什么,统统补0

6.条件运算符 / 三目运算符
(表达式1?表达式2:表达式3)
表达式1为真则执行表达式2,否则执行表达式3

int a = 10;
int b = 20;
int max = a > b ? a : b;//20

7.运算优先级

int a = 10;
int b = 20;
int c = (a+b)*a;
System.out.println(c)//300

先计算()内的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值