乐趣区

关于java:JAVA基础语法运算符

[toc]

JAVA 根底语法 - 运算符

运算符是一种非凡的符号,用以示意数据的运算、赋值和比拟等。

运算符类型有以下 6 类:

  • 算术运算符
  • 赋值运算符
  • 比拟运算符(关系运算符)
  • 逻辑运算符
  • 位运算符
  • 三元运算符

1. 算术运算符

算术一元运算一共有 3 个,别离是 -、++ 和 –。具体阐明参见表。

运 算 符 名 称 说 明 例 子
取反符号 取反运算 b=-a
++ 自加一 先取值再加一,或先加一再取值 a++ 或 ++a
自减一 先取值再减一,或先减一再取值 a– 或 –a

二元运算符: Java 语言中算术运算符的性能是进行算术运算,除了常常应用的加(+)、减(-)、乘()和除(\)外,还有取模运算(%)。加(+)、减(-)、乘()、除(\)和咱们平时接触的数学运算具备雷同的含意。具体阐明参见表。

运 算 符 名 称 说 明 例 子
+ 求 a 加 b 的和,还可用于 String 类型,进行字符串连贯操作 a + b
求 a 减 b 的差 a – b
* 求 a 乘以 b 的积 a * b
/ 求 a 除以 b 的商 a / b
% 取余 求 a 除以 b 的余数 a % b

2. 赋值运算符

其语法格局如下所示:

变量名称 = 表达式内容

运算符 含意 实例 后果
+= 将该运算符右边的数值加上左边的数值,其后果赋值给右边变量自身 int a=5; a+=2; a=7
-= 将该运算符右边的数值减去左边的数值,其后果赋值给右边变量自身 int a=5; a-=2; a=3
*= 将该运算符右边的数值乘以左边的数值,其后果赋值给右边变量自身 int a=5; a*=2; a=10
/= 将该运算符右边的数值整除左边的数值,其后果赋值给右边变量自身 int a=5; a/=2; a=2
%= 将该运算符右边的数值除以左边的数值后取余,其后果赋值给右边变量自身 int a=5; a%=2; a=1

3. 逻辑运算符

运算符 用法 含意 阐明
&& a&&b 短路与 ab 全为 true 时,计算结果为 true,否则为 false。
\ \ a\ \ b 短路或 ab 全为 false 时,计算结果为 false,否则为 true。
! !a 逻辑非 a 为 true 时,值为 false,a 为 false 时,值为 true
\ a\ b 逻辑或 ab 全为 false 时,计算结果为 false,否则为 true
& a&b 逻辑与 ab 全为 true 时,计算结果为 true,否则为 false
  • && 与 & 区别:如果 a 为 false,则不计算 b(因为不管 b 为何值,后果都为 false)
  • || 与 | 区别:如果 a 为 true,则不计算 b(因为不管 b 为何值,后果都为 true)

留神:短路与(&&)和短路或(||)可能采纳最优化的计算形式,从而提高效率。在理论编程时,应该优先思考应用短路与和短路或。

后果为 boolean 型的变量或表达式能够通过逻辑运算符联合成为逻辑表达式。逻辑运算符 &&、|| 和!按表 进行逻辑运算。

a b a&&b a\ \ b !a
true true true true false
false true false true true
true false false true false
false false false false true

逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。联合方向是:逻辑非(单目运算符)具备右联合性,逻辑与和逻辑或(双目运算符)具备左联合性。

3. 比拟运算符

关系表达式是由关系运算符连接起来的表达式。关系运算符中“关系”二字的含意是指一个数据与另一个数据之间的关系,这种关系只有成立与不成立两种可能状况,能够用逻辑值来示意,逻辑上的 true 与 false 用数字 1 与 0 来示意。关系成立时表达式的后果为 true(或 1),否则表达式的后果为 false(或 0)。表 1 给出了比拟运算符的含意及其实例利用。

