浅谈Kotlin(二):基本类型、基本语法、代码风格
浅谈Kotlin(一):简介及Android Studio中配置
通过上面的文章,在Android Studio中我们已经可以进行Kotlin编程了,接下来开始学习Kotlin的基本类型及语法。
一、基本类型
在 Kotlin 中,所有变量的成员方法和属性都是一个对象。
一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样。
注意,第一个字母大写,Kotlin 区分大小写
主要是以下几种字面值常量:
--数型:
123
--长整型要加大写L
:123L
--16进制:0x0f
--二进制:0b00001011
注意不支持8进制
Kotlin 也支持传统的浮点数表示:
-- 默认 Doubles :
123.5
,123.5e10
-- Floats 要添加f
或F
:123.5f
二、基本语法
知道了Kotlin支持哪些基本类型。下面开始了解基本语法。
1、Kotlin定义声明一个属性的两种写法
· var : 变量
· val : 常量
注意:不管定义常量(val)还是变量(var) 都必须要给定一个值。
声明变量/常量的语法为 : var age : Int = 1;
val name : String = "Alice" ;
常量(val)/变量(var) 属性名 : 类型 = 初始值 ;
Kotlin还提供一种写法 var age = 1;
发现省去了 : Int 即 声明这个属性是什么类型的,也能编译通过,这就是Kotlin的特点,自动推导出该值是什么类型。
都没有报错。
①、变量var的语法
很奇怪java中 变量 并不要求要初始值,我们看下Kotlin中 不给一个变量初始化会发生什么。
结果是报错:提示需要添加一个初始值。
选中" Add initializer" 之后 会发现系统给我们一个初始值 0 。
看一下上述6种基本类型 系统给定的初始值:
②、常量val的语法:
声明常量的时候和变量一样也需要提供一个初始值,并且这个值是之后无法修改的。
上面可以看到,定义了一个Int类型的常量age ,值为1。
后续代码中对age常量进行赋值修改,提示 让 age这个常量 作为 变量类型。选中会发现 val age:Int = 1 --> var age:Int =1;
综上:val声明常量和java中final使用一致,var声明变量必须要给定一个初始值。
2、Kotlin注释规范
与java一致
①、 单行注释
②、块级注释
3、kotlin定义一个方法/函数
基本格式:
fun 方法名(参数名 : 类型 ,参数名 : 类型 ...) : 返回类型{
}
举例:定义一个方法,传入两个类型Int的参数,计算参数之和,返回Int类型的结果。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_ktest)
var result : Int = sum(10,20) ;
}
/**
* 计算两个Int类型的和并返回
*/
fun sum(a: Int , b: Int) : Int{
return a + b
}
注意点:方法中的参数不需要加var
看到这,大家也应该会创建基本的方法了。但是有个疑惑,如果一个方法不需要返回值呢,类似于Java中的 void
Kitlin是用Unit处理的,可以看到,sum方法没有返回值, 调用的时候 写法是错误的,无法将一个无返回值的方法转为某一个类型。
正确写法如下:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_ktest)
var a = sumA(10,20) ;
}
/** * 计算两个Int类型的和并返回 */
fun sum(a: Int, b: Int): Unit {
//不做处理
}
//如果无返回值,Unit也可以省略
fun sumA(a:Int , b:Int) {
//不做处理
}
三、代码风格
1、命名风格
--使用骆驼命名法(在命名中避免下划线)
--类型名称首字母大写
--方法和属性首字母小写
--缩进用四个空格
--public 方法要写说明文档,这样它就可以出现在 Kotllin Doc 中
2、Unit
如果函数返回 Unit ,返回类型应该省略:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android 开发资料便签
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/72519270 Android 开发资料便签 标签:Android 本文Github链接地址 本文CSDN链接地址 本文MD版本阅读链接地址 平台 控制 【阿里】 【百度】 【友盟】 【微信】 【腾讯】 【微博】 应用 【中心】 【中心】 【中心】 【中心】 【中心】 【中心】 首页 【支付】 【首页】 【首页】 【首页】 【首页】 【首页】 分享 【分享】 【分享】 【分享】 【分享】 【分享】 统计 【统计】 【统计】 【统计】 【统计】 推送 【推送】 【推送】 【推送】 【推送】 地图 【高德】 【地图】 【地图】 登录 【登录】 【登录】 【登录】 【登录】 测试 【MQC】 【MTC】 【云测】 云服 【云】 【云】 【云】 托管 阿里 GtiHub GitLab CSDN 码云 Bitbucket 技术 文档 more Android API英文 API中文 JDK1.6 Gradle API英文 API中文 插件指南...
- 下一篇
Android 7.0之访问文件的权限和FileProvider类
转载请标明出处: http://blog.csdn.net/djy1992/article/details/72533310 本文出自:【奥特曼超人的博客】 权限更改 Android 7.0 做了一些权限更改,这些更改可能会影响您的应用。Android7.1的可以看这篇文章: 《android 7.1悬浮窗系统权限问题》 系统权限更改 目录权限 为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问 (0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。此权限更改有多重副作用: 私有文件的文件权限不应再由所有者放宽,为使用 MODE_WORLD_READABLE 和或 MODE_WORLD_WRITEABLE 而进行的此类尝试将触发 SecurityException。 注:迄今为止,这种限制尚不能完全执行。应用仍可能使用原生 API 或 File API 来修改它们的私有目录权限。但是,我们强烈反对放宽私有目录的权限。 文件权限更改 FileUriExposedException 异常 传递软件包网域外的 file:// URI 可...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路