java基础,运算符

Java运算符
在Java中,运算符可以分为以下四组:
 算术运算符
 位运算符
 关系运算符
 逻辑运算符

算术运算符
运算符 结果
+ 加
- 减
* 乘
/ 除
% 取模
++ 递增运算
-- 递减运算
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取模赋值
算术运算符的操作数必须是数字类型的,即可以是(byte,short,int,long,float,double,char),不能在boolean类型上使用他们. char类型实质上是int类型的一个子集.

基本算术运算符(加,减,乘,除)可以对所有的数字类型操作,减号运算符可用于对它的操作数取负数,除法运算符应用到整形时,结果中将不包括小数部分.请看示例 BasicMath.java

模运算符
模运算符%返回一个除法操作的余数,它可以应用于浮点类型和整型,请看示例Modulus.java.

算术赋值运算符
Java提供了特殊的算术运算符,用来组合一个算术运算符和一个赋值,比如,像下面的这样的语句在编程过程中是很常见的:
 +=
a = a + 4;
在Java中,可以改写这条语句,如下所示:
a += 4;
改写后的语句是使用+=赋值运算符,两条语句执行同样的操作: 使a的值增加4.

 %=
a = a % 2;
可以表示为
a %= 2;
在这个例子中,%=获得a/2的余数,并把结果重新赋值给a.
赋值运算符有两个优点,首先,节省输入,因为它们是与较长形式等同的简写. 第二,与较长形式相比,Java运行时系统实现赋值运算符的效率更高.因此,在专业人员编写的Java程序中,经常会看到这种赋值运算符.请看示例OpEquals.java

递增和递减运算符
++和—是Java的递增和递减运算符,它们具有一些特殊的属性.
递增运算符将其操作数增1,递减运算符将其操作数减1,例如下面这条语句:
x = x + 1;
可以使用递增运算符重新改写为:
x++;
同样,下面的语句:
x = x – 1;
等同于
x--;

递增,递减运算符有前缀,后缀之分,在大多数表达式中使用递增或递减运算符时,这两种形式就会有较大的区别,在前缀形式中,Java会在获得该操作数的值之前执行增1或减1操作,然后将其用于表达式中,在后缀形式中,Java会在表达式中使用先前的值,然后再修改操作数.例如:
x = 42;
y = ++x;
在这个例子中,y将被设置为43,因为在x被赋给y以前增1,因而,y=++x这一行代码等价于下面的两条语句:
x = x + 1;
y = x;

如果按下面的方式书写时:
x = 42;
y = x++;
这里,会在表达式中使用先前的值,在递增运算符执行之前获得x的值,所以y的值是42.当然,最后x的都会被设置为43. 此时,y = x++;等价于下面的这两条语句:
y = x;
x = x + 1;
请看示例IncDec.java
结论:
 ++x 表示在x参与其他运算之前先自增1
 x++ 表示在x参与其他运算之后先自增1
 --x 表示在x参与其他运算之前自减1
 x—表示在x参与其他去处之后自减1.
 

关系运算符
关系运算符表示一个操作数与另一个操作数之间的关系,特别是相等和排列次序关系.关系运算符如下表所示:
运算符 意义
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
这些运算的结果是一个boolean值,关系运算符常用在if语句和循环语句的表达式中.
Java中的任何类型,包括整型,浮点型,字符型,布尔型,都可以使用符号”==”来比较是否相等.用符号!=来测试是否不等,注意,相等用两个等号表示,而不是一个(记住,一个等号表示赋值运算符).Java中,只有数字类型可以使用排序运算符进行比较,也就是只有整数,浮点,字符型操作数比较哪个大哪个小.
因为由关系运算符产生的结果是一个boolean值,所以下面的代码片段是完全有效的:
int a = 4;
int b = 1;
Boolean c = a < b;
在这个例子中,a<b的结果(false)被存储在c中.
请看示例EqualDemo.java
  CmpDemo.java

逻辑运算符(布尔逻辑运算符)
逻辑运算符的操作数只能是boolean型,所有的二进制逻辑运算符都是把两个boolean值组合在一起,形成一个布尔值结果.
运算符 意义
& 逻辑与
| 逻辑或
^ 逻辑异或
|| 短路或
&& 短路与
! 逻辑非
&= 逻辑与赋值
|= 逻辑或赋值
^= 异或赋值
== 等于
!= 不等于
“!” 表示逻辑非(也叫取反运算符),运算符右边表达式的值为false时,结果为true,否则结果为false.
例如:
boolean a = true;
boolean b = (!a); //取反后,b=false
 “&”表示逻辑与,只有当运算符两边表达式的值都为true时,结果才为true,否则结果为false
 “|”表示逻辑或,只要运算符两边表达式的值为一个为true,则结果为true,否则结果为false
 “^”表示逻辑异或,只有运算符两边表达式的值不相同时(一个为true,另一个为false),结果才为true,否则结果为false.
 “&&” 表示短路与,当运算符第一个表达式值为false时,就不对运算符右边表达式的值进行判断,其他用法与&相同.
 “||” 表示短路或,当运算符第一个表达式值为true时,就不对运算符右边表达式的值进行判断,其它用法与”|”相同.
请看示例BoolLogic.java

短路运算符”&&” “||”,先判断其前面第一个子表达式的值,如果第一个表达式的值就可以确定整个表达式的值,程序就不会再去运算其他子表达式,这显示可以提高程序的效率.请看示例
ShortCircuit.java
DenomDemo.java

三元运算符 (? :)
它相当于分支语句 if – else
Exp1 ? Exp2 : Exp3
Exp1 表示一个布尔表达式,其值只能为true或false
Exp2 表示任何一个表达式.
Exp3 表示任何一个表达式.
表示如果Exp1的结果为真,则计算Exp2,否则计算Exp3
请看示例:Ternary.java

字符串连接运算符: +
“ + ”可以用于两个字符串进行连接操作,例如,”hello” + “World”,另外,当”+”一边的表达式类型为字符串时,系统会自动把”+”另一边的表达式转换为字符串类型,然后再进行连接操作.

运算符的优先级
先算括号里面的, 不需要强记优先级, 不清楚就用括号括起来.请看示例Operator.java

常用的数学类------------java.lang.Math
请看示例MathFunc.java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值