Kotlin 变量和常量的声明(var和val)
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)的更多相关文章
- Kotlin中变量不同于Java: var 对val(KAD 02)
原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...
- java笔记 -- java变量与常量的声明
变量: 在Java中, 每一个变量属于一种类型. double salary int vacationDays; long earthPopulation; boolean done; 命名: 以字母 ...
- Golang Go Go Go part2:变量及常量声明
三.关键字及内置预声明常量.类型.函数 1.关键字 Go有25个关键字,只能用在语法允许的地方,不能作为名称使用,它们是: break default func ...
- kotlin变量基础
kotlin变量与输出 这里看一下在Kotlin中的变量是如何定义的? 编译运行: 对比下我们常用的JAVA语言,定义上的区别: 1.Kotlin变量是统一以var开头,而不区分具体类型,而Java在 ...
- iOS开发Swift篇—(二)变量和常量
iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
- Go语言-变量和常量
我们在这里需要优先说明的是用于声明变量的关键字var,以及用于声明常量的关键字const.要知道,绝大多数的数据类型的值都可以被赋给一个变量,包括函数.而常量则不同,它只能被赋予基本数据类型的值本身. ...
- 在shell,R,python中用变量和常量创建文件名
很多时候我们希望文件名的格式是:变量+常量的. 1.shell:变量"常量" [wangjq@mgmt multi_pcr]$ a="var" [wangjq@ ...
- kotlin 变量声明
Kotlin 是强类型的语言,Kotlin 要求所有的变量必须先声明.后使用,声明变量时必须显示或隐式指定变量的类型(隐式的是指,声明的时候同时初始化,这样编译的时候就可以推断出该变量的类型了,Jav ...
随机推荐
- java流类、、、理解不够,流太多不知怎么用好?
总结:输入流.输出流..子类多.需要加强: package com.da; import java.io.*; public class rtr { public static void main(S ...
- Spring之3:BeanFactory、ApplicationContext、ApplicationContextAware区别
在Spring中系统已经为用户提供了许多已经定义好的容器实现,而不需要开发人员事必躬亲.相比那些简单拓展BeanFactory的基本IoC容器,开发人员常用的ApplicationContext除了能 ...
- 2015.3.4 VS2005调用MFC dll时报错及解决
今天在用VS2005调用MFCdll时报错: 正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码... 原因是我在dll的CSpaceApp::CSp ...
- 分布式爬虫搭建系列 之一------python安装及以及虚拟环境的配置及scrapy依赖库的安装
python及scrapy框架依赖库的安装步骤: 第一步,python的安装 在Windows上安装Python 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Pyt ...
- linux动态内核模块编程-3
将一组与模块相关的命令加载进内核 完成功能类似2,打印proc下的相关信息.但是不用重新编译内核,节省时间,更为灵活 内核模块介绍 模块是在内核空间运行的程序,实际上是一种目标文件,不能单独运行但其代 ...
- plupload的一些使用心得
最近要做一个文件上传的东西 经过同事的推荐所以就选择了plupload,挺强大的 由于项目框架为改动后的MVC 刚一开始破费周折 不过最后总算是完成了 废话不多说了 粘出来代码给大家参考吧!文件包大家 ...
- FileZilla Server下通过别名设置虚拟目录
说明:FileZilla Server 的虚拟目录设置与其它 FTP 服务器软件有所不同.在 FileZilla Server 中设置虚拟目录,必须采用 FTP 根目录 + 虚拟目录名的形式来进行.比 ...
- PAT-l3-002堆栈
L3-002. 堆栈 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有“入栈”(将新元素插入栈顶)和“出栈”(将栈顶元素的值返回并从堆栈中将其删除).现请你实现一种特殊的堆栈,它多了一种操作 ...
- JavaScript基础笔记集合(转)
JavaScript基础笔记集合 JavaScript基础笔记集合 js简介 js是脚本语言.浏览器是逐行的读取代码,而传统编程会在执行前进行编译 js存放的位置 html脚本必须放在&l ...
- python http认证
Requests 库有一个auth 模块专门用来处理HTTP 认证: import requestsfrom requests.auth import AuthBasefrom requests.au ...