Kotlin的编程基础

  • Kotlin 常量和变量
  • Kotlin 数据类型
  • Kotlin 运算符
  • Kotlin 流程控制语句

Kotlin的常量和变量

在Kotlin中,常量必须用val关键字来声明,而变量必须用var关键字来声明

	var intType:Int = 15
	val floatType:Float = 15f

在上上述声明中,var和val是必选参数,而且是二选一的

常量
常量的值是不可改变的,即常量被定义后,在程序的任何地方都不能改变它的值,在其他编程语言中
对常量名有一定的限制,但是在Kotlin中常量名不在局限于英文字母,下划线和数字,还可以是中文文字,
虽然对Kotlin的常量名没有过的的限制,但是我们在给常量命名时要做到见名知意。

	val a:Int = 10
	
	fun main(args: Array<String>){
		printIn(a)
	}

上述代码为定义一个常量并输出,如果对常量a进行变更如a = a+1时,会编译报错

变量
变量的值是可以被改变,它没有固定的值,即变量被定义后,在程序的任何地方都可以改变它的值。变量的值离程序结果最近,即位该变量的最终值。

var v1:String = "Kotlin"
var v2:Int?
var v3:Int = 10
var v4 = 5
set(value){
	if(value <= 5)
	field = value
}

	fun main(args: Array<String>){
		printIn(v1)
		printIn(v3)
		v4 = 5+5
		printIn(v4)
	}

以上代码的输出结果为
Kotlin
10
5
因为重写了v4的set方法所以v4的值没有更改

Kotlin的数据类型

Kotlin的最基本元素是数字和字符
在Kotlin编程语言中有两种数据类型:基本数据类型和引用数据类型

  • 基本数据类型包括:布尔类型(Boolean)、数值类型(Number)、字符类型(Char)
  • 引用数据类型包括:可空类型(Null)、对象类型(Object)和数组类型(Array)

布尔类型(Boolean)
布尔类型是常见的数据类型,与java相同只有true和false两个值

//这便是声明一个布尔类型的常量
val boo:Boolean = true

数值类型

数值类型包括整型和浮点型

  • 整型:包含最小的16位的short类型,最常见的32位int类型和最大64位长整型long
  • 浮点型:包含64位双精度浮点型double类型和32位的float类型
  • 字节类型其实也属于数值类型,8位,只是在程序中很少会使用到这种数据类型,它一般用于数据流的数据记载
	//kotlin的int定义,以下为一个变量,var后是变量名,冒号之后为变量的数据类型定义
	var intType:Int = 15
    //kotlin的double定义,以下为一个变量,var后是变量名,冒号之后为变量的数据类型定义
    //注:double类型的值为小数
    var doubleType:Double = 1.0
    //kotlin的float定义,以下为一个变量,var后是变量名,冒号之后为变量的数据类型定义
    //注:Float类型的值后要加 f 或大写 F 
    var floatType:Float = 1f
    //kotlin的short定义,以下为一个变量,var后是变量名,冒号之后为变量的数据类型定义
    var shortType:Short = 12
    //kotlin的long定义,以下为一个变量,var后是变量名,冒号之后为变量的数据类型定义
    var longType:Long = 1

以上是Kotlin中一些数值类型的简单定义

字符类型
字符常量是由一对单引号围起来的单个字符,可以是16位的Unicode字符集中的任意字符

//这就是Kotlin中,字符类型的常量声明
val char:Char = 'a'

字符串类型
字符串是连续的字符序列,由数字、字母和字符组成。在Kotlin中字符串有两种字面值,转义字符串可以是转义字符,原生字符串可以包含换行和任意文本,转义字符同样需要用反斜线的方式来著名,原生字符串需要三个引号分界符括起来。

//字符串和java相同用String表示
val char:String = "Hello Kotlin"

注: 字符串可以包含模板表达式,并且可以求值,并把结果合并到字符串中。
模板表达式一般以“$”符号开头,后面跟着变量名,如 $name,或用大括号,如 ${a+b}

元组类型
Kotlin中的元组类型是一种简单的类型,它可以把不同类型的值组合在一起,组成元组的数据就被称为“元素”。Kotlin中的元组分为二元元组和三元元组。

可空类型
在编程开发过程中,经常会碰到变量为空值的情况,如果该变量是引用类型的,那么它的设置就是Null,如果是值类型,那么在不使用可空类型的情况下,会和Java一样抛出空值的异常。为了避免发生这种情况,Kotlin中可以创建一个可空类型的变量。

//可空类型,可以赋值为null
//可空类型要在数据类型后加“?”
var name:String? = null;

对象类型
对象类型是存储数据和有关如何处理数据的数据类型。在Kotlin中必须明确声明对象,首先声明对象的类,类是包含属性和方法的结构。声明对象和Java相同,使用class关键字。使用该对象时,首先要进行实例化,然后才能使用对象中的成员属性和方法。

