C语言与或非位运算 Java判断中 if条件

1 篇文章 0 订阅
#include <stdio.h>


int main(void) {

char c1=92;
char c2=92;
printf("%d",c1|c2);
printf("%d",c1^c2);
printf("%d",c1&c2);
printf("%d",~c2);
return 0;

}

输出结果为

92  0  92  -93
^表示异或运算,c1与c2值相同,异或的结果为0
&表示按位与
~表示按位取反
|表示按位或

Java中if的问题
boolean a=false;
boolean b=false;
if(a=b){
  System.out.printf("True");
}
else{
  System.out.printf("False");
}
此时输出:False,因为a赋值为false,不会执行if下面;
if中改为a==b,输出为True,此时为正确的判断符;
若改b=true,则输出"True",因为a被赋值为true。
试想,当a ,b为int或者String类型时也会是这样吗?
	public static void main (String[] args) throws java.lang.Exception
	{
		String a="aaa";
		String b="aaa";
		if(a=b){
			System.out.println("ok");
		}
		else{
			System.out.println("bad");
		}
用=时,其他类型编译均不会通过,因为if()里面要求必须是boolean类型。
用==时,正常上面的例子改为a==b时输出ok。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值