Java工程师Kotlin快速入门之变量与函数
创始人
2024-11-14 16:04:59
0

变量的声明方式

kotlin中声明变量只允许两种关键字,且自带类型推导

  • var 声明变量 值可变
  • val 声明常量 值不可变 相当于Java中的final关键字
var a: Int = 10 val b = 10 

Java和Kotlin数据类型对照表

Java基本数据类型Kotlin对象数据类型数据类型说明
intInt整型
longLong长整型
shortShort短整型
floatFloat单精度浮点型
doubleDouble双精度浮点型
booleanBoolean布尔型
charChar字符型
byteByte字节型

函数的组成

在Kotlin中,函数由以下部分组成:

  • fun:关键字用于声明一个函数。
  • functionName:函数的名称,用于标识函数。
  • parameterName:参数的名称,用于在函数内部引用参数。
  • ParameterType:参数的类型,指定参数的数据类型。
  • ReturnType:返回类型,指定函数返回的数据类型。
  • 函数体:花括号内包含函数的实际操作,包括函数的具体实现。
fun functionName(parameterName: ParameterType): ReturnType {     // 函数体     // 可以包含函数的具体实现 } 

但是如果函数只有一句就可以精简为以下的形式:

// 等于号已经说明了函数的结果 fun largerNumber(num1: Int, num2: Int): Int = max(num1, num2) 
// 进一步的推导 fun largerNumber(num1: Int, num2: Int) = max(num1, num2) 

字符串模板

Kotlin自带了字符串模板,避免了我们在输出某些信息的时候需要通过+号拼接。

fun main() {     val name = "XuanRan"     println("Hello $name!") } 

输出结果:Hello XuanRan!

函数参数默认值
fun printParams(num: Int, str: String = "hello") {  println("num is $num , str is $str") } 

条件语句

// 仿照Java的条件语句写法 fun maxValue(i:Int, k:Int) :Int {     if (i > k) {         return i     }else{         return k     } } 
// Kotlin简化写法 fun maxValue(i:Int, k:Int) :Int {     val res = if (i > k) {         i     }else{          k     }     return res 

其中的return 可省略

// 进一步Kotlin简化写法 fun maxValue(i:Int, k:Int) = if (i > k) {i} else {k} 
// kotlin 结合函数后的进一步写法 fun maxValue(i:Int, k:Int) = if (i > k) i else k 

when条件语句

when语句相当于Java中的switch语句,同样在此处的return是可省略的。

fun getScope(name: String) = when(name) {     "Tim" -> 90     "Tom" -> 100     else -> 1 } 

循环语句

  • 基本循环语句
// 最基本的for fun oneToTen() {     for(i in 0..10){         println(i)     } } 

..用于形成一个[0,10]的区间,相当于Java的以下写法:

private void oneToTen() {     for (int i = 0; i <= 10 ; i++) {         System.out.println(i);     }  } 
  • for-in区间遍历
var r = 0 until 10 

上述代码表示创建了一个0到10的左闭右开区间,它的数学表达方式是[0, 10)。

  • step 步长
fun oneToTen() {     for( i in 0 until 10 step 2) {         println(i)     } } 

上述代码表示在遍历[0, 10)这个区间的时候,每次执行循环都会在区间范围内递增2

  • downTo遍历降序区间
// 创建了一个[10, 1]的降序区间 fun downTo() {     for(i in 10 downTo 1) {         println(i)     } } 

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...