class course(var name:String){
	init{
		println{"您选择的课程名称为:${name}"}
	}
}

fun main(args:Array<String>){
	val stu = course("Kotlin")
}

以上代码运行结果为:您选择的课程名称为:Kotlin

数组类型
数组是具有相同类型的变量的集合,这些变量具有相同的标识符,即数组名:数组中的每一个变量都称为元素。要引用数组中的特定元素,通常使用数组名加上一个中括号括起来的整型表达式来表示,该表达式被称为数组的索引或下标。
在Kotlin中,数组位于Array类中,由get和set函数、size属性以及其他成员函数表示。

Kotlin中的数组是不变的,这意味着Kotlin没有给Array< Sting>分配到Array< Any>,但是Kotlin为了避免这种情况的发生,可以直接使用Array< out Any>。

Kotlin数据类型的检查和转换
无论是强类型的编程语言还是弱类型的编程语言,都会进行类型转换,Kotlin提供了5种数据类型的转换方式,即智能转换、不安全转换、安全转换、显式转换和隐式转换。

  • 智能转换:在Kotlin中不需要使用转换操作符进行操作,因为编辑器会跟踪不可变值的 is 来进行检查,并且在需要时会自动插入进行安全转换。虽然编辑器可以自动识别数据类型,但有一定局限性——无法识别被 open 关键字修饰的属性,或者是自定义 getter 属性的 val 值;无法识别被修改的 var 局部变量;var 变量是永远无法识别的,因为该变量随时都在被其他代码更改。
  • 不安全转换:通常可以进行转换,但是如果碰到不可能被转换的情况或者为 Null 值时,则会抛出异常,不建议转换。
  • 安全转换:为了避免不安全转换抛出异常,可以使用安全操作符 as?。
  • 显示转换:因为不能将较小的数据类型隐式转换为较大的类型,这就意味着程序无法继续执行,所以每个数字都支持进行类型转换。
  • 隐式转换:在运算的过程中进行转换。
    注:数字转函数表
函数示例说明
toByte()var a= 10 a.toByte()转换字节
toShort()var a= 10 a.toShort()转换短整型
toInt()var a= 10 a.toInt()转换整型
toLong()var a= 10 a.toLong()转换长整型
toFloat()var a= 10 a.toFloat()转换浮点型
toDouble()var a= 10 a.toDouble()转换双精度浮点型
toChar()var a= 10 a.toChar()转换字符型

Kotlin的运算符

运算符是用来对变量、常量及数据进行计算的符号,可以使用运算符对一个值或者一组值执行指定的操作。Kotlin中的运算符包括有算数运算符、关系运算符、逻辑运算符、赋值运算符等。在Kotlin中还提供了位运算符函数来进行位运算。

算数运算符
算数运算符通常在数字处理中,对数值类型的数据进行运算。Kotlin中的算数运算符分为一元运算符和多元运算符。

算数运算符说明示例
+加法a + b
-减法a - b
*乘法a * b
/除法a / b
%取余a % b
++递增a++或++a
--递减a--或--a
算数运算符基本使用与Java相同,包括最后的递增和递减的 ++ 在前或后的逻辑也与Java相同

关系运算符
关系运算符用于对两个表达式进行比较,返回布尔类型的结果 true 或 false。关系运算符一般在条件或循环的语句中起着重要的控制作用。

算数运算符说明示例
<小于a < b
>大于a > b
<=小于或等于a <= b
>=大于或等于a >= b
==等于a == b
!=不等于a != b
===恒等a === b
!==非恒等a !== b

逻辑运算符
逻辑运算符用于连接关系表达式,,对关系表达式的值进行逻辑运算。虽然逻辑运算符 && 对应于 and,|| 对应于 or ,但是它们的优先级不同。

算数运算符示例结果为真
&& 或 and a & b 或 a and b a 和 b 都为真
|| 或 ora || b 或 a or ba 和 b至少有一个为真
xor(逻辑异或)a xor ba 和 b 为一真一假
!(逻辑非)!aa为假

赋值运算符
“=” 符号是最简单的赋值运算符,其左边是变量,右边是条件表达式。表达式结果的类型和左边变量的类型一致,或者能转换成左边变量的数据类型。
赋值运算符可以和二元算数运算符、逻辑运算符和位运算符组合成简捷运算符,从而简化一些常用表达式的写法。

算数运算符说明示例展开形式说明
=赋值a = ba = b将右边的值赋给左边
+=a += ba = a + b将右边的加到左边
-=a -= ba = a - b将右边的减到左边
*=a *= ba = a * b将右边的值乘到左边
/=a /= ba = a / b将右边的值除到左边
%取余a %= ba = a % b将左边的值对右边取余数

位运算符
虽然Kotlin没有像其他编程语言一样提供位运算符,但是在Kotlin编程中位运算同样重要,所以Kotlin官方给我们提供了特定的函数对 Int 和Long 类型的数据进行位运算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值