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

疫情最新数据消息第三波长沙seo网站

疫情最新数据消息第三波,长沙seo网站,做美食网站的优势,偃师网络营销的概念Scala基础 一、Scala基本语法 1.1 Scala的数据类型 数值类型:Byte(8位有符号整数)、Short(16位有符号整数)、Int(32位有符号整数)、Long(64位有符号整数)、Float&…

Scala基础

一、Scala基本语法

1.1 Scala的数据类型

数值类型:Byte(8位有符号整数)、Short(16位有符号整数)、Int(32位有符号整数)、Long(64位有符号整数)、Float(32位单精度浮点数)、Double(64位双精度浮点数)。

字符类型:Char,代表单个16位Unicode字符。

字符串:String,用于存储文本。

布尔类型:Boolean,值为 true 或 false。

Unit表示无值,和其他语言中void等同,用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。

Null是所有AnyRef的子类,null是Null的唯一对象

Any是abstract类,它是Scala类继承结构中最底层的。所有运行环境中的Scala类都是直接或间接继承自Any这个类。

Nothing是所有类的子类,是一个类。Nothing没有对象,但是可以用来定义类型。

scala> def foo = throw new RuntimeException

foo: Nothing

AnyRef是所有引用类型的基类。

AnyVal 所有值类型的基类。

 

1.2 变量的定义

强类型语言:Java,需显式声明类型。

弱类型语言:JS、Scala,类型推断自动完成。

 var 和 val : var 定义变量, val 定义常量(类似Java的 final )。

object VariableDefinitionExample extends App {

  // 定义一个变量

  var mutableVariable: Int = 10

  println(s"Initial value of mutableVariable: $mutableVariable")

 

  // 修改变量的值

  mutableVariable = 20

  println(s"Updated value of mutableVariable: $mutableVariable")

 

  // 定义一个常量

  val immutableVariable: String = "Hello Scala"

  println(s"Value of immutableVariable: $immutableVariable")

1.3 操作符

算术操作符:如+、-、*、/、%等,以及&、|、^、>>、<<等。与Java相似。

特殊操作:如 ++ 、 -- Scala中不支持,需用 += 、 -= 替代。

比如num = 1,num ++是错误的,必须写做num += 1。

1.4 字符串的插值

三个字符串插值器: 

s 在字符串前加可以直接使用变量

②f 除了不指定格式其他和s功能一样,使用%可以在变量后指定输出格式

③raw 除了字面值中的字符不做编码外其他功能和S插值器一样 

scala> var name = "jeary"

name: String = jeary

 

scala> var src = s"hello${name}"

src: String = hellojeary

 

scala> val name1 = "jeary"

name1: String = jeary

 

scala> val name2 = "tom"

name2: String = tom

 

scala> println(s"hello,${name1 +","+name2}!")

hello,jeary,tom!

 

1.5 条件表达式

If、If Else(单分支):支持多分支条件表达式,每个表达式都有返回值、If else if else(多分支)

val x = 1

val y = if (x > 0) 1 else -1

println("y=" + y)

 

val z = if (x > 1) 1 else "error"

println("z=" + z)

val m = if (x > 2) 1

println("m=" + m)

val n = if (x > 2) 1 else ()

println("n=" + n)

scala> val y = if(1>1) 1 else "error"

y: Any = error

scala> val y = if(x>1) 1

y: AnyVal = ()

1.6 类型转换

类型转换:如 toInt 、 toDouble 等,支持字符串转数值类型。

val num = "11"

val num_int = num.toInt

println(num_int+22)

1.7循环语句

①for循环

For循环:支持 to 和 until ,用于遍历集合。

scala>for (i <- 1 to 10) println(i)

打印1到10

scala> 1 to 10

res6: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

scala>for (i <- 1 until 10) println(i)

打印1到9

//包含开头不包含结尾

 

scala> 1 until 10

res0: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)

遍历字符串:

相当于java中的fore

scala> val str = "hello"

str: String = hello

scala> for(c <- str) println(c)

h

e

l

l

o

通过下标遍历字符串:

scala> for (i <- 0 until str.length) println(str.charAt(i))

h

e

l

l

o

遍历数组:

scala> val arr = Array(1,2,3,4,5,6)

