IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> kotlin学习第一天:kotlin的简单内置类型 -> 正文阅读

[移动开发]kotlin学习第一天:kotlin的简单内置类型

学习视频地址:https://coding.imooc.com/class/398.html

1.实现Java调用Kotlin文件

1.修改build.gradle的Project文件

加入代码:

classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50'

在这里插入图片描述

2.修改build.gradle的Module文件

id 'kotlin-android'

在这里插入图片描述

implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.50'

在这里插入图片描述
这样就可以在Java项目,使用kotlin了。
在这里插入图片描述
在这里插入图片描述

2.把java文件转换为kotlin文件

1.点击code下面的connect Java File to kotlin File

在这里插入图片描述

2.转换成功

在这里插入图片描述

3.kotlin 的基本类型

1.基本类型

在这里插入图片描述

2.声明变量

val与var的区别:val只读不能修改,var可读也可修改。val与Java中的final有点相像
在这里插入图片描述

3.kotlin与Java的区别:

1.不用以逗号结尾
2.类型在后,变量名在前;
3. :类型可省
4.修饰Long类型时,最后面只能加大写L,不能用小写l。

val c=2000Lval c=2000l    ×

5.Kotlin的数值类型转换
不能直接进行转换,需要加上to类型()。
例:

//将Int型转化为Long型
val e:Int=10
val f:Long=e.toLong()

6.kotlin无符号类型,与c语言中的unsigned有异曲同工。
在这里插入图片描述
例:

fun main()
{
    val g:UInt= 2u  //无符号类型
    println("$g")
}

7.kotlin的输出

val name="李华"
println("name is :$name")
println("length is :${name.length}")  //当有方法时,需要加{}
System.out.printf("length is :%d",name.length)

在这里插入图片描述

8.kotlin中的地址和数值的比较
=== 比较数值相等,与Java中的 ==效果相同
==比较地址相等,与Java中的equals效果相同

9.kotlin输出多行数值,不像要Java一样用\n进行换行,以及用+来拼接。kotlin更加方便。

var test="""
        123
         123
    """.trimIndent()
    println("输出:\n$test")   //trimIndent方法:用于切割每一行开头相同数量的空格

在这里插入图片描述

4.数组

在这里插入图片描述

1.数组的创建

val c0= intArrayOf(1,2,3,4,5)
val c1=IntArray(5){2*(it+1)}
println(c0.contentToString())  //contentToString方法打印数组
println(c1.contentToString())

在这里插入图片描述

2.数组的长度

val a=IntArray(5);
println(a.size)

3.数组的读写

val d= arrayOf("Hello","World")
d[1]="Kotlin"
println("${d[0]},${d[1]}")

在这里插入图片描述

4.数组的遍历


val e= floatArrayOf(1f,3f,5f,7f)
//方法一
for(value in e)
{
    println(value)
}

//方法二
e.forEach { element->
    println(element)
}


//方法三
val array= intArrayOf(1,3,5,7)
for (i in array.indices)  //indices获取区间[0,4)
{
    println(array[i])
}

在这里插入图片描述

5.区间

1.区间的创建

val intRange=1..10  //闭区间[1,10]
    val charRange='a' until 'd' //前闭后开区间[a,d)
    val longRange=10L downTo 1L //倒序区间
    val intRangeStep=1..10 step 2 //步长step设置为2

    val floatRange=1f..10f   //上面为离散值,这里为连续值
    val doubleRange=1.0..10.0

    println(intRange.joinToString())
    println(charRange.joinToString())
    println(longRange.joinToString())
    println(intRangeStep.joinToString())
    println(floatRange.toString())
    println(doubleRange.toString())

在这里插入图片描述

2.简单遍历

与数组方法相同

6.集合框架

1.集合框架的介绍

集合框架复用Java API的所有实现
在这里插入图片描述
不可变的List不能添加和删除元素
例:

val intList: List<Int> = listOf(1,2,3)
val intList2: MutableList<Int> = mutableListOf(1,2,3)
   
val map:Map<String,Any> = mutableMapOf("name" to "luo","age" to 20)//Any等价于Java的Object
val stringList=ArrayList<String>()

2.集合框架的修改

//添加数据
for(i in 0..10){
     stringList+="num:$i"  //等价于stringList.add("num:$i")
 }
 println(stringList.toString())

 //删除数据
 for (i in 0..3)
 {
     stringList-="num:$i"  //等价于stringList.remove("num:$i")
 }
 println(stringList.toString())

在这里插入图片描述

3.集合框架的读写

stringList[5]="HelloWorld" //在stringList添加数据
val valueAt5=stringList[5] //在stringList读取数据
println(valueAt5)

val hashmap=HashMap<String,Int>()
hashmap["Hello"]=10
println(hashmap["Hello"])

4.Pair(两个元素)

//两种创建方式
val pair ="Hello" to "Kotlin"
val pair2=Pair("Hello","Kotlin")

//获取对应元素
val first=pair.first
val second=pair.second
val (x,y)=pair

5.Triple(三个元素)

//创建Triple
 val triple=Triple("x",2,3.0)
 
 //获取对应元素
 val first1=triple.first
 val second1=triple.second
 val third1=triple.third
 val (x1,y1,z1)=triple

7.函数

1.函数定义

在这里插入图片描述
Unit相当于Java的void,可以省略

2.函数引用

在这里插入图片描述
在这里插入图片描述
(Foo,String,Long)->Any等价于Foo.(String,Long)->Any等价于(Foo,String,Long,Any)

3.可变参数

multiParameters(1,2,3,4)  //设置参数

//vararg设置可变参数,参数个数不定
fun multiParameters(vararg ints:Int)
{
    println(ints.contentToString())
}

在这里插入图片描述

4.多返回值

val (x2,y2,y3)= multiReturnValues() //解构

fun multiReturnValues():Triple<Int,Long,Double>
{
    return Triple(1,3L,4.0)
}

5.默认函数

defaultParameter(2)  //其中y,z都有默认值

fun defaultParameter(x:Int,y:String="小明",z:Double=20.0)
{
    TODO()
}

6.具名函数

与默认函数的区别:defaultParameter(y="李华"),可以设置要赋值的地方,因为默认函数一般默认第一个函数

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:17:24  更:2022-02-14 21:17:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 15:00:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码