文章目录

  • Kotlin基础语法(下)
  • Kotlin基础语法(上)
    • 输出Hello world!!!
    • 变量与输出
    • kotlin常见数据类型
    • 变量的取值范围
    • kotlin函数
    • kotlin布尔类型
    • kotlin命令行交互式编程
    • 函数加强
      • kotlin函数规则
      • 实例:计算器
    • 字符串模板
    • 条件控制if...else...
    • 字符串比较
    • kotlin空值处理
    • kotlin的when表达式
    • kotlin的loop和Range
    • kotlin的List和Map入门
    • 函数和函数式表达式
    • Kotlin默认参数和具名参数

Kotlin基础语法(下)

Kotlin基础语法(上)

输出Hello world!!!

fun main(args:Array<String>){println("Hello world!!!")
}

变量与输出

fun main(args:Array<String>){var name:String = "张三"   //定义字符串类型var name = "张三"          //自动判断类型为字符串(智能类型推断           )var age = 20   //定义整型name = "李四"var aInt:Int = 0boo11 //二进制方式赋值println("aInt的值:"+aInt)
}

kotlin常见数据类型

变量的取值范围

fun main(args:Array<String>){val along:Long = Long.MAX_VALUE     //判断long型取值范围val blong:Long = Long.MIN_VALUEprintln(along)println(blong)}

kotlin函数

  • 实例:打印菱形
fun main(args:Array<String>){print1star()print3star()print5star()print3star()print1star()
}fun print1star(){println("  *")
}fun print3star(){println(" ***")
}fun print5star(){println("*****")
}

kotlin布尔类型

fun main(args:Array<String>){var num1 = 2var num2 = 3println(num1<num2)var num3 = Math.sqrt(5.0) - Math.sqrt(4.0)      //根号运算var num4 = Math.sqrt(4.0) - Math.sqrt(3.0)println(num3<num4)var num5 = Math.pow(2.0,100.0)      //幂运算var num6 = Math.pow(3.0,75.0)println(num5<num6)
}

kotlin命令行交互式编程

  • 配置好环境变量后命令行输入kotlinc进入,:quit退出

函数加强

kotlin函数规则

fun 函数名(参数名:参数类型):返回值类型{函数体
}fun main(args:Array<String>):Unit{//函数体
}

实例:计算器

fun main(args:Array<String>){var a = 8var b = 2println("a+b"+add(a,b))println("a-b"+sub(a,b))println("a*b"+mutl(a,b))println("a/b"+devide(a,b))
}fun add(a:Int, b:Int):Int{return a+b
}fun sub(a:Int, b:Int):Int{return a-b
}fun mutl(a:Int, b:Int):Int{return a*b
}fun devide(a:Int, b:Int):Int{return a/b
}

字符串模板

  • 实例:日记模板
fun diaryGenerater(placeName:String):String{var temple = """今天天气晴朗,万里无云,我们去${placeName}游玩,首先映入眼帘的是${placeName}${placeName.length}个镏金大字"""return temple
}fun main(args:Array<String>){println(diaryGenerater("中山公园")) //输出结果:今天天气晴朗,万里无云,我们去中山公园游玩,首先映入眼帘的是中山公园4个镏金大字
}

条件控制if…else…

fun checkFace(score:Int){if(score>80){println("这是一个帅哥")}else{println("这是一个衰哥")}
}
  • 也可以写到一行
if(score>80) println("这是一个帅哥") else println("这是一个衰哥")
  • 返回两个数中较大的那个
fun returnMax(a:Int,b:Int):Int{if(a>b) return a else return b
}

字符串比较

fun main(args:Array<String>){var str1 = "Andy"var str2 = "andy"var str3 = "Andy"println(str1==str2)     //flaseprintln(str1==str3)   //true,kotlin中“==”类似Java中的equalsprintln(str1.equals(str2,true)) //true,equals第二个参数表示忽略大小写
}

kotlin空值处理

fun heat(str:String?):String{    //不加?方法接收一个非空字符串,加?表示该参数可以为空return "热"+str
}fun main(args:Array<String>){var result1 = "水"println(heat(result1))  //“热水”println(heat(null))  //无“?”,传null报错println(heat(null)) //有“?”,输出热null
}

kotlin的when表达式

//需求:10分满分,9分干得不错,8分还可以,7分还需努力,6分刚及格,其他需要加油
fun gradeStudent(score:Int){when(score){10 -> println("满分")9 -> println("干得不错")8 -> println("还可以")7 -> println("还需努力")6 -> println("刚及格")else -> println("还需要加油")}
}fun main(args:Array<String>){gradeStudent(7)     //还需努力
}
  • 实例:完善日记模板
fun diaryGenerater(placeName:String):String{var temple = """今天天气晴朗,万里无云,我们去${placeName}游玩,首先映入眼帘的是${placeName}${numToChinese(placeName.length)}个镏金大字"""return temple
}fun numToChinese(num:Int):String{var result = when(num){1 -> "一"2 -> "二"3 -> "三"4 -> "四"5 -> "五"6 -> "六"else -> "好几个"}return result
}fun main(args:Array<String>){println(diaryGenerater("中山公园")) //输出结果:今天天气晴朗,万里无云,我们去中山公园游玩,首先映入眼帘的是中山公园四个镏金大字
}

kotlin的loop和Range

fun main(args:Array<String>){var nums = 1 .. 100    //表示构造从1到100的数组[1,100]var nums2 = 1 until 100 //表示从1到99 [1,100)var result = 0for(num in nums){result = result+num}println("结果:${result}")  //结果:5050//步长var nums2 = 1 .. 16for(num in nums2 step 2){   //步长为2println(num)    //输出1,3,5,7....}//反转var num3 = nums2.reversed()for(num in nums3){   //反转打印println(num)    //输出16,15,14....}//数目println(num3.count())   //输出16表示有16个数
}

kotlin的List和Map入门

  • List
fun main(args:Array<String>){var lists = listOf("买鸡蛋","买大米","买肉")    //构建listfor(list in lists){     //打印值println(list)       //输出:买鸡蛋 买大米 买肉}for((i,e) in lists.withIndex()){println("$i $e")  //输出:0 买鸡蛋    1 买大米    2 买肉}
}
  • Map
import java.util.TreeMapfun main(args:Array<String>){var map = TreeMap<String,String>()map["好"] = "good"map["学习"] = "Study"map["天"] = "day"map["向上"] = "up"println(map["好"]+" "+map["好"]+" "+map["学习"])println(map["天"]+" "+map["天"]+" "+map["向上"])//输出结果://good good study//day day up
}

函数和函数式表达式

  • 如果函数的函数体只有一句,那么可以省略大括号,如果有返回值,可以如下书写
fun main(args:Array<String>){println(add(5,3))   //输出8
}
fun add(x:Int,y:Int):Int = x+y
  • 函数表达式
fun main(args:Array<String>){var i = {x:Int,y:Int -> x+y}    //此时i被声明为为一个函数表达式println(i(3,5)) //输出8var j:(Int,Int)->Int = {x,y -> x+y} //另一种编写方式println(j(3,5)) //输出8
}

Kotlin默认参数和具名参数

import java.util.TreeMapval Pi = 3.1415926f         //val类似java中的finalfun main(args:Array<String>){var area = 获取长方形面积(3,2)println(area)var area2 = 获取圆的周长(半径 = 2.0f)   //由于第一个参数是具名参数,所以需要指定:第二个参数名 = 值println(area2)
}fun 获取长方形面积(长:Int,宽:Int):Int{return 长*宽
}fun 获取圆的周长(PI:Float = Pi,半径:Float):Float{   //PI:Float = Pi 指定第一个参数为具名参数return 2*PI*半径
}fun 获取圆的周长2(PI:Float = Pi,直径:Float):Float{return PI*直径
}fun 获取圆柱体体积(PI:Float = Pi,半径:Float,高:Float):Float{return PI*半径*半径*高
}fun 获取球体的表面积(PI:Float = Pi,半径:Float):Float{return PI*半径*半径*4
}

