Kotlin:03-变量、常量、数据类型
一、变量与数据类型
1、变量的基本概念
变量 :是用来存储数据的一个容器,它其中存储的数据可以在一定的范围内进行变化,这个范围就是数据类型(数据类型后面会有介绍)
Kotlin中变量用 var 来标识,var 的全拼是:variable ['vεəriəbl]
2、变量的声明与使用
fun main(args: Array<String>) {
var name = "CnPeng"
println(name)
}
在上面的代码中,我们通过 var name="CnPeng"
声明了一个变量name ,并给他赋值 “CnPeng” ,这样,我们再次执行该main函数时,输出的结果就是 “CnPeng”
关于上图中的bug , 请参考:https://stackoverflow.com/questions/18794573/class-javalaunchhelper-is-implemented-in-both-libinstrument-dylib-one-of-th
3、类型推断与数据类型
//这是一个错误的示例代码:
fun main(args: Array<String>) {
var name = "CnPeng"
name=123
println(name)
}
在上面的代码中,我们给 name 重新赋值123 ,这时候IDEA会爆红,我们将光标移动到表红线的位置会得到一个弹窗提示,如下:
这个弹窗的意思是说:String 类型的变量不能接收 integer 类型的数据!! 这就牵涉到了两个概念,一个是类型推断,一个是数据类型。
(1)、Kotlin常见数据类型
类型 |
含义 |
位宽 |
---|---|---|
Byte |
整数 |
8 |
Short |
整数 |
16 |
Int |
整数 |
32 |
Long |
整数 |
64 |
Float |
单精度小数 |
32 |
Double |
双精度小数 |
64 |
String |
字符串 |
|
Char |
字符 |
|
Boolean |
布尔 |
- Byte、Short、Int、Long 都表示整数,但是他们的取值范围不一样,从左到右依次变大。
- Float、Double 都用来表示小数,但是范围也不一样,Double的范围大于Float。
- Float类型数据通常会带有后缀 f或者 F
- 用 双引号包裹起来的内容都是字符串
- 用单引号括起来的是字符,在kotlin中,字符类型不能直接和数值类型进行操作
- Boolean类型取值:true, false
上面几种数据类型的具体取值不列举了
(2)、类型推断
var name="CnPeng"
在上面这句代码中,我们将字符串“CnPeng” 赋值给 name , 那么 kotlin 就认为name 就是一个字符串类型的变量了,不能在接收字符串类型之外的值,所以当我们将没加引号的123 赋值给 name 时会报错,这就是类型推断。
除了依靠类型推断让 kotlin 系统自己去确定变量的数据类型之外,我们还可以显示的声明一个变量的类型,代码如下:
fun main(args: Array<String>) {
var name: String = "CnPeng" //显示声明数据类型
println(name)
}
TIPS : 与java 的区别 A : 语句后面不需要写 分号 B : 声明变量的写法不一样,kotlin中变量名在前,类型名在后,变量名与类型之间使用 :链接
二、常量
1、常量的定义
在上一小结中我们知道了什么是变量,那么常量又是什么呢?
常量 也是一个存储数据的容器,它存储的数据是固定的、不会发生变化的。也就是说,常量只能在初始化的时候被赋值。常量是变量的一种特殊形式。
常量 用 Val 来标识,当一个变量通过Val 声明为常量之后,就不能再进行赋值操作,否则会报错,示例代码如下:
2、数字常量的命名
在命名数字常量时可以使用下划线间隔,让数值更易读,示例如下:
val oneMillion = 1_000_000 //普通int数据
val creditCardNumber = 1234_5678_9012_3456L //Long类型数据
val socialSecurityNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E //十六进制类型
val bytes = 0b11010010_01101001_10010100_10010010 //二进制类型
三、补充:打印数值类型变量的取值范围
实际使用中,我们可能需要知道某个数据类型的最大值或者最小值是多少,但是我们不可能完全记住,所以,我们就可以通过调用 MAX_VALUE 或者 MIN_VALUE 来获取,示例代码如下:
fun main(args: Array<String>) {
var intMax = Long.MAX_VALUE
var intMin = Long.MIN_VALUE
println(intMax)
println(intMin)
}
运行结果:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Docker-软件工程集装箱技术
- PyQt5 技术篇-获取电脑屏幕桌面的宽、高和分辨率
- 使用Python快速抠图
- 值得白嫖的数据库常用操作语句汇总(数据库、数据表、数据操作)
- JavaScript 技术篇-js正则表达式匹配字符串左右两边是否包含空格
- 初入编程吓破胆?那是你还不懂这些!(高能预警)
- 振兴杯试题功能设计(准备)
- PyQt5 技术篇-Dialog窗口增加?问号按钮
- python课题:正弦函数 求圆形的阴影面积
- 华为学习笔记(SSM框架报错篇)
- Python通讯录作业
- 振兴杯试题分析:制作简单的登陆页(一)
- Python作业:BMI评估
- Python笔记
- JavaScript 技术篇-chrome利用ClipboardEvent写入剪切板,没成功的你就差一步