Scala_入门

Scala的6大特征:
在这里插入图片描述

  • 与JAVA无缝整合
  • 类型可以自己推断
  • 异步处理
  • Scala的接口中可以定义方法
  • 模式匹配
  • 高阶函数

入门代码练习:

package com.test

import java.util

import scala.collection.mutable.ArrayBuffer

/**
  * Created by lenovo on 2019/1/18.
  * Scala入门
  */
object Sacla_Test {
  def main(args: Array[String]): Unit = {
    //  val age = 27  //常量 immutable class(在java中的不可变类) final(在java中的常量定义)
    //    var age =22 //变量
    //    age =23
    //    println(age)

    //    val name: String = "yasaka"
    //    var n: Any = "yasaka"//Any是超类 再次赋值的时候类型可以是Any类下的任何类型
    //    n = 123
    //    val a,b,c:String = null
    //    val v,n,m =1
    //    println(n)

    //    println(1 to 10) //Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    //      println("hellow" intersect "world")//交集 隐式转换StringOps

    //    count += 1 //在scala中没有 count++ 这一说

    //    import scala.math._
    //"_"指的是某某某仓库下的所有类
    //    println(sqrt(2)) //求2的平方根
    //    println(pow(2,4))//求某个数的n次方
    //    println(min(100, Pi)) //求最小值
    //    val list = List(1, 2, 3, 5, 6, 6, 7, 5)
    //    println(list.distinct) //输出集合中的数据 并去重

    //apply 函数!!!
    //    println("come on baby"(5))
    //    println("come on baby".apply(5))//取字符串中的某个值

    //条件控制 if else
    //    val age = 30
    //    println(if (age > 18) 1 else 0)
    //    val a = if (age >18) 1 else 0
    //    println(a)
    //    val a = if (age > 30) "超过30岁" //else 不谢 返回的是:Unit类型
    //    println(a)

    //    var a,b,v = 1
    //    println(if(1<2){a=a+1;b=a+2;v=b+2; v}) //结果为 6  最后一个代码块作为返回值  函数不能作为返回值

    //输入与输出
    //    println("hello")
    //    print("hello")
    //    var a = readLine("请输入:") //录入
    //    println(a)
    /*
1. 过时方法
val line = Console.readLine()

2. 目前使用方法
val br = new BufferedReader(new InputStreamReader(System.in));
val line = br.readLine()

.. 注意关闭流
      */
    //    var a = 10
    //    while (a > 0){
    //      println(a)
    //      a-=1
    //    }

    //    for (i <- "qawd;asjfolihedohjazpoJvfcopdrfjv") {
    //      println(i)
    //    }

    //    import scala.util.control.Breaks._
    //    breakable{
    //      var a = 10
    //      for(i <- "i love you"){
    //        if (a == 7)break();
    //          println(i)
    //          a -= 1
    //      }
    //    }

    //    for (i <- 1 to 20 if i % 2 ==0; if i % 5 >3){println(i)}
    //    println(for (i <- 1 to 10 ) yield i) //yield 把结果放在一个集合里面输出(项链)

    //数组操作
    // 数据 放在 数据结构 再来写算法
    //     Array ArrayList <==> Array ArrayBuffer
    //    val a = new Array[Int](10)
    //    println(a(0))


    //    val a = new Array[String](10)
    //    a(0) = "yubaby"
    //    println(a(0))

    //     val a = Array("wo ai ni")
    //     a(0) = "yubaby"
    //     println(a(0))


    //    val a = Array("wo ai ni","wo shi ni")
    //    println(a.length)
    //    a(0) = "yubaby"
    //    println(a(1))
    //    println(a(0))

    import scala.collection.mutable.ArrayBuffer
    //    val a = ArrayBuffer[Int]()
    //    a += 1
    //    a += (1,2,3,4)
    //    a ++= Array(1,2,3)
    //    a.trimEnd(2)
    //    println(a) //ArrayBuffer(1, 1, 2, 3, 4, 1)
    //
    //    a.insert(1,2) //指定位置插入XX
    //    a.remove(1,2) //删除 几到几
    //    println(a)

//    val a = Array("a","b","c")
    //    val b = ArrayBuffer("aa","bb","cc")
    //    println(a.toString)
    //    println(b.toArray)
    //
    //    for (i <- 0 until b.length){
    //      println(b(i))
    //    }


    val a = Array(4,5,2,1,3)
//    println(a.sum)
//    println(a.max)
//    scala.util.Sorting.quickSort(a)
//    for (i <- 0 until a.length){
//      println(a(i))
//    }

    //mkSring 一般用于Array
//    println(a.mkString)
//    println(a.mkString(","))

    //toString 一般用于 ArrayBuffer
    val buffer = ArrayBuffer[Int]()
    buffer ++= Array(1,2,3)
    println(buffer.toString())
    println(buffer.mkString)

  }
}

猜你喜欢

转载自blog.csdn.net/qq_39839745/article/details/86542475