黑马程序员技术交流社区

标题: 第一次总结-----运算符的总结 [打印本页]

作者: 大凶之兆    时间: 2015-11-24 22:32
标题: 第一次总结-----运算符的总结
运算符
1、算术运算符:+、-、*、/、%、++、--
(1)+:表示加法,例:3+5=8; 表示字符串的连接符,例”hello”+’a’+1=helloa1, ‘a’+1+“hello”=98hello。
(2)-:表示减法,例5-2=3。
(3)*:表示乘法,例2*3=6。
(4)/: 表示除法,取商,例5/2=2。
(5)%:表示模,取余,例5/2=1。
(6)++:表示自增。单独使用是加一,例a=3,a++、++a中a的值都加1,得a=4。在运算中例b=a++中,a先将值赋予b,再自增1,结果a=4,b=3;b=++a中a先自增1,再把值赋予b,结果为a=4,b=4。
(7)--:使用方法和++一样。
2、赋值运算符:=、+=、-=、*=、/=、%=
(1)=:int a = 5,将右边的值5赋给左边的a。
(2)+=:a+=2,就是a=a+2;  
        short a =2;short a=a+2      与short a+=2是有区别的:
short a=a+2 可能损失精度,而short a+=2就相当于short a=short(a+2)没问题。
(3)-=:使用方法和+=一样。
3、逻辑运算符   &(与)、|(或)、^(异或)、!(非)&&(与,有短路)||(或,短路)
(1)&:与关系运算符,  true&true为true,true&false为false,false&true                为false,false&false为false。
(2)|:或关系运算符  有一个为真,则为真。
(3)^:异或,两个一样则为假,不一样为真,
(4)!:非。
    (5)&&:与,   &&和&的区别是  boolean a = true;
boolean b=true;boolean c=(a=false & b=false) 输出a、b的结果为a=false  b=false;而boolean c=(a=false &&b=false)输出的a、b的结果为a=false,b=true,当a错误时就停止了。 而&不停止。
(6)||:或。使用方法和&&一样。
4、关系运算符 <、>、 ==、!=、<=、>=
    (1)!=:不等于
    (2)==:等于
5、位运算符(位运算符直接对二进制运算)
          >>>、<<、>>、&、|、~、^
    (1)>>:右移 3>>1    00000000 000000000 00000000 00000011向右移动一位,左边补0,符号位是1的补1,移动后为00000000 00000000 00000000 00000001 结果为1。
    (2)<<:左移 3<<2  00000000 00000000 00000000 00000011向左移动2位,移动后00000000 00000000 00000000 00001100,结果为12.
    (3)>>>:不带符号的右移;3>>>1,结果为1。
    (4)&:与运算  都为1为1,否则为0
6&3  6的二进制  00000000 00000000 00000000 00000110
3的二进制  00000000 00000000 00000000 00000011
  结果为 00000000 00000000 00000000 00000010  十进制2.
    (5)|:或运算  有一个为1则为1.  6|3=7
    (6)^:异或运算  不同为1,相同为0
    (7)~:反码  ~6=-7  
   6的原码、反码、补码    00000000 00000000 00000000 00000110
     ~6的补码为          11111111 11111111 11111111 11111001
     ~6的反码为补码-1    11111111 11111111 11111111 11111000
     ~6的原码为          10000000 00000000 00000000 00000111
就是十进制-7.
6、三目运算符
(关系表达式)?表达式1:表达式2;
如果条件为真,运算后的结果为表达式1;
如果条件为假,运算后的结果为表达式2;
Int x=3,y=4,z;z=(x>y)?X:y;  结果为z=4.
作者: 袁有福123    时间: 2015-11-24 22:33
写的很好 赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2