kotlin定义变量
首先需要注意的
1 定义只读局部变量使用关键字 val
定义。只能为其赋值一次,
2 定义全局变量使用关键字var定义,
java中定义一个TextView的id如下
private TextView text;
在kotlin中定义则如下(注意用冒号分隔)
private var text : TextView? = null
(解释TextView后面?的作用: 当某个变量的值可以为 null 的时候,必须在声明处的类型后添加 ?
来标识该引用可为空。)
对比 可以发现
kotlin 定义需要知道变量是定义全局的还是定义局部的,然后在写变量名 :变量的类型 ?=null
kotlin中默认初始化了,如果没有赋值,默认是初始化值, 这里面TextView 是String类型的.
接着在定义Int 类型对比看看
java定义:
int a ;
kotlin定义;
var a: Int = 0
kotlin可以自动推算出类型
val b = 2 // 自动推断出 `Int` 类型
这里b没有声明类型 ,但是kotlin可以自动推断出b是int类型 以为后面给一个2
注意 以下是不可取的,
val c: Int // 如果没有初始值类型不能省略
c = 3 // 明确赋值
kotlin的定义刚才已经说了,
可以直接赋值 var c =3 也可以 var c:int = 0 然后在给c赋值
kotlin定义变量相关推荐
- Kotlin定义静态变量、静态方法
Kotlin定义静态变量.静态方法 kotlin定义静态变量.方法可以采用伴生对象companion object的方式. 经典例子,实例化Fragment. java写法: public class ...
- 【Kotlin】变量简介 ( 可空类型 | lateinit | 初始化判定 | 非空类型 | !! 与 ? 修饰符 | ?= ?. ?: 运算符 | 抽象属性变量)
文章目录 I . Kotlin 变量总结 II . Kotlin 非空变量 III . 非空变量不能赋空 IV . lateinit 关键字 V . lateinit 初始化判定 VI . Kotli ...
- java val变量声明_Kotlin 中 var 与 val 定义变量的区别,及使用场景
看 Kotlin 项目示例代码中,经常出现 var / val 定义变量的情况.于是查了一下两者的区别: var 定义的变量可以被再次赋值.var 是 variable 的缩写. val 定义的变量不 ...
- js中定义变量之②var let const的区别
var 上一篇文章有讲过,是js定义变量的关键词. 但是在es6中,新添加了两个关键词,用于变量声明的关键词:let 和const 接下来就说一下var let 和const的区别: 首先说var 用 ...
- c语言lang变量,02-GoLang定义变量
变量的常规定义 1.1定义一个变量,先定义再初始化 var num int num = 666 fmt.Printf("%d\n",num) 1.2定义的同时初始化 var num ...
- php7 定义变量,基于PHP7的PHP扩展开发之七(定义变量)
目的:熟悉在PHP扩展里面如何定义变量 要实现的PHP代码如下: class lostphp{} $lng = 2; $str = "abc"; $arr = array(1,'a ...
- mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别
在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...
- 定义变量时无引号,单引号,双引号区别与特点:
a=192 a=192-$a b='192-$a' c="192-$a" echo "a=$a" echo "b=$b" echo &quo ...
- shell中定义变量用双引号和单引号以及不用引号的区别
1. 单引号 使用单引号的情况下,不管里面的是否有变量或者其他的表达是都是原样子输出 2. 双引号 如果其定义变量的时候使用双引号的话,则里面的变量或者函数会通过解析,解析完成后再输出内容,而不是把双 ...
最新文章
- 积少成多 Flash(ActionScript 3.0 Flex 3.0) 系列文章索引
- MySQL statefulset_Kubernetes进阶之StatefulSet有状态部署
- mysql 关联更新_MySQL 规范
- String到底是值类型还是引用类型(C#)
- TIOBE 12月编程语言排行榜:Python有望第四次成为年度语言
- is,as,sizeof,typeof,GetType
- 鲲云获数千万A轮融资:开发全球首颗数据流AI芯片,实现数据流架构的创新突破!
- 计算机不能上网 检查路线,腾达(Tenda)路由器不能上网的解决方法
- intel 面试总结
- 游戏出海,技术先行 ——UCloud助力出海业务最佳实践直播公开课
- MySQL数据类型详解
- win7 计算机刷新dns,刷新dns,教您怎么刷新DNS
- 一、Spark安装与部署
- 计算机网络自顶向下第七版第二章课后答案,《计算机网络·自顶向下方法》第七版 第二章 课后习题与问题 答案...
- 2021SC@SDUSC Zxing开源代码(九)Wifi 二维码结果处理
- 幼儿园数学目标_大班数学领域目标
- 如何高效读懂一本书(附10种读书方法)
- android发短信!渣本毕业两年经验,终局之战
- java微信支付 需要证书吗_java引用微信支付的p12证书文件
- 大数据高级开发工程师——Spark学习笔记(8)
热门文章
- rancher部署项目Validation failed in API: Deployment.apps“”must be no more than 63 characters问题原因及解决方法
- 2021-2027年中国一氧化氮行业市场研究及前瞻分析报告
- 2021-2027全球与中国经颅磁刺激仪(TMS)市场现状及未来发展趋势
- 通过python利用哈希值实现比较两个文件的一致性
- linux高效办公环境配置(vim、tmux、bash_profile)
- SMOTE算法代码实现-机器学习
- tinybert华为
- 【图论】有向无环图的拓扑排序
- GPU自动调度卷积层
- GPU加速:宽深度推理