首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第2章 Kotlin 语法基础第2章 Kotlin 语法基础

2.3.8 throw表达式 在 Kotlin throw 是表达式,它类型是特殊类型 Nothing。 该类型没有值。跟C、Javavoid 意思一样。...2.4.3 二元操作符 Kotlin二元操作符有算术运算符、索引访问操作符、调用操作符、计算并赋值操作符、相等与不等操作符、Elvis 操作符、比较操作符、中缀操作符等。下面我们分别作介绍。...Elvis 操作符 ?: 在KotinElvis操作符特定是跟null比较。也就是说 y = x?:0 等价于 val y = if(x!...Elvis操作符 ?: 是一个二元运算符,如果第一个操作数为真,则返回第一个操作数,否则将计算并返回其第二个操作数。它是三元条件运算符变体。命名灵感来自猫王发型风格。...Kotlin没有这样三元运算符 true?1:0,取而代之是if(true) 1 else 0。而Elvis操作符算是精简版三元运算符

2.6K20

Kotlin语法基础之运算符

运算符则用于支出表达式单个或者多个操作数参与运算规则,表达式通过运算之后产生值依赖于表达式包含运算符优先级和结核性。...- 一目运算符用于单一操作对象,又称单目运算符:++a、!b、i–等。 - 双目运算符是中置,它拥有两个操作数,比如:a+3、a*b 需要说明是,Kotlin没有三目运算符。...Kotlin语言和Java一样,支持三个标准逻辑运算符,逻辑与、逻辑或、逻辑非。 && : 逻辑与,可以理解为并且意思. || : 逻辑或,可以理解为或者意思,也就是条件可以二取一 !...: 逻辑非,取反 逻辑运算表达式操作数组合不同,整个表达式不同。在这里我们给出一个逻辑运算值搭配总结表: a b a&&b a||b !...运算符重载是自C++语言器就支持特性,然而在Java语言之中这个特性就不在支持,在很多高级科学运算上很不方便,Kotlin语言又从新支持此特性。

2.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

JAVA入门1 原

可以使用 “=” 将右边表达式结果赋给左边操作数。 Java 支持常用赋值运算符,如下表所示: ? 3.4比较运算符 比较运算符用于判断两个数据大小,例如:大于、等于、不等于。...= 两边操作数既可以是数值类型,可以是引用类型 3.5逻辑运算符 逻辑运算符主要用于进行逻辑运算。Java 中常用逻辑运算符如下表所示: ?...3.6条件运算符 条件运算符( ? : )称为 “三元运算符”。 语法形式:布尔表达式 ?...: ? 注意哦:如果 if 条件成立时执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺喽~~ (2)if...else 语法: ? 执行过程: ? : ?...省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,: ?     b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说“死循环”现象,: ?

2.6K20

__asm__ volatile 之 C语言嵌入式汇编

这是一个非常有用功能,有利于我们将一些C/C++语法无法表达指令直接潜入C/C++代码,另外允许我们直接写 C/C++代码中使用汇编编写简洁高效代码。...3、带有C/C++表达式内联汇编 GCC允许你通过C/C++表达式指定内联汇编"Instrcuction List"中指令输入和输出,你甚至可以不关心到底使用哪个寄存器被使用,完全靠GCC来安排和指定...如果都省略,则此汇编退化为一个基本内联汇编,否则,仍然是一个带有C/C++表达式内联汇编,此时"Instruction List"寄存器写法要遵守相关规定,比如寄存器前必须使用两个百分号(%%),...括号括住部分是一个C/C++表达式,用来保存内联汇编一个输出值,其操作就等于C/C++相等赋值cr0 = output_value,因此,括号输出表达式只能是C/C++左值表达式,也就是说它只能是一个可以合法放在...括号表达式cpu->db7是一个C/C++语言表达式,它不必是一个左值表达式,也就是说它不仅可以是放在C/C++赋值操作左边表达式,还可以是放在C/C++赋值操作右边表达式。

12K44

C++基础——Ubuntu下编写C++环境配置总结(C++基本简介、Ubuntu环境配置、编写简单C++例程)

这个一看是很简单,只要有点Linux基础就行了(如何使用Vim或Vi编辑器、如何在Linux下编译等),之前博主在《从0到1学习嵌入式Linux开发实战》总结了Liunx系统编程,里面的内容足以解决这个问题...C++ 进一步扩充和完善了 C 语言,最初命名为 C,后来在 1983 年更名为 C++C++C 一个超集,事实上,任何合法 C 程序都是合法 C++ 程序。...我们见过或者听过 C++98,这样 C++标准,也就是 1998 年发布 C++,所以叫 C++98,是 C++第一个标准。...Ubuntu 环境里, 编译 C 语言GCC ,编译 C++是 G++。...3行,cout << "Hello World"<<endl; 会在屏幕上显示消息 "Hello World"并换行。“<<”是运算符, endl 是换行语句。 其他语句就不赘述了,太简单了。

2.6K31

C++面向对象学习之运算符重载(1)

);} 注意在表达式重载运算符“+”左侧应为 Complex 类对象, c3=c2+i; 不能写成 c3=i+c2; // 运算符 “+” 左侧不是类对象 , 编译出错 如果出于某种考虑...如果运算符左侧 操作数属于C++标准类型(int)或是一个其他类对象,则运算符重载函数 不能作为成员函数,只能作为非成员函数。 如果函数需要访问类私有成员, 则必须声明为友元函数。 可以在 Complex..., 不能省略,形参顺序任意,不要求第一个参数必须为类对象。 但在使用运算 符表达式,要求运算符左侧操作数与函数第一个参数对应,运算符右侧 操作数与函数第二个参数对应。 c3=i+c2;...成员函数,原因是显然C++可重载运算符重载为数众多,存在着一些限制,这些限制包括: 1、为防止用户为标准类型重载运算符,重载后运算符必须至少有一个是用户自定义类型数据。...针对“++”和“–”这一特点,C++约定: 在自增(自减)运算符重载函数,增加一个 int型形参,就是后置自增(自减)运算符函数。 可以看到: 重载后置自增运算符时,多了一个 int 型参数,增加这个参数只是为了与前置自增运算符重载函数有所区别

