运算符

原创 2012年03月28日 20:46:05

算术运算符、关系运算符、逻辑运符、位运算符。
常用的算数运算符有:
+ - / % ++ --;
关系运算符:
“>’‘<’‘>=’‘ <=’‘==’‘!=’;

逻辑运算符:
‘!’‘&&’‘&’‘||’‘|’‘^’;
位运算符:‘~’‘&’‘|’‘^’‘<<’ ‘>>’‘>>>’;

赋值运算符 =; 
符合算数赋值 += -= *= /= %=; 
复合运算赋值 &= |= ^= >>= <<= >>>=;
条件运算符( ? : )
-------------------

算术运算符:
(++ --)前加后不加
 例:i=++2;输出i为3;
 i=2++;输出i为2;
char类型的数据可以进行算术运算,而boolean类型的数据不能进行算术运算。
---

关系运算符:得到的结果为布尔类型,
 真值=true(1)  假值为false(0)。
‘&’有假为假(0);‘|’有真为真(1);‘^’相同为0 不同为1;
‘&&’‘||’短路与、或:左边表达式即可确定与或的结果,则右边的表达式将不会执行。!逻辑非。
---

位运算符:
位运算符用来对整型(byte、short、int、long)或字符型(char)数据二进制位进行操作,结果为一个整数。

~取反:~00000101==11111010【结果负数】
二进制负数是其绝对值取反+1加负号
例:11111010-1=11111001
       00000110=9
11111010=-9;

&按位相与:  0&0=0;0&1=0;1&0=0;1&1=1  有0得0
|按位相与:  0|0=0;0|1=1;1|0=1;1|1=1  有1得1
^按位相异或:0^0=0;0^1=1;1^0=1;1^1=0  相异为1 相同为0

>>(按位右移)
格式:a >> b
功能:将a右移b位,右端的低位被舍弃,左端高位补原来的符号位 。
<<(按位左移)
格式:a << b
功能:将a左移b位,右端的低位补0,左端的高位被舍弃。
>>>(无符号右移)
格式:a >>> b
功能:将a右移b位,右端的低位被舍弃,左端的高位补0。

public int getOneBit(int num,int n){  int i=1 << (n-1);  int nb = num & i;

  return nb >> (n-1);
}这个方法可以返回num的第n-1位。
---

赋值运算符:
 赋值规则:
{当赋值运算符两侧的类型不一致时,如果左侧变量的数据类型的表示范围更大,则把右侧的数据自动转换为与左侧相同的数据类型,然后赋给左侧变量,否则,需要使用强制类型转换运算符。
注意:波尔类型不能与任何其它数据类型转换。
强制类型转换
格式:(目标数据类型)变量或表达式;
强制转换会导致数据丢失}
自动转换:
(byte或short)和int→int
(byte或short或int)和long→long(byte或short或int或long)和float→float(byte或short或int或long或float)和double→doublechar和int→int
格式:变量=表达式;
---

条件运算符:
格式:表达式1?表达式2:表达式3
     表达式1应是boolean类型的表达式;
     表达式2和表达式3的类型要一致。
例:弹出输入对话框,接收用户输入: JOptionPane.showInputDialog(s)


将数字的字符串表示形式转换为整数:
Integer.parseInt(s)


result = (score>=60) ? "及格" : "不及格"
  System.out.println(result);
---

表达式是由若干操作数和运算符按照约定规则构成的一个序列。
 运算符标明对操作数进行何种操作;

 操作数可以是变量、常量或有返回值的方法调用等其他的表达式。

运算符优先级总结(C++)

  • 2017年11月21日 12:20
  • 111KB
  • 下载

运算符优先级图表

  • 2015年11月17日 14:56
  • 798KB
  • 下载

C++:new运算符和new表达式详解

摘要:在C++中new是一个行为和语法都有点诡异的结构,它的语法上与其它C++语法不同,它在语义上却也经常引起人们的不解,尤其当用户自定义的new在使用的时候。本文试图回答作者在学习new的时候遇到的...

【自学PHP】第三课:PHP运算符

  • 2017年08月03日 00:41
  • 15KB
  • 下载

三目运算符

  • 2017年04月13日 11:02
  • 4KB
  • 下载

使用运算符重载实现复数的四则运算

程序代码: #include using namespace std; class Complex { public: Complex( )//定义默认构造函数初始化复数 ...

C语言运算符优先级表

  • 2017年08月18日 19:01
  • 12KB
  • 下载

C++运算符重载

  • 2016年11月25日 15:30
  • 226KB
  • 下载

什么情况下用+运算符进行字符串连接比调用StringBuffer/StringBuilder对象的append方法连接字符串性能更好?

tring一旦赋值或实例化后就不可更改,如果赋予新值将会重新开辟内存地址进行存储。 而StringBuffer类使用append和insert等方法改变字符串值时只是在原有对象存储的内存地址...

18JavaScript运算符和方法介绍

  • 2008年11月01日 10:50
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运算符
举报原因:
原因补充:

(最多只允许输入30个字)