运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。Java语言使用运算符将一个或多个操作数

连缀成执行语句,用以实现特定功能。

Java语言中的运算符可以分为如下几种:
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符

类型相关运算符

算术运算符

算术运算符包括+、-、*、/、%、++、--。
/:除法运算符。除法运算符有些特殊,如果除法运算符的两个操作数都是整数类型,

则计算结果也是整数,就是将自然除法的结果截断取整。如果除法运算符的两个运算符都是整数,

则除数不能为0,否则将引发除以零异常[java.lang.ArithmeticException: / by zero]。
但如果除法运算符的两个操作数有一个或两个是浮点数,则计算结果也是浮点数,

这个结果就是自然除法的结果。而且此时允许除数是0,或者0.0,得到结果是正无穷大或负无穷大。

++和--

%:求余运算符。求余运算的结果不一定总是整数,它的计算结果是使用第一个操作数除以第二个操作数,

得到一个整除的结果后剩下的值就是余数。
++、--:自加、自减。这是个单目运算符,运算符既可以出现在操作数的左边又可以出现在操作数的右边。

但效果是不一样的。在左边:先把操作数加|减1,然后再放入表达式中运算;在右边:先放入表达式中运算,

再把操作数加|减1.(自加自减只能用于操作变量,不能用于操作数值、直接量和常量。

如5++、6—等写法都是错误的。)


此外:+除了可以作为数学的加法运算符之外,还可以作为字符串的连接运算符。-除了可以作为

减法运算符之外,还可以作为求负的运算符。
Java并没有提供其他更复杂的运算符,如果需要完成乘方、开方等运算,则可借助于java.lang.Math类的

工具方法完成复杂的数学运算。

赋值运算符 

赋值运算符用于为变量指定变量值,java使用=作为赋值运算符。通常,使用赋值运算符将一个常量赋给变量。也可以将一个变量的值赋给另一个变量。主要包括(+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>= )
值得指出的是,赋值表达式的值就是右边被赋的值。例如String str2=str表达式的值就是str。因此,赋值运算符支持连续赋值,通过使用多个赋值运算符,可以一次为多个变量赋值。a=b=c=7;
赋值运算符还可用于将表达式的值赋给变量

位运算符 

Java支持的位运算符有如下7个:
&:按位与 
|:按位或
~:按位非
^:按位异或
<<:左移运算符
>>:右移运算符
>>>:无符号右移运算符

比较运算符 

比较运算符用于判断两个变量或常量的大小,比较运算的结果是一个布尔值(true或false)。

Java支持的比较运算符(>、>=、<、<=、==、!=).
==:等于,如果进行比较的两个操作数都是数值类型,即使它们的数据类型不相同,只要它们的值相等。

也都将返回true。如果两个操作数都是引用类型,那么只有当两个引用变量引用相同类的实例时才可以比较,

而且这两个引用必须指向同一个对象才会返回true。Java也支持两个boolean类型的值进行比较,例如true==false将返回false.
!=:不等于,如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回true。如果两个操作数都是引用类型,只有当两个引用变量引用的相同类的实例时才可以比较,

只要两个引用指向的不是同一个对象就会返回true

逻辑运算符

逻辑运算符用于操作两个布尔型的变量或常量。逻辑运算符主要有如下6个。
&&:与,前后两个操作数必须都是true才返回true,否则返回false。
&:不短路与,作用和&&相同,但不会短路。
||:或,只要两个操作数中有一个是true,就可以返回true,否则返回false。
|:不短路或,作用与||相同,但不会短路。
!:非,只需要一个操作数,取反。
^:异或,当两个操作数不同时才返回1,如果两个操作数相同则返回0。

三目运算符

三目运算符只有一个:?:,三目运算符的语法格式如下:
(expression) ? if-true-statement:if-false-statement;
三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式返回true,则返回第二个操作数的值,如果逻辑表达式返回false,则返回第三个操作数的值。
String str = 5>3 ? “5大于3”:”5<3”;
System.out.println(str);

运算符的结合性和优先级 

posted @ 2016-06-21 16:23  人间值得  阅读(234)  评论(0编辑  收藏  举报