Java基础常用运算符

在这里插入图片描述

逻辑运算符

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

System.out.println("a && b: " + (b&&a));// 逻辑与运算: 两个变量都为真, 结果才为true
System.out.println("a || b: " + (a||b));// 逻辑与运算: 两个变量都为真, 则结果才true
System.out.println("! (a && b): " + !(a&&b));// 如果是真, 则变为假, 如果是假则变为真

// 注: 短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);  // 前半部分为false, 后半部分就不会再执行了
System.out.println(d);   // false
System.out.println(c);   // 5

面试题及位及运算符

// 两个二进制数据
/** 
 * A = 0011 1100
 * B = 0000 1101
 * A&B = 0000 1100   (规则: 两个二进制数字, 对应的位数同为1, 则为1, 反之, 则为0)
 * A|B = 0011 1101   (规则: 两个二进制数字, 对应的位数同为0, 则为0, 反之, 则为1)
 * A^B = 0011 0001   (规则: 两个二进制值数字, 对应的位数数字相同, 则为0, 反之, 则为1)
 * ~B = 1111 0010    (规则: 取反, 见0写1, 见1写0)
 *
 * 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);  // 16    专业术语  左移三位

简写逻辑运算符, 字符串, 三目运算符

int a = 10;
int b = 20;

a += b;  // a = a + b; // 30
a -= b;  // a = a - b; // 10
a *= b;  // a = a * b; // 200
a /= b;  // a = a / b; // 10

System.out.println(a + b);       // 30
System.out.println(a + b + "");  // 30
System.out.println("" + a + b);  // 1020

// x ? y : z
// 如果x表达式为true, 则返回y, x表达式为false, 则返回z
// 常见对象的getter和setter里面, 常用: 运算符存在优先级  记住()优先级最高就行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值