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

 }

}

}

其他的语法下篇讲解

相关文章
|
5月前
|
分布式计算 Java Hadoop
Scala入门必刷的100道练习题(附答案)
Scala入门必刷的100道练习题(附答案)
593 1
|
5月前
|
Java 大数据 Scala
Scala入门【运算符和流程控制】
Scala入门【运算符和流程控制】
|
2月前
|
监控 安全 Java
Scala 语言助力局域网监控电脑屏幕软件的创新
在数字化办公时代,局域网监控软件对企业和信息安全至关重要。Scala语言融合了面向对象与函数式编程,其简洁的语法和强大的类型系统为这类软件的开发提供了新机遇。利用Scala的函数式编程特性,开发者能编写更简洁、易维护的代码;结合Java的丰富类库,实现高效网络通信;Scala的并发模型还能优化多线程处理,提升监控效率。这些特点使Scala成为开发智能且高效的局域网监控软件的理想选择。
20 0
|
2月前
|
分布式计算 大数据 Java
Scala 入门指南:从零开始的大数据开发
Scala 入门指南:从零开始的大数据开发
|
3月前
|
分布式计算 大数据 Java
大数据开发语言Scala入门
大数据开发语言Scala入门
|
3月前
|
IDE 大数据 Java
「AIGC」大数据开发语言Scala入门
Scala,融合OOP和FP的多范式语言,在JVM上运行,常用于大数据处理,尤其与Apache Spark配合。要开始学习,安装Scala,选择IDE如IntelliJ。基础包括变量、数据类型、控制结构、函数。Scala支持类、对象、不可变数据结构、模式匹配和强大的并发工具。利用官方文档、教程、社区资源进行学习,并通过实践提升技能。
46 0
|
5月前
|
Java Shell API
Scala入门【变量和数据类型】
Scala入门【变量和数据类型】
|
安全 Java 编译器
Scala语言入门:初学者的基础语法指南
作为一种在Java虚拟机(JVM)上运行的静态类型编程语言,Scala结合了面向对象和函数式编程的特性,使它既有强大的表达力又具备优秀的型态控制
76 0
|
Java Shell Scala
|
存储 Ubuntu Java