Scala语言入门以及基本语法

简介: Scala语言入门以及基本语法

文章目录

前言

scala在一种简洁的高级语言中结合了面向对象和函数式编程。Scala的静态类型有助于避免复杂应用程序中的错误,它的JVM和JavaScript运行时使您可以构建高性能系统,并轻松访问庞大的库生态系统。

几大特性

  • Scala运行在JVM上,因此Java和Scala实现完全无缝集成。
  • 类型推理。
  • 并发与分布式。
  • 将java风格接口的灵活性与类的强大功能结合起来。
  • 模式匹配
  • 高阶函数
  • 非常适合初学者和高级软件开发。

1.环境搭建

环境搭建很简单,现在都是在IDEA中集成插件,添加SDK即可快速开发。

1) IDEA中插件下载

file-->settings-->plugins,搜索scala下载安装即可,安装好需要重启IDEA

fdea4f6902a04773a08da9bf97994ef8.png




c58024a17ef24c1c901118551ff6a2f5.png


2) SDK下载配置

file–>ProjectStructure–>global libraries–>点击添加–选择Scala SDK

f7a17afc79424170a7d4aba9d82d642d.png


2a3254e533e446c1a542e5f7d65131a7.png


2dc50918e46e4abbaaf00a1395617f40.png

1c69906d417d42579c1a406201677e7c.png

下载完成之后即可。new Class

c9dd9ed296154c398664952c52be3465.png

就可以打印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使变量可变.


abb34d3c543e4501aa28cbdfc79bbb9c.png

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

 }

}

}

其他的语法下篇讲解

相关文章
|
4月前
|
分布式计算 Java Hadoop
Scala入门必刷的100道练习题(附答案)
Scala入门必刷的100道练习题(附答案)
311 1
|
4月前
|
Java 大数据 Scala
Scala入门【运算符和流程控制】
Scala入门【运算符和流程控制】
|
4月前
|
Java Shell API
Scala入门【变量和数据类型】
Scala入门【变量和数据类型】
|
6月前
|
安全 Java 编译器
Scala语言入门:初学者的基础语法指南
作为一种在Java虚拟机(JVM)上运行的静态类型编程语言,Scala结合了面向对象和函数式编程的特性,使它既有强大的表达力又具备优秀的型态控制
27 0
|
分布式计算 Java 程序员
spark开发基础之从Scala符号入门Scala
spark开发基础之从Scala符号入门Scala
137 0
spark开发基础之从Scala符号入门Scala
|
Java 编译器 Scala
Scala基本语法
Scala基本语法
Scala基本语法
|
开发框架 IDE Java
体验 Scala 语言的 Play Web 框架
体验 Scala 语言的 Play Web 框架
体验 Scala 语言的 Play Web 框架
|
SQL 存储 NoSQL
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
198 0
|
SQL 存储 NoSQL
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
基于JVM的开源数据处理语言主要有Kotlin、Scala、SPL,下面对三者进行多方面的横向比较,从中找出开发效率最高的数据处理语言。本文的适用场景设定为项目开发中常见的数据处理和业务逻辑,以结构化数据为主,大数据和高性能不作为重点,也不涉及消息流、科学计算等特殊场景。......
192 0
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
|
开发框架 分布式计算 Java
十分钟带汝入门大数据开发语言Scala
Scala是一门多范式的编程语言,一种类似Java的编程语言 ,设计初衷是实现可伸缩的语言 、并集成面向对象编程和函数式编程的各种特性。目前最主流的大数据开发框架Spark的实现就是通过Scala去实现的。Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码),也可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。
十分钟带汝入门大数据开发语言Scala