上一章,我们只是完成最简单的工程,这一章,我们开始来学习其语法了
一 . 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)