zoukankan      html  css  js  c++  java
  • 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+"	"+year)  //输出
    
    
    }

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

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

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

    声明再赋值

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

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

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

  • 相关阅读:
    spring学习笔记__spring的单例多例模式
    spring学习笔记_spring入门
    Lambda表达式
    反射
    fatal error: call to undefined function imagettftext
    阿里云 centos 安装apache和php
    php 使用 极光推送 类
    php socket解决方案
    身份证号码 15位和18位 验证
    php memcache扩展 出现错误dyld: Symbol not found: _mmc_queue_free
  • 原文地址:https://www.cnblogs.com/T-ARF/p/7580433.html
Copyright © 2011-2022 走看看