Java基本内容学习笔记(4)

Java编程基础(3)

1.3 Java中的运算符

在程序中经常出现一些特殊符号,如+、-、*、=、>等,这些特殊符号称为运算符。运算符用于对数据进行算数运算、赋值运算和比较运算等。在Java中,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符等。

1.3.1 算数运算符

在数学运算中最常见的就是加减乘除,这4种运算符称为四则运算。Java中的算术运算符就是用来处理四则运算的符号,算数运算符是最简单、最常用的运算符号。Java中的算数运算符及用法如下表所示

运算符运算范例结果
+正号+33
-负号b=4;-b;-4
+5+510
-6-42
*3*412
/5/51
%取模(即算术中的求余数)7%52
++自增(前)a=2;b=++a;a=3;b=3
++自增(后)a=2;b=a++;a=3;b=2
- -自减(前)a=2;b=- -a;a=1;b=1
- -自减(后)a=2;b=a- -;a=1;b=2

算数运算符看上去比较简单,也很容易理解,但在实际使用时还有一些地方需要注意,具体如下。
(1)在进行自增(++)和自减(- -)运算时,如果运算符++或- -放在操作数的前面,则先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面,则先进行其他运算再进行自增或自减运算。
(2)在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数。如果除法运算有小数参与,得到的结果会是一个小数。例如,2510/1000属于整数之间相除,会忽略小数部分,得到的结果是2,而2.5/10的结果为0.25.
(3)在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。例如,(-5)%3=-2,而5%(-3)=2.

1.3.2 赋值运算符

赋值运算符的作用就是将常量、变量或表达式的赋值给某一个变量。Java中的赋值运算符及用法如下表所示

运算符运算范例结果
=赋值a=3;b=2;a=3;b=2;
+=加等于a=3;b=2;a+=b;a=5;b=2;
– =减等于a=3;b=2;a-=b;a=1;b=2;
*=乘等于a=3;b=2;a*=b;a=6;b=2;
/=除等于a=3;b=2;a/=b;a=1;b=2;
%=模等于a=3;b=2;a%=b;a=1;b=2

在赋值过程中,运算顺序从右往左,将右边表达式的结果赋值给左边的变量。在赋值运算符的使用中,需要注意以下几个问题。
(1)在Java中可以通过一条赋值语句对多个变量进行赋值,具体示例如下:

int x,y,z;
x = y = z = 5;    //为3个变量同时赋值

在上述代码中,用一条赋值语句将变量x、y、z的同时赋值为5.需要注意的是,下面的这种写法在Java种事不可以的。

int x=y=z=5;   //这样写是错误的

(2)在上表中,除了“=”,其他运算符都是特殊的赋值运算符,以“+=”为例,x+=3就相当于x=
x+3,表达式首先会进行加法运算x+3,再将运算结果赋值给变量x。-=、*=、/=、%=赋值运算符都可依次类推。

1.3.3 比较运算符

比较运算符用于对两个数值或变量进行比较,比较运算结果是一个布尔值,即true或false。Java中的比较运算符及用法如下表:

运算符运算范例结果
==等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true

需要注意的是,在比较运算中,不能将比较运算符“==”误写成赋值运算符“=”。

1.3.4 逻辑运算符

逻辑运算符用于对布尔类型的数据进行操作,其结果仍是一个布尔值。
Java中的逻辑运算符及用法如下表:
在这里插入图片描述
在使用逻辑运算符的过程中,需要注意一下几个细节。
(1)逻辑运算符可以对结果为布尔值的表达式进行运算。例如,x>3&&y!=0。
(2)运算符“&”和“&&”都表示与操作,当且仅当运算符两边的操作数为true时,其结果才为true,否则结果为false。但运算符“&”和“&&”在使用上还有一定的区别。在使用“&”进行运算时,不论左边为true还是false,右边的额表达式都会进行运算。在使用“&&”进行运算时,若左边为false,右边的表达式就不再进行运算,因此“&&”称为短路与。
例:

public class Example{
	public static void main(String[]args){
		int x = 0;
		int y = 0;
		int z = 0;
		boolean a, b;
		a = x > 0 & y++ > 1;
		System.out.println(a);
		System.out.println("y = " + y);
		b = x > 0 && z++ > 1;
		System.out.println(b);
		System.out.println("z = " + z);
		}
	}

(3)运算符“|”和“||”都表示或操作,当运算符两边的人一表达式值为true时,其结果为true。只有两边表达式的值都为false时,其结果才为false。同逻辑与操作类似,”||“运算符为短路或,当运算符”||“的左边为true时,右边的表达式不在进行运算,
具体示例如下:

int x = 0;
int y = 0;
boolean b = x==0 || y++>0

上面的代码块执行完毕后,b的值为true,y的值仍为0。原因是运算符”||“的左边表达式x==0结果为true,那么右边表达式将不进行运算,y的值不发生任何变化。
(4)运算符“^”表示异或操作,当运算符两边的布尔值相同时(都为true或都为false),其结果为false。当两边表达式的布尔值不同时,其结果为true。

1.3.5 运算符的优先级

在对一些比价复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,通常把这种有顺序称为运算符的优先级。
Java中运算符的优先级如下表所示

优先级运算符
1. [] ( )
2++ - - ~ ! (数据类型)
3* / %
4+ -
5<< >> >>>
6< ><=>=
7== !=
8&
9^
10l
11&&
12ll
13?:
14= *= /= %= += -= <<= >>= >>>= &= ^= l=

这次的学习就到这里了 。。。。下次,我们讲讲选择结构语句。
拜拜!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值