Kotlin学习笔记——基础语法篇之控制语句
if…else…
用法
Kotlin中if...else...
基本用法与C/C++
,java
中相同
例子
1 | button.setOnClickListener { |
而Kotlin的if else可以有返回值
Kotlin中if...else...
基本用法与C/C++
,java
中相同
1 | button.setOnClickListener { |
而Kotlin的if else可以有返回值
参考文献——Kotlin学习之运算符
来自简书作者——Hunter_Arley
运算符 | 解释 | 重载函数 |
---|---|---|
a == b | 判断ab是否结构相等,相当于java中a.equals(b)或b.equals(a) | a?.equals(b)?:b===null |
a != b | 判断ab是否结构不等,相当于java中!a.equals(b)或!b.equals(a) | !(a?.equals(b)?:b===null) |
=== | 判断是否结构相等且引用相同 |
==
用来比较两个元素是否相同,比如字符串的内容,整数,浮点数的值,而不比较引用是否相同,而===
表示比较内容是否相同,且引用是否相同运算符 | 解释 | 重载函数 |
---|---|---|
is | 判断变量是否为某个类型 | |
a in b | 检查元素a是否在b中 | b.contains(a) |
数据类型名称 | Kotlin的数据类型 |
---|---|
整型 | Int |
长整型 | Long |
浮点型 | Float |
双精度浮点型 | Double |
布尔型 | Boolean |
1 | var integer:Int//一般用法var/val + 标识符 + : + 类型名,var表示变量 |
@JvmOverloads
(让java能够识别默认参数),并且补充constructor
关键字@JvmOverloads
修饰,constructor
关键字可省略(不是指二级构造函数的constructor
,是类名后面的)constructor
关键字1 | class Animal (type:String = "动物", name:String) { |
刚开始就是用双层for循环写,然后秉承着谦虚的态度看了题解,发现真的有O(N)的算法一遍哈希表
。
主要就是利用map
建立从数到数组下标的map,然后每次计算出target-nums[i]的值,然后看map里面有对应的下标,有的话就输出,没有就继续。
map的值为0时,如何区分stl的map知识有限,如何判断0是数组里面没有这个数还是查询的引索为0呢?只要储存的时候下标+1,用的时候减一就行了,这样map值为0,一定是没有这个数。
1 | class Solution { |
1 | static const auto __ = []() { |
1 | class Solution { |
1 | class Solution { |
把2,5的倍数拆成2,5,数5的个数(2一定比5多),这样5一定和2配对,所以5的个数就是末尾0的个数
1 | class Solution { |
1 | class Solution { |
i-j
的值就是一个非重复子串的长度1 | class Solution { |
1 | class Solution { |