运算符的使用

运算符

算数运算符

算数运算符中的+、-、*、/、%属于二元运算符,二元运算符指的是需要两个操作数才能完成运算的运算符。
二元运算符的运算规则如下:
整数运算

  • 如果两个操作数有一个为long,则结果也为long。
  • 没有long时,结果为int。即使操作数全为short、byte,结果也为int。

浮点运算

  • 如果两个操作数有一个为double,则结果为double。
  • 只有两个操作数都是float时,结果才为float。

取模运算

  • 其操作数可以为浮点数,一般使用整数,结果是“余数”。“余数”符号和左边操作数相同,如7%3=1,-7%3=-1,7%-3=1。

算数运算符中的++(自增)、–(自减)、属于一元运算符,只要一个操作数。

操作自己|影响自己:

  • ++放在操作数的前面还是后面,都是自身+1
  • –放在操作数的前面还是后面,都是自身-1
int a=3;
int b=4;
a++;
a--;
System.out.println(a);//a=3  这里只影响自己

操作别人|影响别人(操作数的值是多少影响其他的结果)|参与运算符:

  • ++|-- 放在操作数的前面,先自身+1|-1,再去参与运算

  • ++|-- 放在操作数的后面,先去参与运算,再自身+1|-1

int a=3;
int b=++a;
System.out.println(b);//b=4  

现在我们再来看一段难一点的代码:

int k=20;
int j=8;
int totle = k++ + j-- + --j + ++k + k++ + j++ + k-- + --k + j++;
System.out.println("k="+k+",j="+j+",totle="+totle);

//这里k=21,j=8,totle=135 ;

赋值及其扩展赋值运算符

赋值就是将一个具体的值赋予一个变量。

运算符用法举例等效的表达式
+=a+=ba=a+b
-=a-=ba=a-b
*=a*=ba=a*b
/=a/=ba=a/b
%=a%=ba=a%b
int a=3;
int b=4;
a+=b;  //相当于a=a+b;
System.out.println("a="+a);  //7
a=3;
a*=b+3;  //相当于a=a*(b+3)
System.out.println("a="+a);//21

关系运算符

关系运算符用来比较运算

运算符含义示例
==等于a==b
!=不等于a!=b
>大于a>b
<小于a< b
<=小于等于a<=b
>=大于等于a>=b

逻辑运算符

逻辑运算的操作数和运算结果都是布尔值。
逻辑与:&,两个操作数为true,结果才为true,否则为false;
逻辑或:|,两个操作数有一个是true,结果就为true;
短路与:&&,当左边的操作数为false时,整个结果为false,不会去运算右边
短路或:||,当左边的操作数为true时整个结果为true,不会去运算右边的操作数
逻辑非:!,取反,即!false为true,!true为false
逻辑异或:^,相同时为false,不同时为true;

//1>2的结果为false,那么整个表达式的结果为false,不会再去计算2>(3/0);
boolean c=1>2 && 2>(3/0);
System.out.println(c);
//如果是逻辑与:&;当计算左边的操作数为false时,还会去计算右边的操作数,这时就会报出异常。
boolean d=1>2 & 2>(3/0);
System.out.println(d);

位运算符

位运算符指的是进行二进制位的运算
~:取反
&:按位与
|:按位或
^:按位异或
<<:左移运算符,左移一位相当于乘2
.>>:右移运算符,右移一位相当于除2

int a=8<<2;//相当于:8*2*2
int b=8>>3;//相当于:8/2/2/2

条件运算符

条件运算符的语法格式为:
条件表达式? 值1 : 值2
其中,条件表达式为boolean类型表达式,如果运算的结果为true时,则整个运算的结果为值1,否则为值2。

//2.判断一个数是否为奇数
int num=45;
System.out.println(num%2==0?"奇数":"偶数");

运算符的优先级

单目算数位关系,逻辑三目后赋值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值