运算符(Java)

举报
王小贰 发表于 2021/01/19 18:25:50 2021/01/19
【摘要】 运算符1.赋值运算符赋值运算符就是为一个变量赋值的操作,例如:int a=3;boolean b=false;122.算数运算符我们经常用到算数运算符有+ - * / %,这里我们需要注意除法(1)int/int的结果还是int:int a=9;int b=2;System.out.println(a/b);//结果为41234需要使用double来计算double a=7.0;double...

运算符
1.赋值运算符
赋值运算符就是为一个变量赋值的操作,例如:

int a=3;
boolean b=false;
  • 1
  • 2

2.算数运算符
我们经常用到算数运算符有+ - * / %,这里我们需要注意除法
(1)int/int的结果还是int:

int a=9;
int b=2;
System.out.println(a/b);
//结果为4
  • 1
  • 2
  • 3
  • 4

需要使用double来计算

double a=7.0;
double b=2.0;
System.out.println(a/b);
//结果为4.5
  • 1
  • 2
  • 3
  • 4

(2)0不能作为除数

int a=1;
int b=0;
System.out.println(a/b);
//运行时会产生异常
  • 1
  • 2
  • 3
  • 4

(3)%表示求余(不仅仅能够对int求余,也可以对double求余)

double a=5.0;
double b=1.5;
System.out.println(a%b);
//结果为0
  • 1
  • 2
  • 3
  • 4

增量运算符 += -= *= /= %=

int a=3;
a+=1;//等价于a=a+1;
System.out.println(a);
  • 1
  • 2
  • 3

自增运算符++

int a=10;
int b=++a;
System.out.println(b);
int c=a++;
System.out.println(c);
  • 1
  • 2
  • 3
  • 4
  • 5

结论:如果不取自增运算的表达式,则前置自增和后置自增没有区别;如果取表达式的返回值,则前置自增的返回值是自增之后的值,后置自增的返回值是自增之前的值。
3.关系运算符
关系运算符主要有六种:== != < > <= >=

int a=2;
int b=3;
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a>=b);
System.out.println(a<=b);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

注意:关系运算符的表达式返回值都是boolean类型的。
4.逻辑运算符:
逻辑运算符主要有三种:&& || !
(1)&& (并且 and)
规则;两真则真,一假则假:

int a=3;
int b=4;
int c=2
System.out.println(a<b&&b>c);//结果为false
  • 1
  • 2
  • 3
  • 4

(2)||(或者 or)
规则:两假则假,一真则真:

int a=3;
int b=3;
int c=2;
System.out.println(a<=b||b<=3);//结果为真
  • 1
  • 2
  • 3
  • 4

(3)!
规则:操作数为true,结果为false,反之,操作数为false,结果为true(单目运算符)

int a=3;
int b=4;
System.out.println(!a<b);//结果为true
  • 1
  • 2
  • 3

注意事项:短路求值
a. 对于逻辑与(&&)来说,如果左侧的 表达式为false,则右侧的表达式不在求值
b. 对于逻辑或(||)来说,如果左侧表达式为true,右侧表达式不在求值

 int a=10;
 int b=20;
 System.out.println(a==b&&(a/0)==0);//false
 System.out.println(a<b&&(a/0)==0);//编译出错

int a=3;
int b=4
System.out.println(a==b||(a/0)==0);//编译出错
System.out.println(a<b||(a/0)==0);//结果为true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

&和|(一般不使用)
因为这一组逻辑与和逻辑或不支持短路求值,只能针对boolean类型运算,因此不常用。
5.位运算符
位运算符主要有四个:& | ~ ^
(1)&: 按位与
规则:先把数据理解成二进制,然后按照每个bit位进行运算,对于&来说,只有两个数字都是1,结果才为1,否则为0。
(2)|: 按位或
规则:对于|来说,只有两个数字都是0,才为0,否则为1.
(3)~: 按位取反
规则:如果该位为1,则转为0;如果改位为0;则转为1。
(4)^: 按位异或
规则:如果两个数的二进制相同,则结果为0,相异为1。
6.条件运算符
表达式1:?表达式2:表达式3
规则:当表达式1的值为true时,整个表达式的值为表达式2的值,否则为表达式3的值(三目运算符)

int a=3;
int b=6;
int max=a>b?a:b;//结果为6
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。