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

语音版:

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

运算规则是:

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 条评论
登录 后参与评论

相关文章

来自专栏猿人谷

C++中指针和引用的区别

指针和引用主要有以下区别: 引用必须被初始化,但是不分配存储空间。指针不声明时初始化,在初始化的时候需要分配存储空间。 引用初始化后不能被改变,指针可以改变所指...

2267
来自专栏Ryan Miao

java中遇到过的String的一些特性

1.string对象是final的? 1 String str="asdfdf"; 2 str.replace("as",""); 3 System.out.p...

3429
来自专栏desperate633

深入理解javascript中的继承机制(4)多继承寄生式继承借用构造函数借用构造函数并且复制原型以上

我们知道多继承是面向对象的语言中比较纠结的一个问题,有好处也存在缺陷。这方面我们不多讨论。就javascript而言,要实现多继承是比较简单的,因为javasc...

771
来自专栏Flutter入门

Kotlin中的函数

函数还可以用中缀表示法调用,当他们是成员函数或扩展函数,只有一个参数,用 infix关键字标注

1714
来自专栏hbbliyong

C#,一些非常简单但应该知道的知识点

1.本地变量 一看这个标题你可能会一愣,这是个什么东东。看个小例子: static void main() {    int a=10;    MyClass ...

4299
来自专栏java学习

java每日一练(2017/8/11)

查看以前的所有练习题目以及答案:https://mp.weixin.qq.com/mp/homepage?__biz=MzA5MTMyNTI0Nw==&hid=...

2826
来自专栏锦小年的博客

Python学习笔记3.2-python内置函数大全

学习python不可避免的首先要了解python的内置函数,熟悉了这些以后可以给编程带来很大的方便。 1、数学运算类 函数名 函数功能 备注 abs...

2379
来自专栏LanceToBigData

Java常用类(二)String类详解

前言   在我们开发中经常会用到很多的常用的工具类,这里做一个总结。他们有很多的方法都是我们经常要用到的。所以我们一定要把它好好的掌握起来! 一、String简...

28710
来自专栏我的博客

插入排序

原理: 1. 从第一个元素开始,该元素可以认为已经被排序 2. 取出下一个元素,在已经排序的元素序列中从后向前扫描 3. 如果该元素(已排序)大于新元素,...

2456
来自专栏海天一树

小朋友学C语言(3):整数、浮点数、字符

C语言的数据类型有整型、浮点型(就是小数)、字符、字符串、数组、结构体等。刚开始学的时候,不要一下子学太多。先学最基本的整型、浮点型和字符。 对于学习程序来说,...

3186

扫码关注云+社区