83230

C++ 炼气期之算术运算符

开发者在实现自己逻辑运算时,需要组合这些运算符来描述自己逻辑运算过程。 Tip: 可以把C++运算符看成一种特殊语法格式函数,或把C++函数当成一种特殊运算符。...如果出现类型不一致时,编译器会试着把不同类型数据转换成同类型数据后再进行运算。开发者可以显示进行强制类型转换。 2. 运算符种类 C++运算符非常多,如下是几类常用运算符: 算术运算符。...运算符操作数:作用于一个操作数运算符为一元运算符,作用于两个操作数运算符为二元运算符C++还有一个可作用于三个操作数条件运算符。...Tip: 只有当两个运算符作用于同一个操作数时,优先级和结合性才有意义。 C++基础运算符较多,且因C++是弱类型语言,每一种运算符在使用过程中都存在很多细节问题。...3.2 运算符重载问题 C++可以重载运算符,所谓重载运算符,指同一个运算符可以根据使用时上下文信息,表现出不同运算能力。-运算符, 当作为二元运算符时,用来对操作数进行相减操作。

53030

《Kotlin极简教程》第3章 Kotlin语言基础第3章 Kotlin语言基础《Kotlin极简教程》正式上架:参考资料

e = 3 // 明确赋值 println("c = $c, d = $d, e = $e") } } 我们知道,在Java分可变与不可变(final)。...跟C、Javavoid 意思一样。...Elvis 操作符 ?: 在KotinElvis操作符特定是跟null比较。也就是说 y = x?:0 等价于 val y = if(x!...Elvis操作符 ?: 是一个二元运算符,如果第一个操作数为真,则返回第一个操作数,否则将计算并返回其第二个操作数。它是三元条件运算符变体。命名灵感来自猫王发型风格。...Kotlin没有这样三元运算符 true?1:0,取而代之是if(true) 1 else 0。而Elvis操作符算是精简版三元运算符

1.6K20

python学习第四讲,python基础语法之判断语句,循环语句

3. if 进阶 if elif else 在C/C++ Java if语法是 if else 或者 if else if else 意思就是 当判断条件不成立,则执行 elseif 里面的条件....二丶运算符详解 上面我们说了if语法.本质来说就是判断条件是否成立.进而进行选择我们代码块进行执行....运算符 描述 == 检查两个操作数值是否 相等,如果是,则条件成立,返回 True !...使用条件时候,使用括号进行条件判断.: if (a==10) : xxxx 三丶循环语句详解 1.了解程序执行流程 在程序开发,一共有三种流程方式: 顺序 —— 从上向下,顺序执行代码 分支...(省略)... 处理条件(计数器 + 1) 演示从1 + 到100 ? 在我们上面的程序, nCount变量是用来统计每次累加数值, 而nNumber则是计数器.

75160

C++最佳实践 | 1. 工具

关于如何在基于C++ cmake应用程序启用简单示例,请参考: https://github.com/ChaiScript/ChaiScript/blob/master/.travis.yml 启用覆盖工具...(Codecov或Coveralls) 启用Coverity Scan[37] 这些工具都是免费,设置起来相对容易。...编译器 启用所有可用、合理告警选项,有些告警选项只在启用了优化情况下才有效,或者优化级别越高,效果越好,例如GCC-Wnull-dereference。...if/else分支有重复条件,则发出警告(仅在GCC >= 6.0) -Wduplicated-branches 如果if/else分支有重复代码,则发出警告(仅在GCC >= 7.0) -Wlogical-op.../w14546 逗号前函数调用缺少参数列表 /w14547 'operator': 逗号前运算符无效,预期运算符有副作用 /w14549 'operator': 逗号前运算符无效,想要“运算符

