上一章,我们只是完成最简单的工程,这一章,我们开始来学习其语法了
一 . Kotlin和Java的基本数据类型比较
基本数据类型名称 | Kotlin | Java |
整型 | Int | int和Integer |
长整型 | Long | long和Long |
浮点型 | Float | float和Float |
双精度 | Double | double和Double |
布尔型 | Boolean | boolean和Boolean |
字符型 | Char | char |
字符串 | String | String |
二. 变量以及变量之间的转换
2.1 简单的申明一个变量
var i :Int =0; 前面的var表示的是后面是一个变量声明语句接着是“变量名:变量类型”的格式候面等于号是给其赋值
2.2 变量之间的转换
Kotlin的数据类型转换函数 | 转换说明 |
toInt | 转换为整形数 |
toLong | 转换为长整型 |
toFloat | 转换为浮点型 |
toDouble | 转换为双精度 |
toChar | 转换为字符 |
toString | 转换为字符串 |
好了,我们测试一下是不是这样的:
2.3布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" /> <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" /> <TextView android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" /> <TextView android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" /> </LinearLayout>
2.4在MainActivity中:
import android.support.v7.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val origin:Float = 65.0f; tv.text = "初始值是: "+origin.toString(); var int:Int; int = origin.toInt() tv1.text = "转换Int值是:"+int.toString() var float: Float float = origin.toFloat() tv2.text = "转换Float值是:"+float.toString() var double: Double; double = origin.toDouble() tv3.text = "转换Double值是:"+double.toString() var char: Char; char = origin.toChar() tv4.text = "转换Char值是:"+char.toString() } }
2.5 运行效果如下:
基本的转换,我们差不多知道了。
三. 数组变量的声明
数组类型以及初始化的方式
数组类型 | 数组类型的名称 | 数组初始化的方法 |
整型数组 | IntArray | intArrayOf |
长整形数组 | LongArray | longArrayOf |
浮点型数组 | FloatArray | floatArrayOf |
双精度数组 | DoubleArray | doubleArrayOf |
布尔型数组 | BooleanArray | booleanArrayOf |
字符型数组 | CharArray | charArrayOf |
好了,我们两个小例子
var intArray:IntArray =intArrayOf(1,2,3,4);
var longArray:LongArray =longArrayOf(1,2,3);
var floatArray:FloatArray =floatArrayOf(1.0f,2.2f,3.3f)
这样,我们便声明了一个数组,以及给其初始化了。
当然,这个我们还可以用泛型来写
var intArray:Array<Int> =intArrayOf(1,2,3,4);
var longArray:Array<Long> =arrayOf(1,2,3);
var floatArray:Array<Float> =arrayOf(1.0f,2.2f,3.3f)