9.Java运算符

运算符

  • 算数运算符 + - * / ++ –
  • 赋值运算符 =
  • 关系运算符 > < <= >= == !=
  • 逻辑运算符 && || !
  • 位运算符 & | …… ~ >> << >>>(了解就好)
  • 条件运算符 ? :
  • 扩展运算符 += -= *= 、=

二元运算

// 二元运算符
int a=10;
int b=20;
int c=25;
int d=25;

System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);

多元运算

long a=2313435432132L;
int b=65537;
short c=32767;
byte d=8;

System.out.println(a+b+c+d);//Long
System.out.println(b+c+d);//Int
System.out.println(c+d);//Int
//自动升级 默认为int

布尔运算

//关系返回结果 正确 错误 布尔值
int a=10;
int b=20;
int c=21;

System.out.println(b%c);
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);

一元运算

//++ -- 自增自减 一元运算符
int a=3;

//a=a+1
int b=a++;

//c=a 然后a=a+1
int c=++a;

System.out.println(a);
System.out.println(b);
System.out.println(c);

类运算

例如幂运算

//幂运算 2^3 2*2*2=8
System.out.println(Math.pow(2,3));

逻辑运算符

//与(and) 或(or) 非(not)
boolean a=true;
boolean b=false;

System.out.println("a && b---"+(a && b));//两个都为true才为true
System.out.println("a || b---"+(a || b));//其中一个true就为true
System.out.println("!a---"+(!a));//取反

短路运算

//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(c);
System.out.println(d);

位运算

/*
A=0011 1100
B=0000 1101
-------------------------
A&B=0000 1100  相乘
A|B=0011 1101  有1就为1
A^B=0011 0001  相同为0 不同为1
~B=1111 0010   取反

2*8=16 2*2*2*2
效率极高
<< 相当于*2
>> 相当于/2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
 */
System.out.println(2<<3);
// 0000 0010 << 变成 0001 0000

//>>>不带符号的右移动 在正数的情况下 他们没有变化 但是在负数的情况下 没有1表示他是负号 所以会直接让值变混乱
System.out.println(16>>>3);//2
System.out.println(16>>3);//2

System.out.println(-16>>>3);//536870910
System.out.println(-16>>3);//-2

扩展赋值运算符

    int a=10;
    int b=20;

    a+=b;//a=a+b
    a-=b;//a=a-b
    System.out.println(a);

    //字符串连接符 +String类型
    System.out.println(a+b+"");//字符串放后面就不会影响前面的运算
    System.out.println(""+a+b);//字符串后面放+ 就会让后面的运算都变成字符串
}

条件运算符

//x ? y:z
//如果x==true 则结果为Y 否则为z
int score =80;
String a =score>60? "及格":"不及格";
System.out.println(a);

优先级

不需要特意学习 使用括号去保证优先级

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值