当前位置: 首页 > article >正文

Scala语言入门以及基本语法

文章目录

  • 前言
  • 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
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
download
下载完成之后即可。new Class
Scala 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
  }
}
}

其他的语法下篇讲解。


http://www.kler.cn/a/15794.html

相关文章:

  • leetcode 扫描线专题 06-leetcode.253 meeting room ii 力扣.253 会议室 II
  • go环境搭建
  • C++初阶——日期类的实现
  • nginx源码安装配置ssl域名
  • 高级计算机算法的8道题(贪心、动态规划)
  • React Hooks 深度解析与实战
  • 【Java入门合集】第二章Java语言基础(一)
  • 简单认识 Postman界面操作
  • 千耘导航让普通棉农享受到科技红利
  • 多维评测指标解读2022MSU世界编码器大赛结果
  • 考研拓展:汇编基础
  • Python 多线程实例
  • 「SQL面试题库」 No_53 项目员工II
  • web小游戏开发:华容道(一)
  • WordPress切换为经典编辑器可视化/文本切换不显示解决方法
  • 入参校验产品化 schema
  • SQL server 数据库同步(发布与订阅)【解决办法】
  • 即时通讯独立系统源码包含Android 、iOS、PC
  • RabbitMQ笔记
  • Mysql 日志
  • 【教程分享】一键部署MySQL,轻松搞定Docker安装和配置!
  • 2023有潜力的新药都有哪些?新药筛选方法总结
  • VP记录:Codeforces Round 867 (Div. 3) A~G2
  • GeoTools实战指南: 一步步教您轻松实现Shapefile矢量图层可视化
  • 使用Git和GitHub完成团队项目开发
  • 【python基础语法三】列表,元组,集合,字典相关操作