Kotlin有着非常非常智能化的声明变量方式。叫做类型推断

声明变量要使用关键字var和val。

var声明方式第一种(自动推断):

var nub=1231;//自动定义整数型 使用分号

var ch=“这是一个字符串” //自动定义字符串 不使用分号

同样,是Kotlin自己判断的数据类型。

当我们自动定义一个类型之后,这个类型就会固定下来这个类型。 正如我们下面的代码。 定义一个字符串之后在赋值一个数字就会报错

fun main(agrs : Array<String>)
{
var name="ARM830"//自动定义一个字符串 Kotlin自动判断
name=123 //此处会报错
println(name) //输出
}

正确的代码是

fun main(agrs : Array<String>)
{
var name="ARM830"//自动定义一个字符串 Kotlin自动判断
// name=123 //此处会报错
name="重新再次赋值" //再次赋值
println(name) //输出
}

变量没有使用关键字的情况下,可以再次赋值。

观察上面的代码,我并有使用分号作为一个语句的结束。 当然使用分号也是可以的。

var第二种声明方式(指定类型):

同样也是使用var关键字进行声明.

看下面的代码:

fun main(agrs : Array<String>)
{
var name:String="ARM830"//定义一个为String的变量 println(name) //输出
}

解释: var name:String="ARM830"

定义一个变量,变量名是name,类型是String。

也就是一个变量要指定一个数据类型的时候,就要如此写。

格式是:

var Typename :Type

var 变量名字 : 数据类型

一定要有冒号

Val声明方式

val是只读。

也就是说使用val进行定义类型。这个变量是只读,不可以修改的。

fun main(agrs : Array<String>)
{
var name:String ="ARM830"; //定义一个为String的变量
val year:Int =16;
year=17; //此处会报错,因为val是只读,不可以再次赋值
println(name+"\t"+year) //输出 }

val声明方式和var一样是可以有两种,一种自动推断,一种指定类型。

******************************************************************************************************************************************************************************************************************

同样,Kotlin也是可以使用声明并赋值,声明再赋值的两种方式声明变量。

声明再赋值

fun main(agrs : Array<String>)
{
var name:String //定义一个为String的变量
name="ARM830";
var year:Int
year =16;
println(name+"\t"+year) //输出 }

不过值得一说,能够使用声明再赋值这样的方式,只有指定数据类型才可以使用。

直接使用var第一种声明方式,是不可以的。 切记!

Kotlin 变量和常量的声明(var和val)的更多相关文章

  1. Kotlin中变量不同于Java: var 对val(KAD 02)

    原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...

  2. java笔记 -- java变量与常量的声明

    变量: 在Java中, 每一个变量属于一种类型. double salary int vacationDays; long earthPopulation; boolean done; 命名: 以字母 ...

  3. Golang Go Go Go part2:变量及常量声明

    三.关键字及内置预声明常量.类型.函数 1.关键字 Go有25个关键字,只能用在语法允许的地方,不能作为名称使用,它们是: break          default         func    ...

  4. kotlin变量基础

    kotlin变量与输出 这里看一下在Kotlin中的变量是如何定义的? 编译运行: 对比下我们常用的JAVA语言,定义上的区别: 1.Kotlin变量是统一以var开头,而不区分具体类型,而Java在 ...

  5. iOS开发Swift篇—(二)变量和常量

    iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...

  6. 李洪强iOS开发Swift篇—02_变量和常量

    李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...

  7. Go语言-变量和常量

    我们在这里需要优先说明的是用于声明变量的关键字var,以及用于声明常量的关键字const.要知道,绝大多数的数据类型的值都可以被赋给一个变量,包括函数.而常量则不同,它只能被赋予基本数据类型的值本身. ...

  8. 在shell,R,python中用变量和常量创建文件名

    很多时候我们希望文件名的格式是:变量+常量的. 1.shell:变量"常量" [wangjq@mgmt multi_pcr]$ a="var" [wangjq@ ...

  9. kotlin 变量声明

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

随机推荐

  1. 关于DO、VO的一些新的认识

    今天在开发前的定案以及业务介绍过程中,讲到了一些关于VO和DO的知识和理解. 听到之后就觉得很惊奇,也或许是自己以前不够深入理解开发的过程.认知的很浅薄. DO VO以前的认知里面,都是一样的,都属于 ...

  2. SpringCloud微服务实战——第一章序言读书笔记

    什么是微服务架构 是系统架构上的一种设计风格,将独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间基于HTTP的RESTful API进行通信协作. 每个小型服务都围绕各自的 ...

  3. Cache缓存优化

    降低数据库压力 <appSettings><add key="/></appSettings> //设置实体缓存时间 public RupengWang. ...

  4. 减小SSN影响

    单板级SSN 从单板级来看,芯片中多个逻辑门同时翻转时,将从单板电源和地平面瞬间汲取较大的电流.任何电源分配系统都存在着阻抗,特别是感抗,导致在短时间内电压调整模块来不及供应这些电流,从而在单板和电源 ...

  5. 蓝桥杯 算法训练 ALGO-140 P1101

    算法训练 P1101 时间限制:1.0s 内存限制:256.0MB    有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函 ...

  6. 蓝桥杯 Beaver's Calculator

    问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别,并且被计划使用在各种各样 ...

  7. 详解NXP Cortex-M3加密设置

     加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部储存的密钥和信息数据不被非法读取与篡改的一类安全芯片的通称.使用到安全加密芯片的产品:银行加密U盾.刻录机.加密硬盘.P ...

  8. java.nio.ByteBuffer中flip、rewind、clear方法的区别

    对缓冲区的读写操作首先要知道缓冲区的下限.上限和当前位置.下面这些变量的值对Buffer类中的某些操作有着至关重要的作用: limit:所有对Buffer读写操作都会以limit变量的值作为上限. p ...

  9. urllib2模块中文翻译与学习 - Python 2.7.8官方文档

    总结 目的 打开指定网址 要求 了解需要处理的网站的操作流程 数据包的构造与提交 对可能的响应处理选择合适的处理器(模块内的各种 *Handler()) 核心 urllib.urlencode(que ...

  10. java.lang.Runtime.exec() Payload Workarounds

    由于Runtime.getRuntime().exec()中不能使用管道符等bash需要的方法,我们需要用进行一次编码 编码工具: 地址: http://jackson.thuraisamy.me/r ...