网站首页 > java教程 正文
一、什么是运算符?
运算符是用来连接一个或多个值进行运算的符号,通过不同的运算符可以获取到不同的结果。
二、运算符的分类
在Java中运算符可以分为六类,分别是:算数运算符、比较运算符、赋值运算符、逻辑运算符、位运运算符、三元运算符。
三、算数运算符
算数运算符主要用于数学运算,与数学中的运算符相同。具体如下:
符号 | 含义 |
+ | 加法(或正号) |
- | 减法(或负号) |
* | 乘法 |
/ | 除法 |
% | 取余数(取模) |
++ | 自加1 |
-- | 自减1 |
加法、减法、乘法的结果与数学中的运算结果是相同的,但是除法在运算时很特殊。当两个操作数都是整数类型的变量时,其运算的结果只保留整数部分,小数部分舍弃。如果其中有一个是浮点类型,那么就会按照正常的数学运算得到结果。
++(自增1)和--(自减1)
当++或--符号在变量前时,要先进行自加1或者自减1的操作,然后再参与运算;当++或--符号在变量后时,要先参与运算,再进行自加1或者自减1的操作。
因为++符号在m前,所以要先自加1变成4,然后再与n做加法运算
因为++符号在m后,所以要先用3和n做加法运算,然后再进行自加1
四、比较运算符
比较运算符通常用于变量之间信息的比较,其得到的结果是boolean类型。当比较运算符对应的关系成立时,得到的结果为true,否则为false。比较运算有6个,具体如下:
符号 | 含义 |
> | 比较左方的值是否大于右方的值 |
>= | 比较左方的值是否大于或等于右方的值 |
< | 比较左方的值是否小于右方的值 |
<= | 比较左方的值是否小于或等于右方的值 |
== | 比较左方的值是否等于右方的值 |
!= | 比较左方的值是否不等于右方的值 |
五、赋值运算符
赋值运算符的功能是将符号右边操作数得到的结果赋给符号左方的操作数。赋值运算符包括:
符号 | 含义 |
= | 将符号右边的值赋给符号左边的操作数 |
+= | 将符号左方和右方相加之后的结果再赋给符号左方 |
-= | 将符号左方和右方相减之后的结果再赋给符号左方 |
*= | 将符号左方和右方相乘之后的结果再赋给符号左方 |
/= | 将符号左方和右方相除之后的结果再赋给符号左方 |
%= | 将符号左方和右方取模之后的结果再赋给符号左方 |
...... |
六、逻辑运算符
逻辑运算符用来连接一个或多个能够得到boolean值的表达式,其返回的结果也是boolean类型。逻辑运算符总共有3个,分别是:&&(逻辑与)、||(逻辑或)、!(逻辑非)
逻辑与&&:当两个操作数的结果都为true时,其得到的结果就为true,否则结果为false
逻辑或||:当两个操作数的结果至少有一个为true时,其得到的结果为true,否则结果为false
逻辑非!:它是一元运算符,对操作数进行取反的操作。如果操作数的结果为true,那么最终结果为false;如果操作数的结果为false,那么最终的结果为true
逻辑与&& 和 逻辑或|| 也被称为“短路”运算符,之所以被称为“短路”运算符是根据其本身的特性决定的。
逻辑与&&:当左边的操作数的结果为false时,右边的表达式不会被执行,最终的结果为false
逻辑或|| :当左边的操作数的结果为true时,右边的表达式不会被执行,最终的结果为true
七、位运算符
位运算符完全是针对二进制位进行操作的运算符,包括按位与(&)、按位或(|)、按位异或(^)、求反运算(~)、左移运算(<<)、右移运算(>>)
按位与(&):它是一个双目运算符,其功能是将参与运算的两个操作数进行相与的操作,只有两个操作数对应位都是1时结果才为1,否则为0。
按位或(|):它是一个双目运算符,其功能是将参与运算的两个操作数进行相或的操作,只要两个操作数对应的位有一个为1时结果就为1,否则为0
按位异或(^):它是一个双目运算符,其功能是将参与运算的两个操作数进行相异或的操作,只要两个操作数对应的位不同时结果就为1,相同为0
求反运算(~):它是一个单目运算符,将操作数的二进制位上的数字做求反的操作,即1变0,0变1
左移运算(<<): 它是一个双目运算符,将符号左边操作数的二进制数按照右边的数字向左移动,此时右边空出来地位补0,高出来的位丢弃。左移多少位就是乘以2的几次方=
右移运算(>>): 它是一个双目运算符,将符号左边的操作数的二进制数按照右边的数字向右移动。右移多少位就除以2的几次方。
八、三元运算符
三元运算符的语法是: 条件表达式 ?值1 :值2 ;当条件表达式的结果为true时,将整个表达式的取值1,否则取值2
九、运算符优先级
java中的表达式往往会出现多个种类的运算符,运算符的优先级决定了表达式中运算的先后顺序以及最终结果。通常优先级由高到低的顺序为:
自增/自减 > 算数运算 > 比较运算 > 逻辑运算 > 赋值运算
如果出现了两个运算符号具有相同的优先级,此时按照从左到右的顺序进行运算。
猜你喜欢
- 2024-09-27 「编程基础」零基础学习Java之运算符
- 2024-09-27 C语言中的“隐形”语法:三目运算符极致解析
- 2024-09-27 Java运算符之算术运算符和举例说明
- 2024-09-27 java运算符顺序(java中运算符的优先顺序)
- 2024-09-27 【学习笔记】分支结构的第三大板块:三目运算符
- 2024-09-27 【java】运算符基础 【java】运算符基础 #运算符
- 2024-09-27 java基本语法之运算符(java语言中的运算符有哪些)
- 2024-09-27 Spring SpEL三元运算符(sql三元运算符)
- 2024-09-27 Java中的运算符(java中的运算符是用来表示某种运算的符号)
- 2024-09-27 Java运算符和表达式(java运算符和表达式答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)