博客
关于我
初识Kotlin之变量
阅读量:798 次
发布时间:2023-04-15

本文共 1759 字,大约阅读时间需要 5 分钟。

Kotlin变量的使用与Java对比分析

用Java开发了很多年,最近开始学习Kotlin。刚开始接触时,确实感到不适应,Kotlin相比Java确实不够严谨。但经过深入学习后,也免不了“真香定理”。作为一名程序员,可能很难客观评价一门技术语言的优缺点。很多人只是了解表面就开始发表评论,建议大家不要被网络上的信息左右。如果你有Java基础,学习Kotlin会非常快,而且会让你爱不释手。

从简单的Hello World开始,比较Java和Kotlin的区别,开启Kotlin的学习之旅。

Java代码示例:创建Java文件,定义HelloWorld类,编写main方法输出Hello World。

package com.java.helloworld;public class HelloWorld {    public static void main(String[] args) {        System.out.println("Hello World");    }}

Kotlin代码示例:创建Kotlin文件,定义main函数输出Hello World。

package com.kotlin.helloworldfun main(args: Array
) { println("Hello World")}

Kotlin不需要定义类类就可以拥有main方法。当然也可以先定义类再在类中定义main函数。Kotlin使用fun关键字定义函数。Kotlin的main函数没有public static void等关键字。这是Kotlin的语法特点之一。

Kotlin的变量声明与Java有明显区别。Java要求变量声明时必须先指定类型,再写变量名。而Kotlin先写变量名,最后写类型,由编译器智能推断。Kotlin默认推荐使用val修饰变量,表示不可变。使用var修饰变量时表示可变,常用于基本数据类型。

Kotlin变量声明示例:

fun main(args: Array
) { var b: Byte = 0 var s: Short = 0 var i: Int = 0 var l: Long = 0L var f: Float = 0.0f var d: Double = 0.0 var bl: Boolean = true var c: Char = 'c'}

Kotlin变量取值范围:

fun rangeValue() {    println("Byte (${Byte.MIN_VALUE} ~ ${Byte.MAX_VALUE})")    println("Short (${Short.MIN_VALUE} ~ ${Short.MAX_VALUE})")    println("Int (${Int.MIN_VALUE} ~ ${Int.MAX_VALUE})")    println("Long (${Long.MIN_VALUE} ~ ${Long.MAX_VALUE})")    println("Float (${Float.MIN_VALUE} ~ ${Float.MAX_VALUE})")    println("Double (${Double.MIN_VALUE} ~ ${Double.MAX_VALUE})")}

Kotlin变量显示转换:

fun variableConvert(char: Char) {    var number: Int = 1    println("显示转换成Int类型: ${number + char.toInt()}")    var num = 2    println("智能推断变量类型: ${num.javaClass}")}

Kotlin的变量特点:

  • 不支持Java的隐式类型转换,必须通过显式方法转换。
  • 可以省略变量类型,由编译器智能推断。
  • 变量默认不允许为null,需在类型后加上?才能允许null。

这些Kotlin特点让初次接触的开发者感到不习惯,但经过习惯后,依然能发现它的实用性。

转载地址:http://vzgfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现找出矩阵的最大最小值(附完整源码)
查看>>
Objective-C实现找到一个数字数组的中值算法(附完整源码)
查看>>
Objective-C实现找到具有 500 个除数的第一个三角形数算法(附完整源码)
查看>>
Objective-C实现找到最近的点对之间的距离算法(附完整源码)
查看>>
Objective-C实现抓包实例(附完整源码)
查看>>
Objective-C实现抽签抓阄(附完整源码)
查看>>
Objective-C实现抽象工厂模式(附完整源码)
查看>>
Objective-C实现拉格朗日插值法(附完整源码)
查看>>
Objective-C实现拉格朗日插值算法(附完整源码)
查看>>
Objective-C实现拓扑排序算法(附完整源码)
查看>>
Objective-C实现拦截输入法(附完整源码)
查看>>
Objective-C实现括号匹配(附完整源码)
查看>>
Objective-C实现拷贝二进制文件(附完整源码)
查看>>
Objective-C实现指定内存空间获取时间的函数(附完整源码)
查看>>
Objective-C实现指定点 x 处计算多项式 f(x) 并返回值算法(附完整源码)
查看>>
Objective-C实现按位倒序(附完整源码)
查看>>
Objective-C实现按位的isPowerOfTwo算法(附完整源码)
查看>>
Objective-C实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码)
查看>>
Objective-C实现排队叫号系统(附完整源码)
查看>>
Objective-C实现控制NRP8S功率计读取功率 (附完整源码)
查看>>