小白来提问啦,&和&&在编码中的区别有多大?

问题描述

小白来提问啦,&和&&在编码中的区别有多大?

学java的时候,教材里提到过&&比&更快捷所以称为简洁与,但是,与&的差别真的很大么?
有没有谁举一个比较直观的例子来说说。

解决方案

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)也叫短路与。

逻辑操作(&,|,)与条件操作(&&,||)的区别。

区别主要答两点:
1.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型
2.逻辑操作不会产生短路

普通与(&):表示所有的判断条件都要执行,不管前面是否满足;
短路与(&&):如果前面的条件已经是false了,那么后面的条件不需要再进行任何的判断;

解决方案二:

&是位运算符,&&是逻辑运算符

在逻辑运算符中,&表示前后的条件都进行判断,&&表示如果前面的条件是false后,后边的条件不进行判断

解决方案三:

我试过,结果是一样的

解决方案四:

    比如说:4 & 5      ------->      0100 & 0101   ---------> 0100 -------->4    按位余
                        (1+2>3) &&(1+1=2) -------> false     前边条件都为false,短路与了,不管后面是true或者false结果都是false了

解决方案五:

&是位运算符,&&是逻辑与运算,是两个概念

解决方案六:

&是位运算符,&&是逻辑运算符

时间: 2025-01-20 09:09:04

小白来提问啦,&和&&在编码中的区别有多大?的相关文章

c++-C++小白来提问关于strcmp的问题

问题描述 C++小白来提问关于strcmp的问题 我用strcmp()来比较两个字符串A和B A="HelloWorld" B="Hello World" 结果是B比A小 不明白啊,不是空格算1字符么,怎么B还比A小呢? 解决方案 strcmp(A,B); 相当于: strcmp("HelloWorld" , "Hello World"); 这个比较函数的功能是把上面这两个字符串中的每一个字符的ASC码值进行比较,遇到''或者

c++- 小白真心提问C++ delete,为啥连最基本的也会报错嘛

问题描述 小白真心提问C++ delete,为啥连最基本的也会报错嘛 #include <iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode (int x): val(x), next(NULL) {} }; int main(int argc, char const *argv[]) { // ListNode n1(2); // ListNode dummy(0); // du

c++-C++小白来提问,关于回文数

问题描述 C++小白来提问,关于回文数 编写回文数的代码中遇到这么一段 int i = 0; int j = 0; while ((i <= (int)strlen(str) / 2) && (j == 0)) { if (*(str + i) == *(str + (strlen(str) - i) - 1)) { i++; } else j = 1; } return j == 0 ? 1 : 0; 这段怎么理解啊,尤其是 if (*(str + i) == *(str + (s

c++-(C++)小白来提问,程序出错。

问题描述 (C++)小白来提问,程序出错. #include using namespace std; double capital = 0.0; double cal(int num, double quantity) { switch (num) { case 0: return quantity*1.50; case 1: return quantity*1.70; case 2: return quantity*4.60; case 3: return quantity*0.90; ca

串口接收数据调用类的方法跟直接在主程序里写方法有什么区别?求大神指教,刚用这个提问,没分了。

问题描述 串口接收数据调用类的方法跟直接在主程序里写方法有什么区别?求大神指教,刚用这个提问,没分了. 为什么我直接在主程序里写的时候没问题,调用类里的方法就获取不到数据 解决方案 要看你的代码,比如有没有用到全局变量之类的. 解决方案二: 我分步调试的时候是能拿到数据的,但是直接运行的时候就获取不到. 解决方案三: 分布调试用的时间多,调用接受类的时候数据已经过来了.直接运行数据没过来,估计是数据同步的问题

小白求教,如何创建纯资源的dll文件并在c#中调用?

问题描述 写了一个相册软件,现在想要把图片都放在一个dll文件中,再用程序去调用后显示出来,请问这个步骤要怎么做?或者不是dll也行,总之是希望能把图片单独放一个文件里面,然后调用 解决方案 本帖最后由 qwqw__ 于 2015-08-31 20:44:19 编辑解决方案二:想要把图片都放在一个dll文件中,再用程序去调用后显示出来=>这个不行吧图片单独放一个文件里面,然后调用=>这个可以.dll里面写好图片相关路径及操作.然后C#调研dll里面的方法进行操作解决方案三:资源文件放在自己建的

visual studio-小白来提问,关于VS和VC的不同

问题描述 小白来提问,关于VS和VC的不同 本小白用的是VS2013,只在大学期间用过VC,我的疑问是:是不是在类似于VC++2012里面主函数末尾不用加类似于while(1)或者getchar(),我在VS里面不加的话按了ctrl+F5出现的窗口就会闪退... 解决方案 F5是调试,ctrl+F5是运行,不是末尾那个的问题,加getchar,while是为了在运行的时候,让他一直停在那儿,或阻塞在哪儿,好让你看到结果, 不然就闪退,调试不会自动退出程序

java-小白第一次提问。请大牛解答。idea无法调试。

问题描述 小白第一次提问.请大牛解答.idea无法调试. 控制台出现这样的问题.是为什么呢? ERROR: transport library not found: dt_socket ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509) JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../.

java-小白第一次提问。希望大牛帮忙。idea无法调试。

问题描述 小白第一次提问.希望大牛帮忙.idea无法调试. 控制台打印这样的异常.我该怎么办呢.各种查找无结果. ERROR: transport library not found: dt_socket ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509) JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialize