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

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=3if (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 = 0while(a < 10){println(a)//a++ 没有java中的这种写法a+=1}
}

5)类

// the primary constructorclass 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 = 0for(arg <- args) result += argresult}
}
}

其他的语法下篇讲解。

http://www.lryc.cn/news/63479.html

相关文章:

  • Linux shell编程 循环语句for continue break
  • leetcode 643. 子数组最大平均数 I
  • TDA4VM/VH 芯片硬件 mailbox
  • 如何利用Trimble RealWorks三维激光扫描仪进行外业测量和内业处理?
  • mysql数据备份
  • 排队接水--贪心
  • 数字温度传感器-DS18B20
  • 【算法】【算法杂谈】从M个数中等概率的选出n个数,保证每一个数的选中概率都是n/m(蓄水池算法)
  • vue3+ts+vite自适应项目——路由、layout布局
  • 数据库之约束、索引和事务
  • centos --libreoffice使用
  • Steam-V Rising 私人服务器架设教程
  • SpringBoot+Vue3实现登录验证码功能
  • spring2:创建和使用
  • 前端如何处理后端一次性传来的10w条数据?
  • Codeforces Round 867 (Div. 3)(A-G2)
  • 蓝奥声核心技术分享——一种无线低功耗配置技术
  • kafka集群模拟单节点故障
  • 笔记:vue-cli-service
  • Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)
  • ChatGPT技术原理 第六章:对话生成技术
  • 【C++ 八】写文件、读文件
  • 【学习笔记】CF613E Puzzle Lover
  • 软考报名资格审核要多久?证明材料要哪些?
  • 2023-04-27 polardbx-LSM-tree的Parallel Recovery性能优化
  • 创作纪念日让 AI 与我共同记录下今天 — 【第五周年、1460天】
  • 枚举法计算24点游戏
  • @Cacheable注解
  • CentOS分区挂载 fdisk、parted方式解析
  • BuildKit