条件表达式

Consolidate Conditional Expression (合并条件表达式)

大城市里の小女人 提交于 2020-03-01 12:08:11
Summary : 你有一系列条件测试,都将得到相同结果。 将这些测试合并为一个条件表达式,并将这个条件表达式提炼成为一个独立函数。 动机: 有时你会发现这样一串条件检查:检查条件各不相同,最终行为却一致。如果发现这种情况,就应该使用“逻辑或”和“逻辑与”将他们合并为一个条件表达式。 之所以要合并条件代码,有两个重要原因。首先,合并后的条件代码会告诉你“实际上只有一次条件检查,只不过有多个并列条件需要检查而已”,从而使这一次检查的用意更清晰。当然,合并前和合并后的代码有着相同的效果,但原先代码传达出的信息却是“这里有一些各自独立的条件测试,它们只是恰好同时发生”。其次,这项重构往往可以为你使用 Extract Method 做好准备。将检查条件提炼成一个独立函数对于理清代码意义非常有用,因为它把描述“做什么”的语句换成了“为什么这样做”。 条件语句的合并理由也同时指出了不要合并的理由:如果你认为这些检查的确彼此独立,的确不应该被视为同一次检查,那么就不要使用本项重构。因为在这种情况下,你的代码已经清楚表达出自己的意义。 做法: 1. 确定这些条件语句都没有副作用 à 如果条件表达式有副作用,你就不能使用本项重构 2. 使用适当的逻辑操作符,将一系列相关条件表达式合并为一个。 3. 编译,测试。 4. 对合并后的条件表达式实施 Extract Method 。 来源: oschina

python3条件表达式的用法

