package com.mengyao.scala.function

/**
 * Scala的变量声明和使用(可变类型和值类型)
 *
 * @author mengyao
 */
object Test0 {
 
  /**
   * Scala中的数据类型定义如下
   * @inline implicit def byteWrapper(x: Byte)       = new runtime.RichByte(x)
   * @inline implicit def shortWrapper(x: Short)     = new runtime.RichShort(x)
   * @inline implicit def intWrapper(x: Int)         = new runtime.RichInt(x)
   * @inline implicit def charWrapper(c: Char)       = new runtime.RichChar(c)
   * @inline implicit def longWrapper(x: Long)       = new runtime.RichLong(x)
   * @inline implicit def floatWrapper(x: Float)     = new runtime.RichFloat(x)
   * @inline implicit def doubleWrapper(x: Double)   = new runtime.RichDouble(x)
   * @inline implicit def booleanWrapper(x: Boolean) = new runtime.RichBoolean(x)
   *
   * Byte     8bit的有符号数字,范围在-128 -- 127
   * Short    16 bit有符号数字,范围在-32768 -- 32767
   * Int      32 bit 有符号数字,范围 -2147483648 到 2147483647
   * Long     64 bit 有符号数字,范围-9223372036854775808 到 9223372036854775807
   * Float    32 bit IEEE 754 单精度浮点数
   * Double   64 bit IEEE 754 双精度浮点数
   * Char     16 bit Unicode字符. 范围  U+0000 到 U+FFFF
   * String   字符串
   * Boolean  布尔类型
   * Unit     表示无值,和其他语言中void等同
   * Null     空值或者空引用
   * Nothing  所有其他类型的字类型,表示没有值
   * Any      所有类型的超类,任何实例都属于Any类型
   * AnyRef   所有引用类型的超类
   *
   */
 
  def main(args:Array[String]){
    
    //变量
    var a = 10
    println(a)
    
    //常量
    val b = "hello "+a;
    println(b)
    
    //获取最大值
    val c = Math.max(3, 1);
    println(c)
   
    //懒加载,在第一次使用时被初始化。没有用到时值为<lazy>
    lazy val d = "a"//在命令行中声明此变量,回车时显示d: String = <lazy>
    println(d)
   
  }
 
}

Scala-变量、常量和懒加载的更多相关文章

  1. lazy-init 懒加载的艺术

    懒加载是一种加载方式,加载单例对象一般有两种方式,一是在启动时就立即创建好,另一种则是在需要用到的时候再去加载即懒加载.懒加载一般会针对单例场景,且一般是针对在加载消耗较大费时,且不一定会用到的场景. ...

  2. ios 懒加载详解

    iOS开发之懒加载 在iOS开发中几乎经常用到懒加载技术,比如我们存放网络数据的数组,控制器的view,控件的自定义,复杂的运算逻辑等等情况下都会用到懒加载技术,那么什么是懒加载呢?? 他又有什么样的 ...

  3. Scala函数式编程(六) 懒加载与Stream

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结 ...

  4. Swift 学习一函数&函数属性&懒加载

    函数 函数相当于OC中的方法 格式: func 函数名(参数列表) -> 返回值类型 {    代码块    return 返回值} func 函数名(参数列表){  // 返回值为Void 可 ...

  5. Swift语法基础入门四(构造函数, 懒加载)

    Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...

  6. vuex存取token,http简单封装、模拟登入权限校验操作、路由懒加载的几种方式、vue单页设置title

    1.config index.js下面的跨域代理设置: proxyTable: { '/api': { target: 'http://xxxx', //要访问的后端接口 changeOrigin: ...

  7. SpringBoot JPA懒加载异常 - com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy

    问题与分析 某日忽然发现在用postman测试数据时报错如下: com.fasterxml.jackson.databind.JsonMappingException: could not initi ...

  8. 懒加载(getter\setter理解)

    为什么要用懒加载 1.首先看一下程序启动过程:(如图) 会有一个mian的设置,程序一启动会加载main.storyboard main.storyboard又会加载箭头所指的控制器 控制器一旦加载, ...

  9. 【转】实现ViewPager懒加载的三种方法

    方法一 在Fragment可见时请求数据.此方案仍预加载了前后的页面,但是没有请求数据,只有进入到当前Framgent时才请求数据. 优点:实现了数据的懒加载缺点:一次仍是三个Framgment对象, ...

随机推荐

  1. 【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值

    分类: C/C++2012-08-30 21:40 2017人阅读 评论(2) 收藏 举报 任何管理某资源的类比如智能指针需要遵循一个规则(The Rule of Three): 如果你需要显式地声明 ...

  2. 阻塞机制下的recv小结

    recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结.      首先阻塞 ...

  3. 海尔的U+智慧生活操作系统

    通过一个手机APP就能操控家庭内的不同品牌的家电家居设备.在连接Wifi的状态下,海尔智能路由器能够自动连接上家庭里的智能冰箱.智能洗衣机.智能空调.智能烤箱.空气盒子等设备端.在智能手机上下载海尔U ...

  4. mwc config.h 中文注释

    #ifndef CONFIG_H_ #define CONFIG_H_ /*************************************************************** ...

  5. 渲染器 Shader BitmapShader

    渲染模式: tileX tileY:The tiling mode for x/y to draw the bitmap in.   在位图上 X/Y 方向 瓦工/花砖/瓷砖 模式 CLAMP  :如 ...

  6. string与stringbuilder的区别

    1.分析string与stringbuilder的区别,我们先来看下面一段代码 首先我们使用string进行字符串的拼接 class Program { static void Main(string ...

  7. JAVA彩色图片变灰处理

    File file = new File("F:/firefox.png"); File destFile = new File("F:/pic/" + Sys ...

  8. geotools导入shp文件到Oracle数据库时表名带下划线的问题解决

    问题: 最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(or ...

  9. centos 安装php

    1.yum安装 yum install php php-fpm php-common php-gd php-mcrypt php-pear php-pecl-memcache php-mhash ph ...

  10. Backbone学习笔记

    model model的get和set是对model.attributes进行操作,并不是直接对model进行操作 collection collection.set()会触发相应的add,remov ...