Kotlin基础语法(上)相关推荐

  1. java基本语法心得_Java学习笔记(一)——基础语法(上)

    Java学习笔记(一)--基础语法(上) 软件构造 写在前面 编写Java程序时,应注意以下几点:大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的 ...

  2. java文件的后缀.kt_移动端Kotlin 基础语法.kt 为后缀

    Kotlin 基础语法 Kotlin 文件以 .kt 为后缀. 包声明 代码文件的开头一般为包的声明: package com.runoob.main import java.util.* fun t ...

  3. 从零开始的iOS开发:00 | Swift基础语法(上)

    目录 一.开发环境 二.关于Swift (一)Swift简介 (二)Swift特性 (三)结语 三.Swift基础语法 (一)编程准备 (二)Hello,world! (三)简单值 1.变量与常量 2 ...

  4. 12天搞定Python,基础语法(上)

    不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...

  5. Kotlin基础语法学习类和对象(一)

    类定义 Kotlin 类可以包含:构造函数和初始化代码块.函数.属性.内部类.对象声明. Kotlin 中使用关键字 class 声明类,后面紧跟类名: class Runoob { // 类名为 R ...

  6. Kotlin 基础语法(《第一行代码(第三版)》第二章读书笔记)

    资源来自<第一行代码>(第三版)第二章 网络试读: https://www.ituring.com.cn/book/tupubarticle/30209 以下为笔记 转存失败重新上传取消正 ...

  7. Android kotlin基础语法

    1.继承类和实现接口 继承类是冒号连接,java是extends连接.实现接口是逗号连接,java是implements连接 class MainActivity : AppCompatActivit ...

  8. Kotlin 基础语法(四)

    Kotlin 文件以 .kt 为后缀. 包声明 代码文件的开头一般为包的声明: package com.runoob.mainimport java.util.*fun test() {} class ...

  9. Kotlin学习(二)Kotlin基础语法

    学习一门语言,我总是会先学习一下基本的语法.因为并不急着应用Kotlin去开发项目,所以,还是有很多的时间去学习.今天,简单的总结一下Kotlin的基本语法. 一.函数 1.有参有返回值函数 fun ...

最新文章

  1. 黑马程序员 交通灯案例
  2. LeetCode 102. Binary Tree Level Order Traversal
  3. 【Android压力测试】monkey压力测试
  4. MAX31855 热电偶至数字输出转换器
  5. R语言聚类算法之系谱聚类(Hierarchical Method)
  6. Delphi如何获取本机IP地址
  7. GitHub配置SSH key
  8. 按照ISO26262标准检验建模规范:基于模型的软件开发质量工具
  9. Proteus仿真C51利用双定时器输出占空比可变的PWM
  10. Ubuntu使用Flux调节色温保护眼睛
  11. C++ new关键字分析
  12. 边角地“变废为宝” 重庆首批社区体育文化公园交付使用
  13. hadoop——常用端口号——常用的配置文件,3.x与2.x区别
  14. python idle有哪些_Python IDLE入门简介 Python IDLE与python有什么区别
  15. 冠状病毒的治疗方案汇总
  16. 2020南京大学软件工程考研上岸感想
  17. 【计算机毕业设计】java jsp+ssm大学校园宿舍零食便利店系统
  18. android 英语时间格式转换,android 时间格式解析转换关键点
  19. matlab离散信号的绘制
  20. 【一起入门MachineLearning】中科院机器学习-期末题库-【单选题5,7,69+多选题3+计算题9,10,11】

热门文章

  1. 程序员相亲约在肯德基,被妹子拉黑,网友却说:活该!
  2. 设计模式之【装饰器模式】
  3. 在云计算圈儿,她们都能顶大半边天!
  4. 别开发App了…吗?
  5. 7月5日小测试中的错误总结
  6. 外汇交易中的风险管理
  7. scrapy 爬网站 显示 Filtered offsite request to 错误
  8. wxpython grid刷新数据_wxPython的 - 速度表实时更新
  9. 新建一个日期对象,格式为年月日
  10. vue map循环数组,向数组push值,值出现重复添加的问题(已解决)