基于C语言的kotlin的基础
创建kotlin工程
- create new project->next
- package name :公司网址倒起来写再加上工程名称->finish
- 连接手机(创建一个模拟器)(如果用kotlin的话可以跳过这个步骤,这里是Android开发才会用到)
(1)模拟机:右上角myphone中点击AVD manger创建一个自己需求的模拟机
(2)连接手机:用数据线先连接手机会弹出一个USB用于,点击第二个传输文件。如果用数据线连接手机后没有弹出这里选项,那么则需要打开开发者选项,点击设置->关于手机->版本号连点几次,会出现您已进入开发者选项,在连接手机就可以了。
定义变量
变量声明
var:不可改变的常量
val:可以改变的变量
定义变量时可以不指定变量类型,但此时必须有初始值。因为kotlion是类型安全的语言
因为电脑会用初始值自动推断变量类型
尽管电脑可以自动识别但为了方便我们人为观看,可以用显示声明数据类型。如下:(方便一眼看出变量类型)
val name:String = "cr"
kotlin与c语言的区别:kotlin不支持自动转换类型,这里简单提一下,以后会详细讲。但若一定要转换可以使用如下办法:
var age = 10
age = 10.5.toInt()
基本数据类型:一切皆对象
对于每一种基本类型都被封装起来了,封装的目的是方便用户使用
(在一个类里面进行所有关于该变量的功能)
Char
Int
Long
Float
Doule
Boolean
注意:不同于c语言,首字母全部大写
数组:
用Array来管理数组
用array定义完后不能改变元素个数,但可以改变每个元素的具体值
val numbers :Array<Int> = arrayOf(1,2,3)
numbers[0] = 5//numbers get(0) = 5//这里数组里面的元素的值是可以改变的
注意:array只是用于指向数组这个包装,不指向数组里面的具体数据
字符串String
与c语言不同的是,klion可以在字符串定义时实现拼接,如下图所示。我们先定义一个字符串命名name,然后再定义一个name1用于组成“cr’s age is 10"
但在其中我们并不用10表示age,而用
$$age的方式表示10。
val name:Int = 10
val name:String = "cr"
val name1:String = "cr's age is ${age.toDouble()}"
print(name1)
print("my name is $name")
在字符串的使用中也可以改变类型,比如上面的${age.toDouble()}代表的是将age转为double类型再显示出来
循环
在学习C语言阶段我们用的都是for循环语句,例如
for(int = 1;i > 0;i++){}
而klion阶段有所不同,直接用in来代替循环过程
for循环有几种情况
只用于输出值 不在于值的位置
其中又分四种表达方式
//第一种
for (i in 1..5){
print(i)
}
//最后输出的结果是12345
//第二种,与第一种不同的是:不会输出5
for (i in 0.until(5)){
print(numbers[i])
}
//最后输出的结果是01234
}
//第三种 依次输出numbers中的具体值
for (num in numbers){
println(num)
//第四种
numbers.forEach {
print("$it ")
}
/**可能有同学会问这里面的it怎么来的,it是foreach中自带的定义的it(变量类型和最开始定义的数组类型一样
只输出序号,不输出具体值
var numbers:Array<Int> = arrayOf(1,2,3)
for (num in numbers){
print(num )
}
//最后输出结果就是1 2 3
同时获取位置和值
for ((i,num) in numbers.withIndex()){
println("index $i is $num")
}
产生随机数
Random.nextInt(10,21) //用于产生10..20之间的随机数
Random.nextInt(10) //用于产生0..9之间的随机数