4-Kotlin数据类型与变量
一. 变量概念
在Kotlin中变量其实对应着内存中特定区域,变量就像是一个装“数据”的容器
1 val num1:Int = 100
2 var num2:Int = 99
关键字 val 表示变量为只读变量,只读变量只能初始化一次,一旦初始化之后不能更改
关键字 var 表示变量是可读可写变量,可以随意更改值
Kotlin编译器提供的“类型推导”功能
在定义变量时,如果需要同时给它一个初始值,则可以省略变量的类型,因为kotlin编译器会根据初始值定义变量类型,否则必须在变量后跟上一个“ : ”号和变量类型
Kotlin的变量定义要求小写字母开头,遵从驼峰命名法
1 val myVal = 100 //等价于下一行
2 val myVal:Int = 100
Kotlin要求数据的类型转换进行显式转换
1 val x:Int = 5
2 val y:Long = x.toLong() //Int类型必须手动类型转换才能赋值给Long类型变量
Kotlin对于变量的“判等”有俩种, str1 == str2 , str1 === str2
使用“==”比较俩个字符串变量所引用的字符串内容是否一样
使用“===”比较俩个字符串变量是否应用同一个字符串对象
Kotlin中的常量有俩种
运行时常量: val counter = 100 ,代码在运行存在,数值保持不变
编译时常量: const val MAX_VALUE = 255 ,该变量在编译时全部替换成对应数值,建议全大写加下划线
二.Kotlin的数值类型
不同的数值类型可以存储的数字类型是是不一样的
在Kotlin中的数字类型对应着Java里的俩个类型,原始类型和包装类型,这样开发者可以简化编程难度
Kotlin中的整数类型
1 Byte:[-128,127] //1字节(8)
2 Short:[-32768,32767] //2字节(16)
3 Int:[-2147483648,2147483647] //4字节(32)
4 Long:[-9223372036854775808,9223372036854775807] //8字节(64)
Kotlin中的浮点数类型有 Double 双精度浮点数和 Float 单精度浮点数
在Kotlin中默认浮点数是双精度,在数值后加一个 “f” 或“F”可以指定为单精度,另外可以用“L”来指定长整型,使用前缀“0x”表示十六进制值,“0b”表示二进制值
Kotlin中给变量赋值要满足类型兼容,并且值在变量的范围内,这样才不会编译错误
注意点
1)变量类型转换时,Long类型到Int类型,Double类型到Float类型都可能造成数据截断,导致异常
2)浮点数比较,两个浮点数不能直接比较,需要俩个浮点数之差小于误差范围就可以认为相等
Kotlin的另一个功能:数对,可以通过Pair类把俩个数或三个数看成一个整体
1 val xAndY = Pair<Int, Int ,Int>(10, 20, 30) //以下俩种方法等价
2 val xAndYWithTo:Pair<Int, Int> = 10 to 20
3 println(xAndY) //输出:(10, 20, 30)
4 println(xAndYWithTo.frist) //也可以通过first和second属性访问数对中的数
5 //数对支持解构式赋值方式
6 val (x, y) = xAndYWithTo //x=10,y=20
7 val (x1, _, z2) = xAndY //使用“_”表示不关心这个数,忽略掉它
4-Kotlin数据类型与变量的更多相关文章
- Kotlin数据类型 Unit、Nothing与Nothing?、Any与Any?
Kotlin数据类型 Unit.Nothing与Nothing?.Any与Any? 本文链接:https://blog.csdn.net/ldxlz224/article/details/9440 ...
- Kotlin之定义变量
java : int n = 30 ; final int m = 30 ; float k = 2.5f; string s = "sss"; short i = 5; bool ...
- Python之路----------基础 一(数据类型、变量、基本语法、流程控制)
一. 数据类型与变量 1.数据类型 整数 #Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数. 浮点数 1 #浮点数就是小数. 字符串 1 #在Python中字符串是以 ...
- main方法中声明8种基本数据类型的变量并赋值
main方法中声明8种基本数据类型的变量并赋值 char→ int→ long→ float→ double byte→ short→
- iOS开发环境C语言基础 变量 、 数据类型和变量赋值 、 其他 、 运算符
1 变量使用常用错误汇总 1.1 问题 在我们使用变量的过程中,会遇到一些问题,在此将这些问题进行汇总,在今后使用的过程中,不出错.即使出现错误也可以很快地找到问题所在. 1.2 方案 变量在使用的过 ...
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
- Python教程(2.2)——数据类型与变量
和C/C++.Java一样,Python也有数据类型和变量两个概念. 数据类型 Python中的几个基本数据类型为整数(integer/int).浮点数(float/float).布尔值(boolea ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- JavaScript学习笔记(一)——数据类型和变量
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- python入门(8)数据类型和变量
python入门(8)数据类型和变量 数据类型 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样 ...
随机推荐
- spring-boot autoConfiguration
一, 第一个待注入类 public class CacheService { } public class LoggerService { } 方法一, 实现接口ImportSelectort pub ...
- C++中try&catch
参考: https://blog.csdn.net/xueluowutong/article/details/81257654 在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在 ...
- Java 客户端操作 FastDFS 实现文件上传下载替换删除
FastDFS 的作者余庆先生已经为我们开发好了 Java 对应的 SDK.这里需要解释一下:作者余庆并没有及时更新最新的 Java SDK 至 Maven 中央仓库,目前中央仓库最新版仍旧是 1.2 ...
- Dockerize ASP。净样板项目
Get the source code from the Github repository. 介绍 在这篇文章中,我将一步步地向你展示如何在Docker上运行ABP模块零核心模板.然后,我们将讨论其 ...
- ORA-00001: unique constraint (string.string) violated 违反唯一约束条件(.)
ORA-00001: unique constraint (string.string) violated ORA-00001: 违反唯一约束条件(.) Cause: An UPDATE or I ...
- c 判断端口是否已被使用
isPortOpen.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...
- client: c#+protobuf, server: golang+protobuf
前段时间看到一篇博文<可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)>,他是用C#实现的即时通讯系统,功能强大,界面漂亮. 就想用golang重写服务端,把代码下载 ...
- EfCore3的OwnedType会导致Sql效率问题
最近主导了旗下某核心项目升级到EfCore3 由于之前Core2升级时候也踩过不少的坑很多东西都有规划和准备,整体上还是没出太大问题 但是最近突然发现efcore对于使用了ownedType的生成语句 ...
- spring boot:spring security给用户登录增加自动登录及图形验证码功能(spring boot 2.3.1)
一,图形验证码的用途? 1,什么是图形验证码? 验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers ...
- 纯CSS+HTML自定义checkbox效果[转]
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...