标签:double yield scala 基本数据 har str 代码 java 类型
一、Scala程序的开始->HelloScala
这里的操作如同java的helloworld程序,直接放代码!
object HelloScala{ def main(args:Array[String]){ println("HelloScala") } }
在命令行操作中输入命令:
scalac HelloScala.scala
scala HelloScala
二、Scala的数据类型
Scala与java相同,有八种基本数据类型:
Byte/Char/Short/Int/Long/Float/Double/Boolean
还有Unit类型(与java中void相似),表示无值,主要用于不返回任何结果的结果类型
注意:Scala中没有包装类
三、Scala定义变量
两个关键字:val、var
val:定义的变量值是不可变的
var:定义的变量值是可变的
eg. val a:Long = 1 var b:String = "我很帅"
注意:Scala编译器会自动的推断数据类型!!
eg. val a = 1 (a自动为Int类型)
var s = "you are ugly" (s自动为String类型)
val h = println("cool") (h自动为Unit类型)
四、条件表达式(一下命令都是在windows命令行操作中运行的)
if语句:
val x = 2
val y = if(x>0) 1 esle 2
val m = if(x<0) -1 if(x>1) 1 else 0
混合类型:
val z = if(x>0) "true" else 1
输出语句为: z:Any = "true"
注意:Any相当于Java中的object基类,它包含Anyval和AnyRef
Anyval:包含scala所有类型、AnyRef:包含Scala clsaaes与Java classes
五、块表达式
相当于java中的程序快,在Scala中用{}包裹的一些列表达式及块表达式,块中最后一个表达式的值就是块的值。
可以在idea中创建Scala工程展示
sbt版本:1.1.0 scala版本:2.11.8
创建Scala类注意,kind类型选择object
六、循环(一下是在Windows命令行操作中运行,其中”<-“相当于java中for循环变量的意思)
val rs = 1 to 10 //Scala会创建一个包含从1到10的10个元素的数组rs
for (x <- rs) println(x) //便利数组rs,并输出每个元素
val arr = Array(1,3,5) //创建不可变数组arr,包含1,3,5三个元素
for (i <- arr) println(i) //便利数组arr并输出每个元素
高级for循环:
for(i <- 1 to 5 ;j <- 1 to 10 if i != j) print((10 * i + j) + " ")
for(i <- 1 to 10) yield i*10 //关键字yield:生成一个新的集合
val ab = for(i <- 1 to 10;if(i % 2 == 0)) yeild i
注意:1 to 10 同 1.to(10) 表达的意思是一样的,to是一个方法,在Scala中可以省略“.”
1.to(10).map(_*100) //创建一个元素为1到10的集合并将每个元素都乘以100
map:取出元素 _:代表集合中的元素
七、运算符
在Scala中,+、-、*、/、%的作用和Java中是一样的,但特别的是他们都是方法
eg. 1 + 2 和 1.+(2) 的结果是一样的
object ScalaDemo2{ def mian(args:Array[String]):unit={ println(m1(1,6)) println(m2(3,6)) } def m1(a:Int,b:Int):Int={ a+b } def m2(a:Int,b:Int):Int=a*b }
标签:double yield scala 基本数据 har str 代码 java 类型
原文地址:https://www.cnblogs.com/HelloBigTable/p/10226294.html