3.3K10

C语言初学者应该注意什么????(转载于本人在红客联盟原创文章)

(不说了) 还有如果你以后要学习c++那么一定要在学C语言时候注意一个问题那就是 int main() 一般C语言如果()里面不说明什么那么()里面就空着但c++就算不说明什么也要在()里面加一个...void例如 int main(void) 然后就是运算比较难这里给大家分享一个连接运算符优化等级 https://baike.baidu.com/item/%E8%BF%90%E7%AE%97%...从第一个操作数减去第二个操作数        A - B 将得到 -10 *        把两个操作数相乘        A * B 将得到 200 /        分子除以分母       ...%c   char     字符型,可以吧输入数字按照ASCII码相应转换对应字符 %s     char*    字符串,输出字符串字符直至字符串空字符(字符串以‘\0’结尾,这个‘\0...break:跳出当前循环    default:开关语句中“其他”分支    sizeof:计算数据类型长度    return :子程序返回语句(可以参数,可不带参数)循环条件

53110

C语言介绍

为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行C语言标准。 注:国际标准化组织ISO制定C语言标准,被很多编译器所采用,GCC等。...编译软件 常用编译软件有Microsoft Visual C++、Borland C++、Intel C++gcc、clang、Watcom C++ 、Lccwin32 C Compiler 3.1...Java则吸取了C++教训,取消了指针操作,取消了C++改进中一些备受争议地方,在安全性和适合性方面均取得良好效果,但其本身解释在虚拟机运行,运行效率低于C++/C。...在表达式方面较其它程序语言更为简洁,自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉这种表达式难读,关键原因就是运算符和运算顺序理解不透不全。...因算术比特右移较适于处理负号整数,所以几乎所有的编译器都是算术比特右移。 运算符优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符条件运算符、赋值运算符(=)和逗号运算符

2.6K20

还分不清左值,右值,将亡值?看这里!

它们事实上表征了表达式属性,而这种属性区别主要体现在使用上,如能否做运算符操作数、能否使用移动语义(关于移动语义,在下后续文章中会详细介绍)等。...纯右值 描述 满足下列条件之一: 本身就是赤裸裸、纯粹字面值,3、false; 求值结果相当于字面值或是一个不具名临时对象。...在C++11,我们用左值去初始化一个对象或为一个已有对象赋值时,会调用拷贝构造函数或拷贝赋值运算符来拷贝资源(所谓资源,就是指new出来东西),而当我们用一个右值(包括纯右值和将亡值)来初始化或赋值时...附注 事实上,将亡值不过是C++11提出一块晦涩语法糖。它与纯右值在功能上及其相似,都不能做操作符操作数,都可以使用移动构造函数和移动赋值运算符。...另外,对于char *p_char="abc";,在GCC编译器上,GCC4.9(C++14)及以前版本会给出警告,在GCC5.3(C++14)及以后版本则直接报错:ISO C++ forbids

5K30

C语言:操作符详解

int a = 100;//初始化 a = 200;//赋值,这⾥使⽤就是赋值操作符 2.1 连续赋值 赋值操作符可以连续赋值,: int a = 3; int b = 5; int c = 0;...= 不相等运算符 注意事项: 1,关系表达式通常返回 0 或 1 ,表示真假 C 语⾔, 0 表⽰假,所有非零值表示真。 ⽐, 20 > 12 返回 1 , 12 > 20 返回 0 。...上述表达式能得到我们预期结果。 五、条件操作符 条件操作符(? :)叫三⽬操作符,因为需要接受三个操作数,形式如下: exp1 ?...注:C语⾔,⾮0表⽰真,0表⽰假 6.1 逻辑取反运算符,我们有⼀个变量叫 flag ,如果flag为假,要做⼀个什么事情,就可以这样写代码: int main() { int flag =...如果左边表达式满⾜逻辑运算符条件,就不再对右边表达式求值。这种情况称为“短路”。 1,对于&&操作符来说,左边操作数结果是0时候,右边操作数就不再执⾏。

12910

java基础知识讲解(一)数据类型和运算符

