Java教程

Java运算符

本文主要是介绍Java运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java运算符

  • 1.Java算术运算符
    • 1.1.一元运算符
    • 1.2.二元运算符
    • 1.3.三元运算符
    • 1.3.算术赋值运算符
  • 2.Java赋值运算符
  • 3.Java逻辑运算符
  • 4.Java关系运算符
  • 5.Java位运算符
    • 5.1位逻辑运算符
    • 5.1位移运算符
  • 6.Java运算符优先级

1.Java算术运算符

1.1.一元运算符

运 算 符名 称说 明
-取反符号取反运算
++自加一取值再加一或先加一再取值
自减一先取值再减一或先减一再取值

例:

int a = 10;
System.out.println(-a);
 /* -a 是对 a 取反运算, 
 把 a 变量取反,输出结果 -10。*/
int b = a++; 
/* a++ 或 a-- 是在表达式运算完后,
再给 a 加一或减一, 
先赋值后 ++,输出结果 10。*/
System.out.println(b);
b = ++a;
 /* ++a 或 --a 是先给 a 加一或减一,
 然后再进行表达式运算先,
++ 后赋值,输出结果 12。*/
System.out.println(b);

1.2.二元运算符

运 算 符名 称说 明例 子
+求 a 加 b 的和a + b
-求 a 减 b 的差a - b
*求 a 乘以 b 的积a * b
/求 a 除以 b 的商a / b
%取余求 a 除以 b 的余数a % b

注:" + " 还可用于 String 类型,进行字符串连接操作

1.3.三元运算符

  • 条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数。
    例:
int a = 10;
String type = a <20 ?"Yes":"No";
/* 在这里要计算 a 的值,首先要判断 a <20 表达的值,
如果为 true,z 的值为 "Yes";否则 a 的值为 "No"。
因为a <20 表达式结果为 true,所以 a 的值为 "Yes"。*/

1.3.算术赋值运算符

运算符名 称含义
+=加赋值将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身
-=减赋值将该运算符左边的数值减去右边的数值, 其结果赋值给左边变量本身
*=乘赋值将该运算符左边的数值乘以右边的数值, 其结果赋值给左边变量本身
/=除赋值将该运算符左边的数值整除右边的数值, 其结果赋值给左边变量本身
%=取余赋值将该运算符左边的数值除以右边的数值后取余,其结果赋值给左边变量本身

例:

int a = 10;
int b = 20;
a += b; 
// a = a + b = 30
System.out.println(a);
a -= b; 
// a = a - b = 10
System.out.println(a);
a *= b; 
// a = a * b = 200
System.out.println(a);
a /= b; 
// a = a / b = 10
System.out.println(a);
a %= b; 
// a = a % b = 10
System.out.println(a);

2.Java赋值运算符

  1. 赋值运算符是指为变量或常量指定数值的符号, 其符号为 “ = ” ,其语法格式为:变量名称 = 表达式内容。
  2. “变量名称”和“表达式”内容的类型必须匹配,如果类型不匹配则需要自动转化为对应的类型。
  3. 赋值运算符不是数学中的等号,它表示一个动作,即将其右侧的值送到左侧的变量中。
    注:不能将赋值运算符与相等运算符“==”混淆。

3.Java逻辑运算符

运算符用法含义说明
&&a&&b短路 与ab 全为 true 时,计算结果为 true,否则为 false
\\a\\b短路 或ab 全为 false 时,计算结果为 false,否则为 true
!!a逻辑 非a 为 true 时,值为 false,a 为 false 时,值为 true
  1. 短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率,所以在实际编程时,应该优先考虑使用短路与和短路或。
  2. 结果为 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

4.Java关系运算符

运算符含义说明例子结果
>大于运算符只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则返回 true。2>3false
>=大于或等于运算符只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则返回 true。4>=2true
<小于运算符只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值,则返回 true。2<3true
<=小于或等于运算符只支持左右两边操作数是数值类型。如果前面变量的值小于等于后面变量的值, 则返回 true。4<=2false
==相等运算符如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值相等,也都将返回 true。如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。Java 也支持两个 boolean 类型的值进行比较。4= =4 97=='a '5.0= =5 true==falsetrue true true false
!=不相等运算符如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回 true。如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回 true。4!=2true
  1. 运算符 >=、==、!=、<= 是两个字符构成的一个运算符,用空格从中分开写就会产生语法错误。例如 x> =y; 是错误的,但是可以写成x >= y;;在运算符的两侧增加空格会提高可读性。同样将运算符写反,例如 =>、=<、=! 等形式会产生语法错误。
  2. 由于计算机内存放的实数与实际的实数存在着一定的误差,如果对浮点数进行 ==(相等)或 !=(不相等)的比较,容易产生错误结果,应该尽量避免。

5.Java位运算符

5.1位逻辑运算符

运算符含义运算规则
&按位进行与运算(AND)都为一,才为一在这里插入图片描述
\按位进行或运算(OR)都为零,才为零在这里插入图片描述
^按位进行异或运算(XOR)同为一,异为零在这里插入图片描述
~按位进行取反运算(NOT)一为零,零为一在这里插入图片描述

5.1位移运算符

运算符含义运算规则
»右移位运算符按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零在这里插入图片描述
«左移位运算符按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补零在这里插入图片描述

6.Java运算符优先级

优先级运算符结合性
1()、[]、{}从左向右
2!、+、-、~、++、- -从右向左
3*、/、%从左向右
4+、-从左向右
5«、»、>>>从左向右
6<、<=、>、>=、instanceof从左向右
7==、!=从左向右
8&从左向右
9^从左向右
10\从左向右
11&&从左向右
12\\从左向右
13?:从右向左
14=、+=、-=、*=、/=、&=、=、^=、~=、«=、»=、>>>=

注:如果需要将具有较低优先级的运算符先运算,则可以使用小括号将该运算符和操作符括起来。

这篇关于Java运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!