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. Visual Studio Code 调试 SpringBoot

    Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based appl ...

  2. Re0:在.NetCore 中Dapper的基本用法

    整理一下目前在用的Dapper 与FrameWork不同,NetCore数据库配置需要从appsettings.json中获取 刚接触的时候被这块坑了,自己手动建了个app.config.然后你懂的( ...

  3. 最新 央视网java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.央视网等10家互联网公司的校招Offer,因为某些自身原因最终选择了央视网.6.7月主要是做系统复习.项目复盘.LeetCo ...

  4. 在vue的element图片的上传及回调

    首先声明,本人用的是element组件写的图片的上传及回调,若非element本方法暂不支持. 下面开始正式讲图片的上传及回调.(本篇拒绝一切花里胡哨,都是干活,言辞粗糙,望请见谅) 1,elemen ...

  5. IOS div上下滑动效果

    内容放在div中 div加样式:width: 100%;height: 100%;z-index: 70;overflow: auto;

  6. Reactor系列(五)map映射

    #java# #reactor# #flux# #map# #映射# 视频解视: https://www.bilibili.com/video/av79179444/ FluxMonoTestCase ...

  7. Hash冲突的四种解决办法

    一.哈希表简介 非哈希表的特点:关键字在表中的位置和它自检不存在一个确定的关系,查找的过程为给定值一次和各个关系自进行比较,查找的效率取决于给定值进行比较的次数. 哈希表的特点:关键字在表中位置和它自 ...

  8. HashMap集合-遍历方法

    # HashMap集合-遍历方法 先定义好集合: public static void main(String[] args) { Map<String,String> onemap=ne ...

  9. S03_CH04_AXI_DMA_OV5640摄像头采集系统

    S03_CH04_AXI_DMA_OV5640摄像头采集系统 4.1概述 本课程讲解如何搭建基于DMA的图形系统,方案原理和搭建7725的一样,只是OV5640显示的分辨率是1280X720如下,只是 ...

  10. 编写并提取简易 ShellCode

    ShellCode 通常是指一个原始的可执行代码的有效载荷,ShellCode 这个名字来源于攻击者通常会使用这段代码来获得被攻陷系统上的交互 Shell 的访问权限,而现在通常用于描述一段自包含的独 ...