半世苍凉 提交于 2020-03-01 07:44:11
条件表达式: (类似三目运算符:条件运算符C?A:B) 语法: 表达式1 if真值表达式 else 表达式2 作用: 如果真值表达式的布尔环境值为True,表达式1执行并返回对象,否则表达式2执行并返回对象示例: 取绝对值: x=input(“请输入一个数:")x=int(x) x=xifx>0else-x#等同于x=abs(x) 来源: CSDN 作者: 浅哈哈哈 链接: https://blog.csdn.net/weixin_44809386/article/details/104577864

条件运算符

白昼怎懂夜的黑 提交于 2020-02-29 15:46:18
条件运算符是JavaScript中功能最多的运算符它经常作为 if 语句的简洁形式来使用。 条件运算符是唯一的三元运算符,它是用用问号(?)和冒号(:),分隔三个表达式。 如果第一个表达式的布尔值是true,那么则返回第二个表达式的值,否则直接返回第三个表达式的值,语法为: x ? a : b 。 条件运算符可以转换为条件结构也可以转换为逻辑表达式: // 1.条件转换 if(typeof x != "undefined"){ x = x; }else{ x = 0; } console.log(x); // 2.逻辑表达式转换 (typeof y != "undefined") && (y = y) || (y = 0); console.log(y); 示例: var num1 = 79; var num2 = 85; var compare = num1 > num2 ? num1 : num2; comsole.log(compare); 来源: oschina 链接: https://my.oschina.net/u/4144971/blog/3175167

小狮子的Kotlin学习之路(六)

限于喜欢 提交于 2020-02-22 18:43:25
Kotlin条件控制 没有一条可以一直走到底的路,有时候必定需要面临各种选择。做选择的时候,当然是有一定的原因或者条件的。应用程序也是一样,我们需要根据不同的条件,让程序执行不同的代码或输出不同的结果。 举个栗子,我们给定两个数值 a 和 b ,我们需要得到数值较大的结果。 我们用语言描述时:如果给定数值 a 和 b, 如果 a 大于 b ,结果为 a ,如果 a 小于 b ,结果为 b。那我们用程序描述给计算机,让计算机给我们算出结果呢。 这里我们就需要用到条件控制,在Kotlin中的条件控制有 if 和 when 。 如题,我们用Kotlin来实现比较大小的计算,看下面这段程序: fun max(a: Int, b: Int) { if (a > b) { a } else { b } } 这段程序用一个函数,实现了比较大小并返回较大值。在Kotlin中, if 的基本用法为 if - else 。而有时候,我们仅需要一个条件时,我们可以省略 else 。而还有一种写法,当条件语句较短时,在规范性允许的情况下,可以写作一行,省略 {} ,但如果一行书写较长,影响阅读时,建议最好不要省略。例如我们重写上面这个函数: fun max(a: Int, b: Int) { if (a > b) a else b } 当然了,这个函数还有更简洁的方式,使用表达式函数: fun max(a

mongoDB常用命令

▼魔方 西西 提交于 2020-02-21 18:54:24
mongoDB数据库命令 一、MongoDB简介 mongodb 文档数据库,存储的是文档(Bson->json的二进制化). json数据存储的就是js中对象和数组。 {name:‘zhangsan’,age:‘9’} MongoDB特点:内部执行引擎为JS解释器,。 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作. mongo和传统型数据库相比,最大的不同: 传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说–列的个数,类型都一样. mongo文档型数据库: 集合中存储的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值) mongo数据库的collection不用提前创建(可以隐式创建。)。关系型数据库的表必须提前创建表的 mongodb数据库bin目录下的文件意义 查看数据库 show dbs 创建数据库 mongoDB的数据库是隐式创建的 步骤 use 不存在的库名 创建表 在 这个 库里边 创建集合(也就是表),或者直接插入数据就创建好了。 删除集合(数据表) db.collectionName.drop() //删除集合(数据表) 删除数据库 db.dropDatabase() //删除数据库 注意 数据库中的集合为空(也就是数据表)为空时,数据库自动删除! mongoDB

go 条件与循环结构

末鹿安然 提交于 2020-02-20 22:02:58
Go 语言条件语句 Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成。 if...else 语句 if 语句 后可以使用可选的 else 语句 , else 语句中的表达式在布尔表达式为 false 时执行。 if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。 switch 语句 switch 语句用于基于不同条件执行不同动作。 if 语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } if...else 语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } else { /* 在布尔表达式为 false 时执行 */ } if 嵌套语句 if 布尔表达式 1 { /* 在布尔表达式 1 为 true 时执行 */ if 布尔表达式 2 { /* 在布尔表达式 2 为 true 时执行 */ } } switch 语句  switch var1 { case val1: ... case val2: ... default: ... } Go 语言循环结构 循环类型 描述 for 循环 重复执行语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 for 循环 Go语言的For循环有3中形式

从零开始学java (运算符,流程控制,数组)

