文章目录

  • 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. ItemAdding实现数据验证--中文字段,properties.AfterProperties值为null的问题
  2. c语言读取txt文件数据乱码,编的学生成绩管理系统 从文件中读取保存数据总会多读入一组乱码数据...
  3. SecondarySort 原理
  4. 继承jpanel不显示_房产继承全指南
  5. 【QGIS入门实战精品教程】2.2:QGIS软件的下载与安装(Windows)
  6. gulp编译css_如何用gulp缩小CSS
  7. 使用Docker部署RabbitMQ集群
  8. leetcode - 120. 三角形最小路径和
  9. 世界第一编程语言是Python「为什么那么火?」
  10. 每日一题丨2020.05.27
  11. 《中国人工智能学会通讯》——5.4 结 论
  12. c语言分治法求众数重数_分治法求众数 - osc_twlari2q的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. SQL Server 2016中的查询优化器更改说明
  14. 防止服务器变为代理服务器
  15. 在OpenCV中使用YOLO v3进行物体检测
  16. JAVA常见字符编码表
  17. java form action_Java下Struts框架中的ActionForm类详解
  18. Employee类的层级结构
  19. (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现
  20. 【JavaScript】用循环语句解决鸡兔同笼和百元买百鸡问题

热门文章

  1. java 浏览器访问图片不显示_[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题...
  2. 小米借力联通发红米3X 续航三天可0元购机
  3. 易语言 代码编辑框 关键字高亮_易语言和SEO--易语言自然语言处理应用(一)...
  4. WORD2016文字提升效果如何设置,干货在这里,如何让文字像阶梯一样排列
  5. Flutter中Stack层叠组件以及与Align、Positioned组件实现定位布局
  6. java tcp 登录_java 网络编程-TCP-双向登录
  7. 行为树游戏AI PPT(珠三角沙龙)
  8. udp socket: 简单的数据包与视频流传输
  9. 为什么那些月薪过万的外卖骑手都慢慢离职了
  10. 上海航芯 | 指纹芯片及解决方案介绍