JAVA中的运算符(算术运算符, 赋值运算符 , 逻辑运算符 ,三目运算符 )

运算符

首先,运算符是用来干什么的?

答:提供运算符是用来操纵变量的

使用频率最高的几种运算符:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 三目运算符

算术运算符:

注意:

  • 如果+号的两边都是数字的话,那么这个+表示的数学上的加法。
  • 如果+号的两边,只有有一个字符串,那么这个+表示的是字符串连接符。
  • (++与- -)单独使用:放在操作数的前后对结果没有区别。
  • (++与- -)运算使用:放在操作数的前后是有区别的,放在前边先自增或自减在参与运算,放在操作数的后边是先进行运算在进行自增或者自减。
  • 除法运算时如果两边都是整数 结果就是整数(整除),如果两边至少存在一个小数,结果就是小数。

例:

int x=10;
int y=20; 
int sum=(x++) +(--y) +(++x) +(y--) ;
求x,y,sum的值。
 x = 12; 
 y = 18;
 sum = 60;

赋值运算符:


赋值运算符             作用
=                     a = b;将b的值赋值给a。
+=                    a+=b;即就是a=a+b;将a+b的值赋值给a
-=                    a-=b;即就是a=a-b;将a-b的值赋值给a
/=                    a/=b;即就是a=a/b;将a/b的值赋值给a
*=                    a*=b;即就是a=ab;将ab的值赋值给a
%=                    a%=b;即就是a=a%;将a%b的值赋值给a

注意:左边必须是一个变量。

 

逻辑运算符:

逻辑运算符                  作用 
&                          并且 有false则false
|                          或者 有true则true
^                          异或 相同为false不同为true
!                         非 非false则true 非true则false
&&                         短路与
||                         短路或

注意:

  • &&和&的区别:最终的结果一样;但是&&具有短路效果,左边为false,右边不执行。
  • ||和|的区别:最终的结果一样;但是||具有短路效果,左边为true,右边不执行。
  • 运算的结果肯定是一个boolean类型。
  •  

位运算符:

指的就是二进制之间的转换。

按位与 (&)  :两位全为1,结果为1,否则为0;
按位或 (|)  :两位有一个为1,结果为1,否则为0;

按位取反(~):0 变 1, 1变0;

按位异或(^):两位,如果相同,结果为0;如果不同,结果为1;

注意:

  •  在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示。
  •  位运算符与逻辑运算符(逻辑与&&、逻辑或||、逻辑非! )有点相似。但是,逻辑运算符只能操作boolean变量。


        

例:

-11的“原码”是 : 1000 0000 0000 1011
求出对应的反码 : 1111 1111 1111 0100
求出对应的补码 : 1111 1111 1111 0101
所以在计算机中 ‘-11’ 对应的二进制为 ‘ 1111 1111 1111 0101 ’

三目运算符:

三目运算符的语法:   变量=布尔表达式 ? 值1 : 值2;

if(a<b)
    min=a;
else
    min=b;

可以用下面的条件运算符来处理

min=(a<b)?a:b;//有两个运算符,三个操作对象,所以也叫三目运算符。
//"(a<b)?a:b"是一个"条件表达式"
//它是这样执行的:  如果a<b为真,则表达式取a值,否则取b值.

例:

int a = 1, b = 2, z, c = 3;

z = a > b ? a : (b > c ? b : c);
//b不大于3所以括号里为3,a不大于b,所以输出:后边的数3.
cout << "z:" << z << endl; 

输出的结果是:z:3
发布了6 篇原创文章 · 获赞 1 · 访问量 220

猜你喜欢

转载自blog.csdn.net/qq_45824565/article/details/104227481