zoukankan      html  css  js  c++  java
  • Scala 基础


    0. 说明

      Scala 的基本概念 & 循环


    1. 基本概念

      1.0 Scala是什么

      Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。

      1.1 变量 & 常量

      在 Scala 中,使用关键词 "var" 声明变量,使用关键词 "val" 声明常量。

    # 变量,可以对值进行更改
    var a = 10
    
    # 常量,不能更改
    val a = 10

      1.2 函数 & 类的区别

    1. 函数,不需要使用类,直接调用
    2. 方法需要通过类调用

      1.3 产生1 ~ 10的序列
      1 to 10 相当于 1.to(10) 
      

      1.4 字符串交集

      "hello".intersect("world")

      

      1.5 BigInt 类型

      var b = BigInt(999999)

      1.6 Scala 自增

      Scala 不像 Java 那样使用 a++  a-- 作为自增自减

      而是使用以下

      a += 1
      a -= 1

      1.7 使用函数

      导入 math 下的所有成员


      import scala.math._
      sqrt(2)      //开方
      pow(2,3)    //幂函数

      

      1.8 apply 方法

      "hello".apply(0) 
      "hello"(0) 

       

      1.9 表达式

      val x = 2
      val b = if(x > 0 ) 1 else -1    // Scala中不包含三元运算

      

      // b:AnyVal = ()
      val b = if(x < 0) -1

      val x:Unit = ()       //相当于null

      

      1.10 语句整体
      val b = if(x > 0 ){1
      }else -1

      1.11 粘贴

      :paste
      ctrl + d    //退出粘贴模式

      1.12 语句终止

      同一行多条语句之间用 " ; " 分隔

      val b = {println("a") ;println("bbb");100}

      

      1.13 输出 & 输入

      // 输出
      println("xxx")
      printf("aaa %s bb %s" , "abc" , "def")

      

      // 输入,读取控制台输入
      var name = readLine("请输入名字:")
      println(name)

      

      1.14 加载 Scala 代码

    :load  d:demodemo.scala

      1.15 to & until 的区别

      //until, 1 ~ 9
      val a = 1 until 10

      


    2. 循环

      2.1 while 循环

    var n = 0 ;
    while(n < 10){
    println(n)
    n +=1
    }

      

      2.2 for 循环

    for(i <- 1 to 10){
    println(i)
    }

      

      2.3 使用 while 和 for 输出 99 表格

       while

    var r = 1
    while(r < 10){
    var c = 1
    while(c <= r){
    printf("%dx%d=%d	" , c , r , (c * r))
    if(c == r) println()
    c+=1
    }
    r +=1
    }

      

      for

    for(i <- 1 to 9){
    for(j <- 1 to i){
    printf("%dx%d=%d	" , j , i , (i * j))
    if(i == j)println()
    }
    }

      

      2.4 break & continue

    import scala.util.control.Breaks._
    for(i <- 1 to 10){
    println(i)
    if(i % 3 == 0)break ; }

      

      2.5 高级 for 循环 , 迪尔卡积

    for(i <- 1 to 3 ; j <- 4 to 6){
    printf("%d : %d
    " , i , j )
    }

      

      2.6 守卫条件 for 循环

    for(i <- 1 to 9 ; j <- 1 to i if( i == 2 * j)){
    printf("i=%d,j=%d
    " , i , j)
    }

    且将新火试新茶,诗酒趁年华。
  • 相关阅读:
    linux查看CPU和内存信息
    linux yum命令详解
    查看文件中关键字前后几行的内容
    vue.js+web storm安装及第一个vue.js
    android GPS: code should explicitly check to see if permission is available
    ASP.NET MVC Identity 使用自己的SQL Server数据库
    阿里云服务器,tomcat启动,一直卡在At least one JAR was scanned for TLDs yet contained no TLDs就不动了
    ASP.NET MVC4 MVC 当前上下文中不存在名称“Scripts”
    python 将windows字体中的汉字生成图片的方法
    Java android DES+Base64加密解密
  • 原文地址:https://www.cnblogs.com/share23/p/9726428.html
Copyright © 2011-2022 走看看