Java基础——常见运算符
2021/7/11 1:07:40
本文主要是介绍Java基础——常见运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
常见运算符
常见运算符
- 算数运算符
- 比较运算符
- 逻辑运算符
- 自加自减运算符
- 赋值运算符
- 三目运算符
- 位运算符
算数运算符
Java中的算数运算符与我们生活中的算数运算基本相似,看下面的表格
运算符 | 名字 | 示例 | 运行结果 |
---|---|---|---|
+ | 加 | 7+8 | 15 |
- | 减 | 9-4 | 5 |
* | 乘 | 3*5 | 15 |
/ | 除 | 15/5 、16/5 | 3、3 |
% | 求余 | 16/5 | 1 |
一般运算中都是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”来补充。所以这个符号又叫无符号右移运算。
这篇关于Java基础——常见运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略