java中的运算符和表达式(4)

一、运算符与表达式

  • (1)运算符分类:

    • 0.赋值运算符 =
    • 1.算数运算符 + - * / %
    • 2.比较运算符 < > == <= >= !=
    • 3.逻辑运算符 & | ! && ||
    • 4.位运算符 & | ~ << >> ^
    • 5.一元运算符 ++ – += -= *= /= %=
    • 6.二元运算符
    • 7.三元运算符 变量=条件?值1:值2;
  • (2)逻辑运算符 & | ! && || (与或非)
    注意:逻辑运算符左右两边所存放的变量或者表达式必须是布尔类型的

    • 运算公式:
      与:
      true 与 true = true
      true 与 false = false
      false 与 true = false
      false 与 false = false
      或:
      true 或 true = true
      true 或 false = true
      false 或 true = true
      false 或 false = false

    • &和&&的区别

      • &(单位与):不管‘与’符号左边的逻辑运算结果是真还是假,都会判断符号右边的结果,耗时。
      • &&(短路与):如果‘与’符号左边的结果为假,就不会再判断右边的运算结果,因为最终的结果已经确定,为假。
    • |和||的区别

      • |(单位或):不管‘或’符号左边的逻辑运算结果是真还是假,都会判断符号右边的结果,耗时。
      • ||(短路或):如果‘或’符号左边的结果为真,就不会再判断右边的运算结果,因为最终的结果已经确定,为真。
    • (3)位运算

      • 位运算符: & | ^ ~
      • & :每一位都是1,结果为1,否则为0
      • | :每一个都是0,结果为0,否则为1
      • ^ : 每一位的值相同,结果为0 ,否则为1
      • ~ : 每一位进行取反,0变1 ,1变0

二、下边附上代码:(读者可以进行相应的测试)


public class V3 {

	public static void main(String[] args) {
		// 运算符和表达式
		/*
		 * 算术运算符 :+ - * /  %
		 */
		
		int x = 25 , y = 20;
		System.out.println("a+b= " + (x+y));
		System.out.println("a-b= " + (x-y));
		System.out.println("a*b= " + (x*y));
		System.out.println("a/b= " + (x/y));
		System.out.println("a%b= " + (x%y));
		
		/*
		 * 赋值运算符:=  +=  /=  *=   -=
		 */
		
		System.out.println("x+=y: " + (x+=y));
		System.out.println("x-=y: " + (x-=y));
		System.out.println("x*=y: " + (x*=y));
		
		/*
		 * 关系运算符 : == ,!= ,< ,> ,<= ,>=
		 * 作用:关系判断,返回布尔值
		 * 
		 */
		x = 20;
		y = 10;
		System.out.println("x==y: " + (x==y));
		System.out.println("x!=y: " + (x!=y));
		System.out.println("x<y: " + (x<y));
		System.out.println("x>y: " + (x>y));
		
		/*
		 * 逻辑运算符:&& ,|| ,! ,与或非
		 * 返回布尔值
		 * 并且:只要表达式中有一个false,整个表达式就是false
		 */
		System.out.println("x==y && x!=y" + (x==y && x!=y));
		int a = 5;
		int b = 5;
		System.out.println("a==b && a!=b" + (a==b && a!=b));
		// 或:表达式中只要有一个是true,表达式的值就是 true
		System.out.println("a==b || a!=b" + (a==b || a!=b));
		
		//非:表示取反,表达式为真时,取非,就是false
		System.out.println("!(a==b): "+ !(a==b));
	    
		//结合使用: 优先级 : !高于 && 高于 ||
		System.out.println("(a==b && x>=y || !(a!=b)): " + (a==b && x>=y || !(a!=b)));
		
		/*
		 * 位运算符: & | ^ ~
		 */
		int c = 3;//二进制3:011
		int d = 5;//二进制5:101
		System.out.println("二进制c:" +Integer.toBinaryString(c));
		System.out.println("二进制d:" +Integer.toBinaryString(d));
		System.out.println("十进制结果:" + (c&d));
		System.out.println("十进制结果:" +(c|d));//先转化为二进制,然后比较
		System.out.println("十进制结果:" +(c^d));
		System.out.println("二进制~c:" +Integer.toBinaryString(~c));
		System.out.println("十进制结果:" +(~c));//按位取反
	}
	
	
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值