运算符 含意 阐明 实例 后果
> 大于运算符 只反对左右两边操作数是数值类型。如果后面变量的值大于前面变量的值,则返回 true。 2>3 false
>= 大于或等于运算符 只反对左右两边操作数是数值类型。如果后面变量的值大于等于前面变量的值,则返回 true。 4>=2 true
< 小于运算符 只反对左右两边操作数是数值类型。如果后面变量的值小于前面变量的值,则返回 true。 2<3 true
<= 小于或等于运算符 只反对左右两边操作数是数值类型。如果后面变量的值小于等于前面变量的值,则返回 true。 4<=2 false
== 相等运算符 如果进行比拟的两个操作数都是数值类型,无论它们的数据类型是否雷同,只有它们的值相等,也都将返回 true。如果两个操作数都是援用类型,只有当两个援用变量的类型具备父子关系时才能够比拟,只有两个援用指向的不是同一个对象就会返回 true。Java 也反对两个 boolean 类型的值进行比拟。 4==4 97==’a’ 5.0==5 true==false true true true false
!= 不相等运算符 如果进行比拟的两个操作数都是数值类型,无论它们的数据类型是否雷同,只有它们的值不相等,也都将返回 true。如果两个操作数都是援用类型,只有当两个援用变量的类型具备父子关系时才能够比拟,只有两个援用指向的不是同一个对象就会返回 true。 4!=2 true

留神点如下所示:

  1. 根本类型的变量、值不能和援用类型的变量、值应用 == 进行比拟;boolean 类型的变量、值不能与其余任意类型的变量、值应用 == 进行比拟;如果两个援用类型之间没有父子继承关系,那么它们的变量也不能应用 == 进行比拟。
  2. == 和 != 能够利用于根本数据类型和援用类型。当用于援用类型比拟时,比拟的是两个援用是否指向同一个对象,但过后理论开发过程少数状况下,只是比拟对象的内容是否相当,不须要比拟是否为同一个对象。

关系运算符的优先级为:>、<、>=、<= 具备雷同的优先级,并且高于具备雷同优先级的 !=、==。关系运算符的优先级高于赋值运算符而低于算术运算符,联合方向是自左向右。

关系表达式通常用于 Java 程序的逻辑判断语句的条件表达式中。应用关系表达式要留神以下几点:

  • 运算符 >=、==、!=、<= 是两个字符形成的一个运算符,用空格从中离开写就会产生语法错误。例如 x> =y; 是谬误的,然而能够写成 x >= y; 在运算符的两侧减少空格会进步可读性。同样将运算符写反,例如 =>、=<、=! 等模式会产生语法错误。
  • 因为计算机内寄存的实数与理论的实数存在着肯定的误差,如果对浮点数进行 ==(相等)或 !=(不相等)的比拟,容易产生谬误后果,应该尽量避免。
  • 不要将“==”写成“=”。

4. 位运算符

位逻辑运算符蕴含 4 个:&(与)、|(或)、~(非)和 ^(异或)。除了 ~(即位取反)为单目运算符外,其余都为双目运算符。表 1 中列出了它们的根本用法。

运算符 含意 实例 后果
& 按位进行与运算(AND) 4 & 5 4
\ 按位进行或运算(OR) 4 \ 5 5
^ 按位进行异或运算(XOR) 4 ^ 5 1
~ 按位进行取反运算(NOT) ~ 4 -5

5. 三元运算符

Java 提供了一个特地的三元运算符(也叫三目运算符)常常用于取代某个类型的 if-then-else 语句。条件运算符的符号示意为“?:”,应用该运算符时须要有三个操作数,因而称其为三目运算符。应用条件运算符的个别语法结构为:result = <expression> ? <statement1> : <statement3>;

其中,expression 是一个布尔表达式。当 expression 为真时,执行 statement1,否则就执行 statement3。此三元运算符要求返回一个后果,因而要实现简略的二分支程序,即可应用该条件运算符。上面是一个应用条件运算符的示例。纯文本复制
int x,y,z;
x = 6,y = 2;
z = x>y ? x-y : x+y;
欢送大家点赞珍藏!

关注公众号: 光头开发者 ,反对作者,共同进步!

退出移动版