整型范围与运行Java代码机器无关,这正是Java程序具有很强移植能力原因之一。与此相反,CC++程序需要针对不同处理器选择最有效整型。...(operator) 计算机最基本用途之一就是执行数学运算,作为一门计算机语言,Java提供了一套丰富运算符来操作变量。...算术运算符+,-,*,/,%属于二元运算符, 二元运算符指的是需要两个操作数才能完成运算运算符。 其中%是取模运算符就是我们常说求余数操作。 ( ? ? ?...)二元运算符运算规则: 整数运算:   1. 如果两个操作数有一个为Long, 则结果为long。   2.没有long时,结果为int。...算术运算符++,--属于一元运算符,该类运算符只需要一个操作数。 ?

66410

Java 小白成长记 · 第 3 篇《运算符与控制流》

④ 自增与自减运算符 在 Java , 借鉴了 CC++ 做法,提供了自增、 自减运算符:n++ 将变量 n 的当前值加 1, n-- 则将 n 值减 1。...不存在<<<运算符。 ⑧ 三元操作符 三元运算符称为条件运算符。下面是它表达式格式: 布尔表达式 ?...⑩ Java 没有 sizeof 在 C/C++ ,经常需要用到 sizeof() 方法来获取数据项被分配字节大小。...在 C++ , 可以在嵌套重定义一个变量。在内层定义变量会覆盖在外层定义变量。这样,有可能会导致程序设计错误, 因此在 Java 不允许这样做。...因此, 循环体代码有可能不被执行(如果开始循环条件值就为 false, 则 while 循环体一次不执行)。 如果希望循环体至少执行一次, 则应该将检测条件放在最后。

49310

《深入理解计算机系统》阅读笔记--程序机器级表示(上)

GCC c语言编译器以汇编代码形式产生输出,汇编代码是机器代码文本表示,给出程序每一条指令。然后GCC调用汇编和链接器,根据汇编代码生成可执行机器代码。...这一章节其实就是来更加深入认识和理解汇编代码 现在我们更多接触都是一些高级语言,JAVA,GO,Python,其实用这些语言时候,更大程度上,已经屏蔽了一些程序细节,即机器级实现。...三、程序编码 假如我们有一个c程序,有两个文件p1.c 和p2.c 我们通常编译时候是通过如下命令: gcc -0g -o p p1.c p2.c GCC是linux上默认编译器,-0g 告诉编译器使用会生成符合原始...,不需要访问该程序源代码或汇编代码 反汇编器使用指令命令规则与GCC生成汇编代码使用有些区别,在上面的示例,它省略了很多指令结尾q,这些后缀是大小指示符,可以省略 四、数据格式 由于是从16位体系结构扩展成...:C语言中所谓指针其实就是地址。

71800

【JS】646- 1.2w字 | 初中级前端 JavaScript 自测清单 - 1

18; 其中: 加法运算 1 + 2 , 1 和 2 为 2 个运算元,左运算元 1 和右运算元 2 ,即「运算元就是运算符作用对象。」...1 + 2 运算式包含 2 个运算元,因此称该运算式加号 + 为 「二元运算符。」 在 +18 加号 + 对应只有一个运算元,则它是 「一元运算符」 。...常见比较 在 JS 比较与数学很类型: 大于/小于/大于等于/小于等于:a>b / a=b / a<=b ; 判断相等: // 使用 ==,非严格等于,不关心值类型 // == 运算符会对比较操作数做隐式类型转换...text 用来提示用户输入文字字符串,如果没有任何提示内容,该参数可以省略不写。 value 文本输入框默认值,该参数可以省略不写。...三元运算符条件(三元)运算符」是 JavaScript 仅有的使用三个操作数运算符。一个条件后面会跟一个问号(?)

1.6K50

C++运算符重载 ⑭ ( 逻辑与 && 运算符重载 | 逻辑或 || 运算符重载 | 完整代码示例 )

其 内部 内置了 短路 规则 , 也就是 前面的 逻辑与 && 运算 , 只要得到 false 结果 , 那么后续逻辑与运算没要运行 , 整个表达式结果都是 false ; 前面的 逻辑或 ||...运算 , 只要得到 true 结果 , 那么后续逻辑或运算没要运行 , 整个表达式结果都是 true ; C++ 函数实现 , 无法实现短路规则 ; 因此 一般情况下 , 不实现 逻辑与 和 逻辑或..., 参数一般都是 对象引用 ; 括号运算符 使用时用法为 s1 && s2 ; 左操作数 : 其中 左操作数 是 s , 这里通过 this 指针调用 , 不需要声明在参数 ; 若干右操作数...: 右操作数 也是 Student 对象 ; 该操作数需要声明在参数 , 注意 普通数据类型 直接声明 , 对象数据类型 需要声明 为 引用类型 ; 上述两个是对象类型 , 对象一般传入 指针 或 引用...对象引用 ; 括号运算符 使用时用法为 s1 || s2 ; 左操作数 : 其中 左操作数 是 s , 这里通过 this 指针调用 , 不需要声明在参数 ; 若干右操作数 : 右操作数 也是

14610
领券