【Kotlin初学者】变量-常量-数据类型

云惠网小编 2021年12月2日21:18:39
评论
1725字阅读5分45秒
摘要

本文内容:声明变量、只读变量、内置数据类型、类型推断、编译时常量。

广告也精彩
fun main() {
    //类型推断
    var type = "Hello Type"//自动推断为String
    println(type)
    var a = 10      //自动推断为Int
    println(a)
    var b = true    //自动推断为Boolean
    println(b)
    var d :String   //如果不在声明时初始化则必须提供变量类型
    d = "HHH"       //明确赋值
    println(d)
}

因为编译时常量必须在编译时赋值,而函数都是在运行时才调用函数内的变量也是在运行时赋值

查看Java代码,如下:

实践

fun main() {
    var str: String = "Hello Kotlin"
    println(str)
}
"E:\Android\Android StudioO\jre\bin\java.exe"...
Hello Kotlin
Hello ShuaiCi
Process finished with exit code 0

Kotlin 使用 val 关键字定义不可变变量,只能赋值一次的变量(类似Java中final修饰的变量),不是常量不能混淆呦。

val <变量名> : <类型> = <初始化值>

作者:帅次

作者简介:CSDN博客专家、华为云享专家认证

公众号「帅次」:分享 Android 相关知识·面试题库。感兴趣的就找我一起玩吧。

编译时常量只能在函数之外定义,为什么?

运行结果

编译时常量

跟 Java 的区别就是 类型的位置从变量名前面挪到变量名后面了。如下图:

自动补全(输出)

const val MAX = 65535
fun main() {
    println(MAX)
}

实践,如下:

val 关键字

变量

看完了就上手练练,只看短时间能记住,时间长不用就忘记了,还要再看一遍(欢迎再来),还不如自己上手练一下。

运行结果

运行结果

对不可变量进行再次赋值

编译时常量只能是常见的基本数据类型:String、 Int、Double、Float、Long.Short、Byte、Char、Boolean。

实践

实践

fun main() {
    var str: String = "Hello Kotlin"
    println(str)
    str = "Hello ShuaiCi"
    println(str)
}

从上图你会发现 String 和 Int 都是灰色的。

"E:\Android\Android StudioO\jre\bin\java.exe"...
Hello Type
10
true
HHH
Process finished with exit code 0

查看Java代码

语法

"const"不适用于"局部变量",如下:

仅赋值一次

var 关键字

类型 描述
String 字符串
Char 单字符
Boolean true/false
Int 整形
Double 小数
List 集合
Set 无重复的元素集合
Map 键值对的集合

查看Java代码

变量名.sout

语法

fun main() {
    val age : Int = 100
    println(age)
}

本文内容:声明变量、只读变量、内置数据类型、类型推断、编译时常量。

对于已声明并赋值的变量,它允许你省略类型定义。

内置数据类型(常用)

移除掉显示的类型声明

Kotlin 使用 var 关键字定义可变变量(可读可写),类似Java中的一般变量。

"E:\Android\Android StudioO\jre\bin\java.exe"...
100
Process finished with exit code 0

查看Java代码

类型推断

黄色提示:大致意思就是你的变量不会修改,可以使用 val 定义为不可变量变量,下面咱们看看

类似Java的public static final

提示:显式给定的类型在这里是多余的

提示:Val cannot be reassigned(Val 不能重新赋值)

本文转自 https://blog.csdn.net/g984160547/article/details/121632693

腾讯云618
云惠网小编
SpringCloud -- Config、Bus解析 java

SpringCloud — Config、Bus解析

1、Config1.1、概述简介1. 分布式面临的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要...
Java数据结构-了解复杂度 java

Java数据结构-了解复杂度

2.实例分析与计算  四.写在最后  // 计算斐波那契递归fibonacci的时间复杂度 int fibonacci(int N) { return N < 2 ? N : fibonacci...
Java数据结构-认识顺序表 java

Java数据结构-认识顺序表

目录二.顺序表1.概念及结构2.顺序表的实现打印顺序表获取顺序表的有效长度在pos位置新增元素判断是否包含某个元素查找某个元素对应的位置获取/查找pos位置的元素给pos位置的元素...
腾讯云618

发表评论