Kotlin学习笔记二、数组与数组基本操作

1、数组声明:

数组声明格式:
变量声明关键字 数组变量名:数组类型 = 数组类型of(元素1、元素2……)

var intArray:IntArray = intArrayof(1, 2, 3, 4)

kotlin数组与Java数组的区别:

1、kotlin另外提供了新的整型数组类型:IntArray;
2、分配一个常量数组,kotlin调用的是intArrayOf方法,并不使用new关键字。由此推广到其他数据类型的数组,创建数组变量的时候也不会用到new关键字。
在这里插入图片描述
比如:

var intArray: IntArray = intArrayOf(1,2,3)
var longArray:LongArray = longArrayOf(1,2,3)
var floatArray:FloatArray = floatArrayOf(1.0f,2.0f,3.0f)
var doubleArray:DoubleArray = doubleArrayOf(1.0,2.0,3.0)
var booleanArray:BooleanArray = booleanArrayOf(true,false,false)
var charArray:CharArray = charArrayOf(‘a’,’1’)

但是上面我们还没有给出String的数组的定义方式,那字符串String数组是怎么定义的呢?我们一起来看看:

	var stringArray:Array<String> = arrayOf(“xiao”, ”xiao”)

哈哈,看到这里,是不是感觉很熟悉?写法是不是很像Java的数组创建?其实上面其他几种数据类型的数组都可以这么创建:

var intArray: Array<Int> = arrayOf(1, 2, 3)
var longArray: Array<Long> = arrayOf(1, 2, 3)
var floatArray: Array<Float> = arrayOf(1.0f, 2.0f, 3.0f)
var doubleArray: Array<Double> = arrayOf(1.0, 2.0, 3.0)
var booleanArray: Array<Boolean> = arrayOf(true, false, false)
var charArray: Array<Char> = carrayOf(‘a’, ’1’)
2、数组的简单操作:

在kotlin的数组操作中:
1、获取数组的长度用**.size()方法。而且也不提供像Java那样的length()**方法。
2、关于获取数组指定位置的元素,koltin提供了多种方案:一是像Java那样通过[index]的方式获取,二是通过get(index) 的方式获取,三是通过forEach循环,四是通过Iterator迭代输出,五是for循环(for循环又分5种)。

var strArray:Array<String> = arrayOf("zhong",  "晓",  "yu")	
var name01:String = ""					
var name02:String = ""

while (index < strArray.size){
	//通过get(index) 的方式获取=============================================================
	name01 = name01 + strArray.get(index)
	
	//通过[index]的方式获取=================================================================
	name02 = name02 + strArray[index]
	index++
}
println(TAG + "---通过get()的方式获取到的老婆的名字name01是:" + name01)
println(TAG + "---通过[index]的方式获取到的老婆的名字name02是:" + name02)

name01 = ""
//通过forEach循环=========================================================================
strArray.forEach {
    name01 = name01 + it
}
println(TAG + "---通过forEach循环的方式获取到的老婆的名字name01是:" + name01)

name01 = ""
//通过iterator循环========================================================================
var iterable:Iterator<String> = strArray.iterator();
while (iterable.hasNext()){
    name01 = name01 + iterable.next();
}
println(TAG + "---通过iterator循环的方式获取到的老婆的名字name01是:${name01}")
name01 = ""

//===============for循环方式一、===============
for (item in strArray){
    name01 = name01 + item;
}
println("for--in循环的结果:${name01}")
name01 = ""

//===============for循环方式二、===============
//注意:这里的size要减1
for (index in 0..strArray.size-1){
    name01 = name01 + strArray[index]
}
println("index in 0..strArray.size循环的结果:${name01}")
name01 = ""

//===============for循环方式三、===============
for (index in strArray.indices){
    name01 = name01 + strArray[index]
}
println("index in strArray.indices循环的结果:${name01}")

//===============for循环方式四、===============
for ((index, item) in strArray.withIndex()){
    println("队列list还可以通过循环下标的方式获取元素:$index 位置的元素是:$item")
}

//===============for循环方式五、===============
strArray.forEach {
    name01 = name01 + it
}
println("循环结果如下:$name01")

注意:forEach函数里面无法使用continue或者break。而是用下面的一种或者几种:
在这里插入图片描述
本篇博文经过多次补充和完善,因此,运行结果和上图有所出入。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值