一、Scala介绍
Object-Oriented Meets Functional
Java:面向对象语言
C、JS语言:是函数编程,函数不需要放到类中
Scala语言继承了JAVA、C语言的2个优点。
Scala语言既能做大型项目开发,也能做数据分析
对象(类)和函数都是一等公民,都能独立的存在和运行。
建立在JVM之上的一门语言
大数据中Scala语言编写了两大框架spark和kafka.
二、loop(循环的定义)
1.for循环的定义
object forDemo {
def main(args: Array[String]): Unit = {
//循环表达式,判断偶数
val arr =1 to 10 //相当于数组
//使用for循环、遍历元素
for(index<-arr){
println(s"index:$index")
}
//使用for循环、遍历元素,只需要偶数
//for循环,if条件守卫判断
for(index <- arr if index%2==0){
print(s"index:$index")
}
for(index<- arr if index%2==0)println(s"index:$index")
//打印九九乘法表
//使用嵌套循环
for(i <- 1 to 9 ){
for(j <- 1 to i ){
print(s"${i * j} ")
}
println()
}
//todo:scala中不建议使用嵌套循环
for (i<- 1 to 9;j<-1 to i){
print(s"${i * j} ")
if(j==1) println()
}
for{
i<- 1 to 9 //外层循环
j<- 1 to i //内层循环
}{
print(s"${i * j} ")
if(j==1) println()
}
println()
val names = Array("www.baidu"," ","www.google.com"," ","www.huadian.com",
" ")
for{
name<- names
tmpName = name.trim()
if tmpName.length >0
}{
println(tmpName)
}
//todo:基于已有的集合,产生一个新的集合,在遍历的时候完成
var result: immutable.Seq[Int] = for(index <- arr if index%2==0) yield {
index *index
}
println(result)
}
2.while循环的定义
object whileDemo {
def main(args: Array[String]): Unit = {
//定义一个数组
val arr:Array[Int] = Array(1,2,3,4,5,6,7,8)
//遍历数组
var index = 0
while (index < arr.length){
println(s"index=$index,value=${arr(index)}")
index +=1
}
}
}
3.break 的定义,这里的break有别于Java中的break
object BreakDemo {
def main(args: Array[String]): Unit = {
val arr:Array[Int] =Array(1,2,3,4,5,6,7,8)
//遍历数组
var index = 0;
val loop = new Breaks();
loop.breakable{
while (index < arr.length){
println(s"index=$index,value=${arr(index)}")
//todo:当初index=5的手,停止遍历
if(index==5)loop.break()
index +=1
}
}
}
}
以上就是Scala语言的循环的定义