kotlin变量基础
kotlin变量与输出
这里看一下在Kotlin中的变量是如何定义的?
编译运行:
对比下我们常用的JAVA语言,定义上的区别:
1、Kotlin变量是统一以var开头,而不区分具体类型,而Java在定义变量是就要确定数据类型,对应这句话也就是:String name = "cexo"。
2、Kotlin在写完一句代码之后不用以";"做为该句的结束,而Java是必须以";"结束。
既然是变量,下面去改变其变量的值,如下:
编译运行:
想一个问题:定义变量时木有明确区分数据类型,而都是用var关键字,那是不是该变量可以接受任何数据类型呢?
看错误提示:
可见类型不匹配,那我们的猜想不成立,所以回过头来看一下Kotlin变量定义它的深层次的含义:
那Kotlin常见的数据类型下面列举一下:
Kotlin变量和常量&类型推断
对于类型推断其实在上面已经接触到了,下面再来集中学习一下,直接通过代码来阐述:
对于上面这代码木有啥可解释滴,肯定是正常可用的,那看下面:
报错了,报啥错呢,看提示:
而看一下int类型的取值范围:
而对于"var i = 18"为啥会认为该变量是整型类型呢?那就是Kotlin一个很智能也很有特点的地方:智能类型推断,会根据声明变量的时候自动根据传的值来推断出该变量的类型,下面继续修改代码:
以此类推,像这样:
上面的错比较好理解了,不多解释。
但是!!对于这个Koltin编译器自动推断变量类型智能是智能,是不是觉得可读性有些损失,不能明确知道变量的类型,有木有一种可以明确指定类型的方法呢?当然Kotlin为我们考虑到了,如下显示指定类型:
下面再来修改代码:
从提示中可以发现,变量是必须要有一个类型声明或是被初始化才行,而初始化这种情况上面已经演示了,下面来修改代码让其可以编译通过:
有了变量,下面再来看一下常量是如何弄的,看代码:
变量可以修改没啥可解释的,但是对于车牌号码当声明之后不想被更改,那如何搞呢?
Kotlin变量取值范围
用代码去验证一下上面说的数据类型的取值范围:
编译运行:
同理看一下Long类型:
编译运行:
最后再看一个细节,对于int变量如何用二进制去赋值呢?
编译运行:
kotlin变量基础的更多相关文章
- 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...
- SHELL脚本--变量(基础)
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$ ...
- kotlin 变量声明
Kotlin 是强类型的语言,Kotlin 要求所有的变量必须先声明.后使用,声明变量时必须显示或隐式指定变量的类型(隐式的是指,声明的时候同时初始化,这样编译的时候就可以推断出该变量的类型了,Jav ...
- Nodejs第一天-{Nodejs基础 深刻理解浏览器 环境变量 基础语法}
Nodejs第一天 1.什么是Nodejs Nodejs是一个可以运行(解析)ECMAScript的环境; ECMAScript是规定了一些列的语法 ,这些语法想要解析的执行就需要放在某个环境 ...
- Kotlin 变量和常量的声明(var和val)
Kotlin有着非常非常智能化的声明变量方式.叫做类型推断 声明变量要使用关键字var和val. var声明方式第一种(自动推断): var nub=1231://自动定义整数型 使用分号 var c ...
- python大纲+变量基础详解
1.python的历史 python2和python3的区别 2004 Django框架的诞生 2.python是编程语言 python 是解释型语言 3.python的种类 cpyt ...
- 小白学 Python(4):变量基础操作
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 前面的文章中,我们介绍了 ...
- salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识. 有如下几种常 ...
- Swift学习(四)常量&变量&基础数据类型
常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...
随机推荐
- Packages window(包窗口)
使用Unity Package Manager(在Unity的顶层菜单中:Window > Package Manager)查看可以安装或已安装在Project中的软件包.此外,您可以使用此窗口 ...
- Fastjson反序列化漏洞
payload: 1.{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":& ...
- MongoTemplate 使用 _id 查询
MongoTemplate mt; DBObject lisi = new BasicDBObject(); lisi.put("_id", new BasicDBObject(& ...
- Qt5."Clang Code Model"一些设置
1.有些设置 可能这里在设置了,到别的地方(例如换了一个机子) 又要设置,这样的话 在不熟练的时候 手动敲进去会比较慢,这里 先记录下来 以后要用 直接复制就行了 2.Qt5.9.8 vs2017 : ...
- Spring框架IOC和AOP介绍
说明:本文部分内容参考其他优秀博客后结合自己实战例子改编如下 Spring框架是个轻量级的Java EE框架.所谓轻量级,是指不依赖于容器就能运行的.Struts.Hibernate也是轻量级的. 轻 ...
- 巧用 Class Extension 隐藏属性
一般来说,Extension用来给Class增加私有属性和方法,写在 Class 的.m文件.但是Extension不是必须要写在.m文件,你可以写在任何地方,只要在 @implementation ...
- css设置滚动条并显示或隐藏
看效果,没有滚动条,超出div,开发中肯定不行. 有滚动条 最后就是想隐藏滚动条 代码 有滚动条并显示 <!DOCTYPE html> <html lang="en&quo ...
- Ember.js和Vue.js,哪种框架更适合你?
JavaScript最初是为Web应用程序而创建的.随着前端技术的发展,比起纯JavaScript 脚本,大多数开发人员更喜欢使用基于JavaScript的框架来开发Web应用,如Vue.React等 ...
- Windows32位或64位下载安装配置Scala
[学习笔记] Windows 32位或64位下载安装配置Scala: 1)下载地址:http://www.scala-lang.org/download/,看我的spark那节,要求scala是2.1 ...
- jupyter的控件交互
jupyter实现控件交互 jupyter notebook 是一个交互式IDE 直接上jupyter notebook界面截图