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 ...
随机推荐
- 神经网络与数字货币量化交易系列(1)——LSTM预测比特币价格
首发地址:https://www.fmz.com/digest-topic/4035 1.简单介绍 深度神经网络这些年越来越热门,在很多领域解决了过去无法解决的难题,体现了强大的能力.在时间序列的预测 ...
- vulstudy
vulstudy是专门收集当下流行的漏洞学习平台,并将其制作成docker镜像,方便大家快速搭建环境,节省搭建时间,专注于的漏洞学习上.目前vulstudy包含以下漏洞学习平台: 序号 漏洞平台 包含 ...
- linux命令帮助 man bash
BASH(1) BASH(1) NAME bash - GNU Bourne-Again SHell (GNU 命令解释程序 “Bourne二世”) 概述(SYNOPSIS) bash [option ...
- python字典中添加项
body_daily_close = { "mappings": { "properties": { "trade_date": { &qu ...
- 利用NPOI导出Word文档帮助类
/// <summary> /// NPOI操作Word /// </summary> public class NpoiWordHelper { /// <summar ...
- [CF1065F]Up and Down the Tree_tarjan_树形dp
Up and Down the Tree 题目链接:https://www.luogu.org/problem/CF1065F 数据范围:略. 题解: 我们把每个叶子向它上面$k$个点连边,然后tra ...
- Python解Leetcode: 539. Minimum Time Difference
题目描述:给定一个由时间字符组成的列表,找出任意两个时间之间最小的差值. 思路: 把给定的链表排序,并且在排序的同时把60进制的时间转化成十进制整数: 遍历排序的数组,求出两个相邻值之间的差值: 求出 ...
- linux 从远程服务器拷贝文件
1.从服务器复制文件到本地: scp root@192.168.1.100:/data/test.txt /home/myfile/ 2.从服务器复制文件夹到本地: scp -r root@192.1 ...
- B - How many integers can you find
Now you get a number N, and a M-integers set, you should find out how many integers which are smal ...
- 使用rsync工具构建php项目管理平台
对于phper来说部署项目和更新项目是很方便的,只要直接将写好的项目覆盖到项目的根目录就可以啦.但是平时项目开发的时候肯定不是只部署一个环境,一般是三套环境(开发环境.测试环境.生产环境),我们每次在 ...