arr: Array[Int] = Array(1, 2, 3, 4, 5, 6)

scala> for(a <- arr) println(a)

1

2

3

4

5

6

通过下标遍历数组:

scala> for(i <- 0 until arr.length) println(arr(i))

1

2

3

4

5

6

双重循环:

输出个位数与十位数不相同的两位数(个位、十位数均从1-3取值)

scala> for(i <- 1 to 3;j <- 1 to 3 if i != j) println(i*10+j)

12

13

21

23

31

32

数组操作:

对数组中的每个数乘以10,生成一个新数组:

scala> val arr = Array(1,2,3,4,5,6)

arr: Array[Int] = Array(1, 2, 3, 4, 5, 6)

for(i<- arr)println(i*10)

for(i<- 0 until arr.length)println(arr(i)*10)

更简单的方法:

scala> for (i <- arr) yield i*10

res4: Array[Int] = Array(10, 20, 30, 40, 50, 60)

for 循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。Scala 中 for 循环是有返回值的。如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List,以此类推。

scala> arr.map(_ * 10)

res8: Array[Int] = Array(10, 20, 30, 40, 50, 60)

 

scala> arr.map(x => x *10)

res9: Array[Int] = Array(10, 20, 30, 40, 50, 60)

把数组中的偶数取出来乘以100得到一个新的数组

for(i<- arr if i%2 ==0)println(i*100)

for(i<- 0 until arr.length if arr(i)%2==0)println(arr(i)*100)

更简单的方法:

scala> for (i <- arr if i%2==0) yield i*100

res11: Array[Int] = Array(200, 400, 600)

scala> arr.filter(m => m%2==0).map(n => n*100)

res12: Array[Int] = Array(200, 400, 600)

 

 

②while循环

While和Do-While:与Java语法相似, do-while 至少执行一次。

var n = 10

while(n > 0) { 

println(n)

n -= 1

}

③do while循环

至少被执行一次。

var n =1

do{

  println(n)

  n+=2

}while(n<10)

1.8操作符重载

在scala里面没有运算符,所有的符号其实都是方法。

scala> val a = 1.+(2)

a: Int = 3

相当于是,1这个实例调用+方法,传入了一个参数2

定义一个+方法:

scala> def +(x : Int,y : Int):Int = { x + y }

$plus: (x: Int, y: Int)Int

scala> $plus(10,30)

res8: Int = 40

 

http://www.dtcms.com/wzjs/248343.html

相关文章:

  • 做直播网站软件有哪些软件有哪些b站推广引流最佳方法
  • 一个人建设小型网站新东方在线网上课程
  • 西安做网站建设的公司西安外包网络推广
  • 单位网站建设情况总结重庆网站制作
  • 网站建设与管理教学视频教程我是seo关键词
  • 专门做讲座的英语网站竞价推广遇到恶意点击怎么办
  • 怎么做淘宝网站赚钱吗石家庄网络seo推广
  • 淘宝客 网站建设不完整58精准推广点击器
  • 微网站和手机站区别网络销售网站
  • 网站建设的团队分工如何自己建一个网站
  • 北京直销网站开发公司中国最大网站排名
  • 网站设计发展趋势重庆seo优化推广
  • 长沙的企业网站建设免费b2b推广网站
  • 河北 建设厅网站首页下载百度app最新版
  • 大连网站建设讯息互联网优化
  • 做门户网站预算北京网络推广有哪些公司
  • iis如何设置服务器上网站空间大小淘宝关键词优化软件
  • asp.net网站开发与应用福州seo外包公司
  • 优秀的定制网站建设制作商宁德市属于哪个省
  • 手机版网站版面设计怎么做南宁百度seo排名优化
  • 银川网站建设一条龙服务免费的网页设计成品下载
  • 专业软件网站建设泉州seo网站排名
  • 一级做爰片a视频网站厦门seo排名优化方式
  • 凡科做网站在百度能看见吗长春百度推广电话
  • 那里可以免费做网站苏州seo关键词优化软件
  • 站长工具排名查询360网站排名优化
  • 做餐饮的网站营销软文范例大全300字
  • 网站建设网站搭建今日军事头条
  • web网站开发学习销售人员培训课程有哪些
  • 电商新品营销推广方案河南seo