拜拜、爱过 提交于 2020-02-19 05:39:51
运算符   运算符是一种特殊符号,用来表示数据的运算、赋值和比较等。   java中的运算符可分为一下几种:   1.赋值运算符   2.算术运算符   3.比较运算符   4.逻辑运算符   5.位运算符   6.三目运算符(不是三目童子!)   赋值运算符:     java的赋值运算符用作与为变量指定变量值,赋值预算符 符号是 "=" ;           这段程序要从右向左看,计算机是先计算出右边数据,再给左边赋值!   算术运算符:     java的算术运算符比较好理解, 加(+/++)、减(-/--)、乘(*)、除(/)、求余(%) /** * 运算 * @author GMZ *  */ public class Computations { public static void main(String[] args) { //这一步先不管 Computations c = new Computations(); //声明并给变量赋值 double num_a = 5.2; double num_b = 3.1; System.out.println(c.plus(num_a,num_b));//相加 8.3 System.out.println(c.reduce(num_a,num_b));//相减 2.1 System.out.println(c.except

王垠-编程的智慧

泄露秘密 提交于 2020-02-18 21:54:12
编程的智慧 编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一分收获。 ​ 反复推敲代码 有些人喜欢炫耀自己写了多少多少万行的代码,仿佛代码的数量是衡量编程水平的标准。然而,如果你总是匆匆写出代码,却从来不回头去推敲,修改和提炼,其实是不可能提高编程水平的。你会制造出越来越多平庸甚至糟糕的代码。在这种意义上,很多人所谓的“工作经验”,跟他代码的质量其实不一定成正比。如果有几十年的工作经验,却从来不回头去提炼和反思自己的代码,那么他也许还不如一个只有一两年经验,却喜欢反复推敲,仔细领悟的人。 有位文豪说得好:“看一个作家的水平,不是看他发表了多少文字,而要看他的废纸篓里扔掉了多少。” 我觉得同样的理论适用于编程。好的程序员,他们删掉的代码,比留下来的还要多很多。如果你看见一个人写了很多代码,却没有删掉多少,那他的代码一定有很多垃圾。 就像文学作品一样,代码是不可能一蹴而就的。灵感似乎总是零零星星,陆陆续续到来的。任何人都不可能一笔呵成,就算再厉害的程序员,也需要经过一段时间,才能发现最简单优雅的写法。有时候你反复提炼一段代码,觉得到了顶峰

从零开始的JS生活(一)——JS简介、变量及基本结构

爱⌒轻易说出口 提交于 2020-02-18 04:06:05
本K在经过三个静态站制作的狂风暴雨之后,终于开始了JavaScript的学习。作为一只从来没有正儿八经接受过计算机语言的小白,居然能够跟上浩哥的课程进度,我的内心都被我的才智震惊到了,果然本K是天生丽质难自弃,天生我材必有用哇,哦呵呵~ 咳咳,废话不多说,咱们来开始我们的JS小课堂,希望能够帮助到跟我一样的第一次接受计算机语言的同志们。 一、什么是JS。 JavaScript,简称JS,它是一种基于浏览器的、基于对象的、用于事件驱动的脚本语言。简单来说,JS就是用来实现html页面上的一些动态效果的语言。它的作用有很多,它可以进行表单的验证,可以添加页面的动态效果,可以动态更改页面的内容,也可以通过Ajax来实现页面的局部更新。 二、JS的组成部分。 JS主要有三大部分组成。 1、ECMAScript语法标准,简称ES标准,它规范了JS中的语法、变量和数据类型、运算符、逻辑控制语句等重要内容。 2、BOM,浏览器对象模型,包括history(历史)、document(文档)、location(地址)等浏览器相关的重要信息。 3、DOM,文档对象模型,它的重要内容可以概括为“节点”,节点可以是html中的任意一个标签,像是head,body就是html文档中的两个节点,两者以下的所有分支都可以形成非常具有层次性的节点层。 三、JS的基本结构与使用方式 1、基本结构

java基础4

扶醉桌前 提交于 2020-02-17 07:02:21
1、位运算符 主要针对二进制数。 只有 0 1 两种形态。加快运行速度。 &:位与 两个数同时为1 则为1 否则为0 |:位或 两个数中有一个为1 则为1 否则为0 ^: 异或 相同为0 不同为1 : 右移运算符 代表位数向右移动 <<:左移运算符 代表位数向左移动 : 无符号右移 移动位数很多时,其实按数据的实际有效位数例如 32位,移动位数100%最大位数32 肯定是在32位之内 2、三元运算符 布尔表达式?结果1:结果2 如果布尔表达式的结果为 true ,进行结果1 如果布尔表达式的结果为 false ,进行结果2 3、转义运算符 字符并不是你看起来的那个样子,转义了。 a、八进制转义 +用1-3位的8进制数字,范围‘000’-‘377’ 例如: \0; b、unicode 转义字符 \u+ 4位十六进制数字:0-65535 \u0000 c、特殊字符 \”:表示双引号 \’:单引号 \:反斜线 d、控制字符 \r :回车 \n: 换行 \t: tab \b:退格 程序控制语句(顺序 条件 循环) 4、 if 条件语句 只要满足某种条件就处理,不完全是 顺序结构,可以跳着执行。 (1) if (条件语句){ —建议将{ 起始位置写在 if条件之后 便于知道 if语句的范围。 执行语句; } if else 如果满足条件,我将如何做,否则我该如何做。 (2) if(条件语句)