重生之javaSE_运算符(二)

本文详细介绍了Java中的三目运算符和位运算符的使用。通过实例展示了条件运算符如何根据布尔表达式的真假返回不同的值,并在比较和逻辑操作中应用。同时,解释了位运算符如按位与(&),按位或(|),按位异或(^)以及位移运算符(>>和<<)的工作原理和常见用法,强调了它们在提高代码效率上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 三目运算符

/*
    条件运算符
        条件表达式 ? 值1 : 值2 ;
        
        条件表达式 : 值为boolean类型的表达式
        
        执行流程: 
            1.计算条件表达式,得到boolean结果
            2.为true,结果为值1
              为false,结果为值2
*/

String s = false ? "值1" : "值2";
System.out.println(s);

int a = 5;
String s2 = a>0? "a>0" : "a<=0";
boolean flag = a>0? true : false;
System.out.println(flag);
System.out.println(a>0);

int b = 7;
//求2个数最大的值
int max = a>b?a:b;
System.out.println(max);

//求2个数值最大的变量
String name = a>b? "a" : "b";

//判断a是否为偶数
System.out.println(a%2==0?"偶数":"奇数");

//求3个变量中最大的值
max= 0;
int c = 14;
//1)
max = a > b ? a : b;
max = max>c ? max : c;
System.out.println(max);

max= 0;
//2)
max = a>b && a>c ? a : (b>c ? b : c);
System.out.println(max);
  • 位运算符

位运算符(了解)    
        把操作数转为二进制,然后根据运算符的规则运算,最终得到的结果转为十进制
        
        &  : 同一位的两个数,两个都为1才是1,一个为0就是0
        |  : 同一位的两个数,一个为1就是1,两个都为0才是0
        ^  : 同一位的两个数,相同为0不同为1
        
        注意 : 以上三个左右两边为boolean类型数据就作为逻辑运算符存在
        
    位移运算符
        >> 右移 ==> 8>>2
            把第一个操作数转为二进制,向右移动第二个操作数个位数,移出的位数直接忽略不计,剩余的转为十进制
        << 左移
            把第一个操作数转为二进制,向左移动第二个操作数个位数,空位补0,结果转为十进制
            
        总结规律 : 
            右移 :/2的次方  
                8>>3 ==> 8/2^3 
            左移 :*2的次方
                8<<3 ==> 8*2^3
        
        注意 : 建议使用位移运算符代替乘除,效率高

System.out.println(3&2);  //2
System.out.println(3|2);  //3
System.out.println(3^2);  //1

System.out.println(8>>2);  //2
System.out.println(8<<1);  //16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值