JAVA基础—运算符(三元运算符,移位运算,位运算符)

JAVA基础—运算符

赋值运算符

赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数做处理),其功能是将右方操作数所含的值赋给左方操作数。
例子:

package firstmyproject;
public class helloworld {
public static void main(String[] args) {
  int a;
  a=10;
  System.out.println("a值为"+a);
 }
}

运行结果:a值为10;

算术运算符

算术运算符包括符号“+”;“-”;“*”;“/”;“%”分别表示加减乘除求余。

package firstmyproject;
public class helloworld {
public static void main(String[] args) {
  int a,b;
  a=10;
  b=2;
  System.out.println("a+b="+(a+b));
  System.out.println("a-b="+(a-b));
  System.out.println("a*b="+(a*b));
  System.out.println("a/b="+(a/b));
  System.out.println("a%b="+(a%b));
 }
}

运行结果为:
a-b=8
a*b=20
a/b=5
a%b=0

自增自减运算符

自增自减运算符为“++”;“–”分别为自加一或自减一
其中:该运算符放于数前表示先加,放于数后表示先减

package firstmyproject;
public class helloworld {
public static void main(String[] args) {
  int a,b;
  a=10;
  System.out.println("a++="+(a++));
  System.out.println("++a="+(++a));
  System.out.println("a--="+(a--));
  System.out.println("--a="+(--a));
 }
}

运行结果为:
a++=10
++a=12
a- -=12
–a=10

比较运算符

比较运算符包括“>”;"<";"==";">=";"<=";"!=",分别为大于,小于,等于,大于等于。小于等于,不等于。

package firstmyproject;
public class helloworld {
public static void main(String[] args) {
  int a,b;
  a=10;
  System.out.println("a>b为"+(a>b));
  System.out.println("a<b="+(a<b));
  System.out.println("a==b"+(a==b));
  System.out.println("a>=b"+(a>=b));
  System.out.println("a<=b"+(a<=b));
  System.out.println("a!=b"+(a!=b));
}
}

运行结果为
a>b为true
a<b=false
a==bfalse
a>=btrue
a<=bfalse
a!=btrue

逻辑运算符

逻辑运算符包括:“&&”与“&”;“||”;“!”分别表示逻辑与;或;非。

对于 “&&”是两对才对,一错便错
对于“||”是两错才错,一对便对
对于“!”来说对便是错,错便是对。
例子:

package firstmyproject;
public class helloworld {
public static void main(String[] args) {
  int a,b;
  a=10;
  System.out.println("ret1"+ret1);
  System.out.println("a<b="+ret2);
  System.out.println("a==b"+ret3);
  System.out.println("a>=b"+(ret3&&ret2));
  System.out.println("a<=b"+(ret3||ret2));
  System.out.println("a!=b"+(!ret1));
}
}

运行结果为
ret1=true
ret2=false
ret3=true
ret2&&ret3=false
ret2||ret3=true
!ret1=false
注明:对于“&”与"&&"的区别:
同样作为“逻辑与”判断:符号“&”会判断两个表达式,而对于“&&”如果第一个表达式为错就不判断第二个表达式了,从而减少了计算机判断次数。

位运算符

1.“按位与”运算 “&”
运算法则:
如果两个整形数据a,b的对应位都是1,结果才为1,否则为0。如果两个操作数的精度不同,则以与高精度操作数为准。

如:00000000 00000000 00000000 00000101为5;
11111111 11111111 11111111 11111100为-4
则进行&运算结果为00000000 00000000 00000000 00000100为4。
2."按位或"运算“ ”|“
运算法则:如果两个操作数a,b的对应位都是0,结果才为0,否则为1。如果两个操作数的精度不同,则以与高精度操作数为准。
为方便起见仅以八个字节表示
如:00000000 00000000 00000000 00000101为5;
11111111 11111111 11111111 11111100为-4
则进行|运算:11111111 11111111 11111111 11111101为-5。
3.”按位取反“运算 ”~“
也称为按位非运算:就是将0改为1将1改为0。
4.”按位异或“运算 ”^“
运算法则:
当两个操作数的二进制表示相同(同1或同0)时结果为0,否则为1。如果两个操作数的精度不同,则以与高精度操作数为准。
为方便起见仅以八个字节表示
如:00000000 00000000 00000000 00000101为5;
11111111 11111111 11111111 11111100为-4
则进行^运算: 11111111 11111111 11111111 11111001为-1。
5.移位操作
左移: “<<”
左移就是将运算符左边的操作数的二进制数据,按照运算符右边操作数指定的位数向左移动,右边移空的部分为0。
右移:”>>“
右移就是将运算符右移后,如果最高位是0,则右移空的位就为0,是1则填写1。
JAVA还提供了无符号右移”>>>“,无论最高位是0还是1,左侧被移空的高位都填写0。

三元运算符

条件式?值1:值2
例如

boolean b = 1<2?true:false;

如上式子,明显条件式是对的,因此b值为true。
此运算符就相当于简写的条件式子if…else。

运算符的优先级

运算符描述运算符
括号()
正负号+,-
自加自减++,–,!
乘除求余*,/,%
加减+,-
移位运算>>,<<,>>>
比较大小<,>,>=,<=
比较是否相等==,!=
按位与运算&
按位异或运算^
按位或运算l
逻辑非运算&&
逻辑或运算ll
三元运算符?:
赋值运算符=
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值