文章目录
- 前言
- 1.环境搭建
- 1) IDEA中插件下载
- 2) SDK下载配置
 
- 2.基本使用
- 1)var与val的区别
- 2) .基本数据类型
- 3).字符串的基本用法
- 4) 控制结构
- 1) if else
- 2) for 循环
- 3) while循环
 
- 5)类
- 6) 函数
 
前言
scala在一种简洁的高级语言中结合了面向对象和函数式编程。Scala的静态类型有助于避免复杂应用程序中的错误,它的JVM和JavaScript运行时使您可以构建高性能系统,并轻松访问庞大的库生态系统。
几大特性
- Scala运行在JVM上,因此Java和Scala实现完全无缝集成。
- 类型推理。
- 并发与分布式。
- 将java风格接口的灵活性与类的强大功能结合起来。
- 模式匹配
- 高阶函数
- 非常适合初学者和高级软件开发。
1.环境搭建
环境搭建很简单,现在都是在IDEA中集成插件,添加SDK即可快速开发。
1) IDEA中插件下载
 file-->settings-->plugins,搜索scala下载安装即可,安装好需要重启IDEA
 
2) SDK下载配置
file–>ProjectStructure–>global libraries–>点击添加–选择Scala SDK
 
 
 
 
 下载完成之后即可。new Class
 
就可以打印hello world了。
object TestScala {
  def main(args: Array[String]): Unit = {
    println("hello scala")
  }
}
// hello scala
2.基本使用
1)var与val的区别
val和var的区别在于val使变量不可变——就像Java中的final——而var使变量可变.
 
2) .基本数据类型
val b: Byte = 1
val x: Int = 1
val l: Long = 1
val s: Short = 1
val d: Double = 2.0
val f: Float = 3.0
val c:Char='A'
var str:String="ACSDFS"
3).字符串的基本用法
object TestString {
  def main(args: Array[String]): Unit = {
    val str1="hello"
    var str2="world"
    //拼接字符串
     //第一种拼接
    println(str1+" "+str2)
    println("--------第二种拼接--------")
    println(s"$str1 $str2")
  }
}
4) 控制结构
1) if else
def main(args: Array[String]): Unit = {
    val a=3
    if (a < 0 ) {
     println(s"$a < 0")
    } else if ( a == 0) {
      println(s"$a = 0")
    } else {
      println(s"$a > 0")
    }
  }
2) for 循环
  val nums = Seq(1,2,3)
  println("------for循环-----------")
  for (n <- nums) println(n)
  println("------foreach-----------")
  nums.foreach(println)
3) while循环
def main(args: Array[String]): Unit = {
   var a = 0
   while(a < 10){
      println(a)
      //a++ 没有java中的这种写法
      a+=1
   }
}
5)类
// the primary constructor
    class Pizza (var crustSize: Int, var crustType: String) {
      //一个参数构造
      def this(crustSize: Int) = {
        this(crustSize, DefaultCrustType)
      }
      // 一个参数构造器
      def this(crustType: String) = {
        this(DefaultCrustSize, crustType)
      }
      // 无参构造器
      def this() = {
        this(DefaultCrustSize, DefaultCrustType)
      }
      def printPizzaInfo(): Unit ={
        println(s"pizza $DefaultCrustSize $DefaultCrustType")
      }
    }
6) 函数
def main(args: Array[String]): Unit = {
   println("-----无参函数----")
   printMsg()
  println("-----参数函数----")
  println(add(1,2))
   println("-----参数函数----")
   println(sum(1,2,3))
  def printMsg(): Unit ={
    println("function print")
  }
   def add(a:Int,b:Int): Int ={
     return a+b
   }
  //可变参数
  def sum(args: Int*) = {
    var result = 0
    for(arg <- args) result += arg
    result
  }
}
}
其他的语法下篇讲解。



















