【答疑解惑】 || 和 & 在编程中小知识

语音版:

在学习编程语言时基本上都会遇到与(&&),或(||)逻辑运算符。

运算规则是:

a&&b,a和b全为true时结果才是ture; a||b,a或者b有一为true结果就是true;

这里a和b可能是两个boolean变量,也可能是两个结果为boolean的表达式。

这里说一下短路问题,这个在实际编程中也会遇到,短路是在进行逻辑运算时,如果通过前面的判断已经能够明确的知道整个表达式的值,就不会再进行后面表达式的逻辑判断。

例如:表达式A || 表达式B || 表达式C

在计算出表达式A是true时就已经能够知道整个表达式的值为true,所以表达式B和C都不会再进行计算

例如:表达式A && 表达式B

在计算出表达式A为false的时候就已经知道整个表达式为false,所以不会再进行表达式B的计算。

知道上面的短路问题,大家以后写程序的时候需要注意两点:

1、逻辑表达式中尽量不要进行变量的赋值和运算操作,因为短路的时候后面的表达式不会再执行;

2、把能够很快确定true或者false的表达式写在首位,这样短路后后面的表达式不会在进行计算,节省了执行时间。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏社区的朋友们

sizeof 知多少? (上)

稍熟悉 C/C++ 的朋友,对于 sizeof 肯定不陌生,通过它我们可以知晓某个类型或者实例的内存大小( 以字节计 ),网上关于这个话题的信息其实挺多的,但是...

1070
来自专栏程序员叨叨叨

6.1 关系操作符(Comparison Operators)

在上一章中,我们已经介绍了Cg语言的基础数据类型(7种)、内置数据类型,以及数组、结构、接口等类型,本章将在此基础上讨论Cg中的表达式,表达式由操作符(oper...

392
来自专栏维C果糖

史上最简单的 MySQL 教程(三十一)「子查询(上)」

子查询:sub query,查询是在某个查询结果之上进行的,一条select语句内部包含了另外一条select语句。

4165
来自专栏瓜大三哥

HLS Lesson6-数据类型转换

1.整数数据类型 传统的C语言可以采用:数据类型 数据变量 赋值 int var = -1; ap_int<6> a_6bit_var_c = -22;//复制...

23810
来自专栏java学习

基本数据类型

基本数据类型 在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。可以使用这些类型的值来代表一些简单的状态。 Java 语言的基本数据类型总共有以下8...

3478
来自专栏生信宝典

R语言学习 - 韦恩图

韦恩图 韦恩图是用来反映不同集合之间的交集和并集情况的展示图。一般用于展示2-5个集合之间的交并关系。集合数目更多时,将会比较难分辨,更多集合的展示方式一般使用...

2007
来自专栏机器学习算法与Python学习

Python: numpy总结(2)

11、xrange 例子: for i in xrange(3): print i test=[1,2,3,4] print test...

3125
来自专栏Python小屋

Python判断两个单词的相似度

本文要点在于算法的设计:如果两个单词中不相同的字母足够少,并且随机选择几个字母在两个单词中具有相同的前后顺序,则认为两个单词是等价的。 目前存在的问题:可能会有...

2806
来自专栏锦小年的博客

Python数据分析(2)-pandas数据结构操作

pandas是一个提供快速、灵活、表达力强的数据结构的Python库,适合处理‘有关系’或者‘有标签’的数据。在利用Python做数据分析的时候,pandas是...

21410
来自专栏木制robot技术杂谈

谈一谈Python中str()和repr()的区别

前言 在学习BeautifulSoup文档的时候发现了一个以前不常见的Python内建函数repr(),带着好奇对这个内建函数进行了一番搜索和学习。 总结 s...

2964

扫描关注云+社区