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变量基础的更多相关文章

  1. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

  2. SHELL脚本--变量(基础)

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$ ...

  3. kotlin 变量声明

    Kotlin 是强类型的语言,Kotlin 要求所有的变量必须先声明.后使用,声明变量时必须显示或隐式指定变量的类型(隐式的是指,声明的时候同时初始化,这样编译的时候就可以推断出该变量的类型了,Jav ...

  4. Nodejs第一天-{Nodejs基础 深刻理解浏览器 环境变量 基础语法}

    Nodejs第一天 1.什么是Nodejs ​ Nodejs是一个可以运行(解析)ECMAScript的环境; ​ ECMAScript是规定了一些列的语法 ,这些语法想要解析的执行就需要放在某个环境 ...

  5. Kotlin 变量和常量的声明(var和val)

    Kotlin有着非常非常智能化的声明变量方式.叫做类型推断 声明变量要使用关键字var和val. var声明方式第一种(自动推断): var nub=1231://自动定义整数型 使用分号 var c ...

  6. python大纲+变量基础详解

    1.python的历史 ​ python2和python3的区别 ​ 2004 Django框架的诞生 2.python是编程语言 ​ python 是解释型语言 3.python的种类 ​ cpyt ...

  7. 小白学 Python(4):变量基础操作

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 前面的文章中,我们介绍了 ...

  8. salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识. 有如下几种常 ...

  9. Swift学习(四)常量&变量&基础数据类型

    常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...

随机推荐

  1. Packages window(包窗口)

    使用Unity Package Manager(在Unity的顶层菜单中:Window > Package Manager)查看可以安装或已安装在Project中的软件包.此外,您可以使用此窗口 ...

  2. Fastjson反序列化漏洞

    payload: 1.{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":& ...

  3. MongoTemplate 使用 _id 查询

    MongoTemplate mt; DBObject lisi = new BasicDBObject(); lisi.put("_id", new BasicDBObject(& ...

  4. Qt5."Clang Code Model"一些设置

    1.有些设置 可能这里在设置了,到别的地方(例如换了一个机子) 又要设置,这样的话 在不熟练的时候 手动敲进去会比较慢,这里 先记录下来 以后要用 直接复制就行了 2.Qt5.9.8 vs2017 : ...

  5. Spring框架IOC和AOP介绍

    说明:本文部分内容参考其他优秀博客后结合自己实战例子改编如下 Spring框架是个轻量级的Java EE框架.所谓轻量级,是指不依赖于容器就能运行的.Struts.Hibernate也是轻量级的. 轻 ...

  6. 巧用 Class Extension 隐藏属性

    一般来说,Extension用来给Class增加私有属性和方法,写在 Class 的.m文件.但是Extension不是必须要写在.m文件,你可以写在任何地方,只要在 @implementation  ...

  7. css设置滚动条并显示或隐藏

    看效果,没有滚动条,超出div,开发中肯定不行. 有滚动条 最后就是想隐藏滚动条 代码 有滚动条并显示 <!DOCTYPE html> <html lang="en&quo ...

  8. Ember.js和Vue.js,哪种框架更适合你?

    JavaScript最初是为Web应用程序而创建的.随着前端技术的发展,比起纯JavaScript 脚本,大多数开发人员更喜欢使用基于JavaScript的框架来开发Web应用,如Vue.React等 ...

  9. Windows32位或64位下载安装配置Scala

    [学习笔记] Windows 32位或64位下载安装配置Scala: 1)下载地址:http://www.scala-lang.org/download/,看我的spark那节,要求scala是2.1 ...

  10. jupyter的控件交互

    jupyter实现控件交互 jupyter notebook 是一个交互式IDE 直接上jupyter notebook界面截图