运算符

运算符
1、赋值运算符 =
例1:int i=100; //复制一份
int a=i;

例2: int a,b,c,d,e,f,g;
a=b=c=d=e=f=g=99; 或:a=99; b=99; c=99; d=99; e=99; f=99; g=99;
变量声明在同一个区域(大括号)内不得重名

2、算术运算符
+;-; ; /; %; ++; --; 符合运算符:+=;-=;=; /=; %=;
乘法和除法优先级高
10%5-------如果10能被5整除就返回true,否则返回flash

++;–; int i=100;
int a=0;
a=i++;-----------先把值给a,后自己再++(a=i; i=i+1;)
a=++i;-----------先运算,后把值给a(i=i+1; a=i;)

如果++在变量的前面那就是先加,在后面后加

符号在前先运算,符号在后后运算

如:

//符号在前先运算,符号在后后运算
public class Test {
    public static void main(String[] args) {
        int i=90;
        System.out.println(i++);
        System.out.println(++i);
        System.out.println(++i);
        System.out.println(--i);
        System.out.println(i--);
        System.out.println(--i);
        System.out.println(++i);
        System.out.println(i--);

    }
}    //输出 90  92 93 92 92 90 91 91

int i=19;                           输出值   i的值
        System.out.println(i++);     19      20    
        System.out.println(++i);     21      21
        System.out.println(i+1);     22      21    //i与1进行运算输出,但是i本身的值不变
        System.out.println(--i);     20      20
        System.out.println(i++);     20      21
        System.out.println(2+i);     23      21
        System.out.println(--i);     20      20
        System.out.println(i++);     20      21
 int i=589;
        System.out.println(i+=2);
        System.out.println(9+i);
        System.out.println(i++);
        System.out.println(--i);
        System.out.println(i++);
        System.out.println(i--);
        System.out.println(i-=2);
        System.out.println(i+2); 输出
        
591
600
591
591
591
592
589
591

复合运算:int i=100;
i=i+100;---------相当于i+=100;

3、关系运算符 >;<; >=; <=; ==; !=
(专门来问数值的)
猪猪的年龄>18 true false
成立 不成立
真 假

4、逻辑运算符 &&(与、、同时) ;|| (或、、或者); !(非、、取反)
如: 买 奥特曼&&大头儿子&&光头强
奥特曼||光头强
!true !false !(奥特曼||光头强)

&&_
先从左开始 如果左边运行结果为true,则继续运行右边;,如果左边为false则右边不继续运行
true 运行 &&双方为true才成立
false 不运行

||_
先从左开始 如果左边运行结果为true,则不继续运行右边;,如果左边为false则右边继续运行
true 不运行 &&双方为true才成立
false 运行

优先级高到低:!-----&&-----||
!true && true || false
false&&true ||false
false||false

5、位运算符 &; |; ^; ~;>> ; <<; >>>
一个字节-----8位

1表示true;0表示false 两边为true才true
15的二进制:0000 1111 1和1true得1
5的二进制: 0000 0101 1和0false得0
15&5得: 0000 0101

System.out.println(15&5); //输出5
System.out.println(15|5); //输出15

18的二进制 : 0001 0010
7的二进制: 0000 0111
18|7 得23: 0001 0111
18&7得2 : 0000 0010

异或 ^ (要两边不一样才是true)
18^7 二进制:0000 0111
0001 0010
得2: 0001 0101

取反 ~
7二进制: 0000 0111
7~ 为-8 : 1111 1000
-8取反为7

左移<<
7<<2 (7左移2位,后面补0) 向左移2位相当于乘以4(2的平方)
7:左移前: 0000 0111
左移后: 0001 1100

右移 >> 7>>2 //高位(这里指前两位)是0,那就补两个0
右移前: 0000 0111 向右移2位,前面补2个0,再把后面2位去掉
右移后: 0000 0001

-8>>2 // 高位(这里指前两位)是1,那就补两个1
右移前: 1111 1000
右移后: 1111 1110 向右移2位,前面补2个1,再把后面2位去掉

//高位是0则是正数,是1则是负数

无符号右移 >>>
10>>>2
右移前:0000 1010 不管高位是0或者1都直接右移
右移后:0000 0010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值