Java基础——常见运算符

常见运算符



算数运算符

Java中的算数运算符与我们生活中的算数运算基本相似,看下面的表格

运算符名字示例运行结果
+7+815
-9-45
*3*515
/15/5 、16/53、3
%求余16/51

一般运算中都是int变量,所以除的结果都不会有小数,如果我们遇到一定要除尽要有小数的情况,我们可以使用float或double类型的变量。

比较运算符

比较运算符又叫关系运算符,两者意思都差不多,比较符号两边的关系嘛。

运算符名字
>大于
<小于
>=大于等于
<=小于等于
!=不等于
==等于

这里的==和算数运算符里的=,在Java里是不一样的,在我们生活中 = ”等号“具有赋值和比较两种意义,Java就用了两种符号分开来表示,==就表示比较的意思。
注意!!!
比较运算符的结果是布尔类型:Boolean
也就是true/false

逻辑运算符

有三种逻辑运算符

  • 与 ,&&或者&,表示的是并且关系,全部为真才为真。
  • 或 ,||或者| ,表示的是或者的关系,只要有一者为真就为真。
  • 非 ,! ,表示否定,取反的意思。

那么问题来了,&&和&还有||和|,有什么区别呢?
答案是 &&和||的效率更高,他们分别叫短路与和短路或。
什么意思呢?
比如说吧用&&连接了好几个条件时,第一个条件不满足时,用这个符号的话我们的计算机就不会在判定后面的条件了,会直接输出结果条件不成立;
而我们用&时,就算第一个条件不成立时,计算机也会继续判定后面的条件。所以&&是短路与。
所以||同理,在判定到第一个正确的条件时就输出结果。
所以大多都会用&&和||,因为效率更高哦!

自加自减运算符

自加自减运算符有两种写法

  • ++i ,- - i
  • i++ , i - -
    那么他们有什么区别呢?
    那就是他们的优先级别不同,符号在前的优先级别非常的高,仅仅次与括号,而符号在后面的优先级就非常低了,比赋值符都低。
    怎么个低法呢,看代码吧
int a = 1;
int i = 1;
a = i++;

我们输出a,a=1。

int a = 1;
int i = 1;
a = ++i;

我们输出a,a=2;
所以符号在前和符号在后面,两者的优先级是有区别的。

赋值运算符

赋值运算符

  • = ,将等号右侧的值赋给左侧的变量
  • += ,a+=10 等价于a= a+10,也就是先计算在赋值
  • —=,a-=10等价于a=a-10
  • *= ,先乘在赋值
  • /= ,先除在赋值
  • %=,先取余在赋值

三目运算符

三目运算符,又称条件运算符,它是唯一有3个操作数的运算符,有时又称为三元运算符。
表达式 ? 值1:值2

int a = 10;
int b = 20;
int c = a>b ? 50:60; 

先判断a>b的真假,若为真,则将50赋值给c。
反之则将60赋值给c。

位运算符

  • & 按位与运算 ,运算原则:相同二进制数位上数值为1,结果为1,否则结果为0;
  • | 按位或运算,运算原则:相同二进制数位上数值为0,结果为0,否则结果为1;
  • ^ 按位异或,运算原则:参与运算的两个数相应位相同则结果为0,异号则为1;
  • ~ 按位取反,运算原则:二进制数位上0变1,1变0;
  • 左移操作“<<”:将运算数的二进制码整体左移指定位数,左移之后的空使用“0”来补充,移出去的二进制数忽略不计。
  • 右移操作“>>”:将运算数的二进制码整体右移指定位数,右移之后的空使用“符号位”来补充。移出
    去的二进制数忽略不计。若是正数使用“0”补充;若是负数使用“1”补充;
  • 右移操作”>>>“:将运算数的二进制码整体向右以指定位数,右移之后的空用“0”来补充。所以这个符号又叫无符号右移运算。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值