• 01scala环境搭建和基础


    1.环境搭建

      1.下载安装jdk1.7以上版本,并进行环境变量的配置

      2.下载scala-2.10.4.msi,安装后进行环境变量的配置

      3.下载scala-SDK-4.1.1-vfinal-2.11-win32.win32.x86.zip,解压双击运行

    2.scala基础

      1.println  控制台输出   readLine  控制台输入

      2.方法的定义:

        def 方法名 (参数名:参数类型):返回值类型={

          方法体

        }

        注意:

          1.如果没有返回值,可以省略

          2.方法调用 方法名(参数)  ,如果没有参数,可以省略()

          3.方法的最后一行通常作为函数的返回值

      3.for循环语句:

        for(变量名 <- 集合名){操作}

      4.集合操作

        1.Tuple 创建(元素1,元素2,元素3)   角标从1开始

        2.Array  创建 Array(元素1,元素2)

        3.Map  创建  Map(键 -> 值,键->值)

      5.文件操作

        val file=Source.fromFile("F:\工作\项目\china_life.sql")
            val file2=Source.fromURL("http://www.baidu.com")
           for(line <- file2.getLines()) println(line)

    3.控制结构

      1.scala并没有提供break或continue语句来退出循环,当需要使用break时可以使用以下三种方式:

        1.使用boolean来控制循环

        2.使用嵌套信息,在从函数中使用return

        3.使用Breaks对象的break方法

          import scala.util.control.Breaks._

          for(i<-1 to 10){
                for(j<-10 to 20)
                  println(i,j)
                  if (i==5) break
            }

      2.高级for循环  for(i<-1 to 3 if i !=2;j<-1 to 3 if i!=j) println(i,j)       //(1,2),(1,3),(3,1),(3,2)

       for推导式  var a=for(i <- 1 to 10) yield i%2    //Vector(1, 0, 1, 0, 1, 0, 1, 0, 1, 0)

      3.函数定义时必须给出所有参数的数据类型,但是只要不是递归调用,就不需要指出返回类型

        def fac(n:Int): Int = if(n<=0) 1 else n*fac(n-1)

        1.默认参数和带名参数:

          def decorate(str:String,left:String="[",right:String="]")=left+str+right
              println(decorate("tom"))   //[tom]
              println(decorate("tom", "<<"))   //<<tom]
              println(decorate(right="<", str="tom"))   //[tom<

        2.可变参数:

          def sum(nums:Int*)={
                var result=0
                for(num <-nums) result+=num
                result
            }

         此时参数不能为一个集合类型,如果想把集合中的元素供该方法使用可以使用 【集合:_*】 的方式进行传入

         sum(1 to 10:_*)    //55

       3.过程:不返回值的函数的特殊表示法,函数体包含在花括号中间,但没有前面的=,返回值类型就是Unit

          def box(s:String){
                var border = "-"*s.length+"-- "
                print(border+"|"+s+"| "+border)
             }

       4.懒值:在变量前添加lazy修饰符,将延迟变量内容的加载,直到变量被首次访问时才被加载

        lazy val file=Source.fromFile("F:\工作\项目\china_life.sql")  //即使所指定的文件不存在,只要不使用变量file,程序就不会报错,但如果去掉lazy,就会立即报错

  • 相关阅读:
    Do You See Me? Ethical Considerations of the Homeless
    ELDER HOMELESSNESS WHY IS THIS AN ISSUE?
    Endoflife support is lacking for homeless people
    html内联框架
    html字体
    html块 div span
    html列表
    html表格
    SQL Server管理员专用连接的使用   作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情况
    如何配置最大工作线程数 (SQL Server Management Studio)
  • 原文地址:https://www.cnblogs.com/lifeone/p/4912748.html
Copyright © 2020-2023  润新知