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可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样 ...
随机推荐
- 再玩树莓派(二)Jexus&.NetCore
接上一篇,操作系统弄好之后,轮到开发运行环境的搭建. 先说说目标,也就是我到底想搞什么飞机.先说说小目标吧. 现有一个手机App客户端,以答题小游戏作为其内容(例如:口算题,24点,科学百科等) 树莓 ...
- DoModal 函数的用法
转载:https://blog.csdn.net/mpp_king/article/details/79707728 https://www.cnblog ...
- c语言gets函数
函数gets的原型为:char*gets(char*buffer); 在 stdio.h中定义,如果要程序中用到此函数需包含#include<stdio.h> gets()函数用来从标准输 ...
- 【题解】SP1811 LCS - Longest Common Substring
\(\color{purple}{Link}\) \(\text{Solution:}\) 题目要求找到两个串的最长公共子串.\(LCP\) 我们将两个串中间和末尾插入终止符,并弄到一棵后缀树上去. ...
- javaOOP9.17刷题
今天在吃晚饭和朋友们聊天的时候,一个已经在自己写java全栈项目并且准备面试的同学说要我好好学习OOP这部分,他现在写代码写面试题,发现自己都忘了基类派生类调用构造函数时候的顺序是什么样的巴拉巴拉,说 ...
- @FeignClient注解详解
Spring Cloud 是目前最火的微服务框架,Feign 作为基础组件之一,在 Spring Cloud 体系中发挥了重要的作用. 一.FeignClient注解 FeignClient注解被@T ...
- shell-的变量-全局变量
shell变量基础及深入 1. 变量类型 变量可分为两类:环境变量(全局变量)和局部变量. 环境变量也可称为全局变量,可以在创建他们的shell及其派生出来的任意子进程shell中使用.局部变量只 ...
- centos 6.4 配置本地yum源(iso镜像)
1.先挂载 iso镜像 eg: mount -o loop /home/帐号/downloads/CentOS.iso /mnt/iso 2.用管理员帐号备份CentOS-Base.repo e ...
- 多测师讲解requests __上_高级讲师肖sir
1.三种接口接口请求方式 # # 在python当中接口的请求方式有哪些:# import requests # 导入requests接口库# # # # 请求方式有三种:# # # # 第一种:# ...
- 分布式系统中的CAP、ACID、BASE概念
目录 CAP ACID BASE CAP 分布式系统中,这三个特性只能满足其中两个. 一致性(Consistency):分布式中一致性又分强一致性和弱一致性,强一致性主浊任何时刻任何节点看到的数据都是 ...