【kotlin】数据类型和变量

常见数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
电脑定义出来了各种数据类型来节省存储空间

栗子1

var name = "王力宏";
println(name);

查看控制台输出
在这里插入图片描述

智能类型推断

在这里插入图片描述
我们看到 Eclipse 有报错,int不能转为string
当我们第一次给name赋值时,kotlin认为name是个字符串类型,所以再给它赋值整型会报错
在这里插入图片描述
我们再看这个栗子,先给i赋值18,然后再修改为19,都没有报错的,当给i赋值9999…时,报错了
这是因为第一次赋值18时,kotlin认为这是一个整型数据,19,也在整型范围内,但是9999…已经超过了整型范围,所以报错了

显示类型声明

	var i:Int = 18
	i = 19
	var j:Long = 99999999999999
	var name:String = "王力宏"

但是值得注意的是
在这里插入图片描述
当我们定义i是一个Byte数据类型时,赋值18是没有问题的,但是赋值128就会报错,因为Byte的取值范围就是-128~127

在这里插入图片描述
这样直接var a是会报错的,因为智能类型推断是根据等号后边的值来判断的,编译器不知道a是什么类型
我们可以给a赋值

var a = 0.01

或是显式指定a的类型

var a:Short

数字和字符串

在这里插入图片描述

常量与变量

在这里插入图片描述
val指定常量,不能被修改,所以给number重新赋值时会报错

验证取值范围

	var aByte:Byte = Byte.MAX_VALUE
	var bByte:Byte = Byte.MIN_VALUE
	println("Byte最大值:"+aByte)
	println("Byte最小值:"+bByte)
	
	var aLong:Long = Long.MAX_VALUE
	var bLong:Long = Long.MIN_VALUE
	println("Long最大值:"+aLong)
	println("Long最小值:"+bLong)
	
	var aInt:Int = 0b0011
	println("aInt的值:"+aInt)

查看log
在这里插入图片描述
其中0b开头的是二进制写法

好的编程习惯

在Kotlin中定义一个变量,只允许在变量前申明两种关键字: valvar
val(value的简写)用来申明一个不可变变量,对应java中的final
var(variable的简写)用来声明一个可变变量

kotlin 不用写分号

如果显示声明一个变量

val a:Int = 10

你可能发现 Kotlin 中 Int 首字母大写,而 java 中 int 的首字母是小写的,这表示 Kotlin 完全抛弃了 Java 中的基本数据类型,全部使用了对象数据类型。在 Java 中 int 是关键字,在 Kotlin 中 Int 变成了一个类,拥有自己的方法和继承结构

一个好的编程习惯是,除非一个变量明确允许被修改,否则都应该给它加上 final 关键字。所以永远优先使用val 来声明一个变量,当 val 没办法满足你的需求时再用var

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值