scala 学习第三天

packagecom.learn.scala

importscala.util.control.Breaks._

/**

* scala 第三天

* Created by zhuqing on 2017/2/22.

*/

objectDay3 {

defmain(args: Array[String]): Unit = {

/**

* scala的if else 与java中的类似 ,但不同的是scala的有返回值(最后一个表达式的返回值)

*/

valcondition: Int =1;

vara =if(condition ==1) {

"hello"

"world"

}else{

100

}

println(a);//打印world

/**

* 没有可以执行的表达式时,返回Unit(类似Java的void)

*/

varb =if(condition !=1) {

"hello"

}

println(b)//打印()

/**

* {}语句块与Java类似, 但是可以有返回值

*/

varc = {

"hello"

100

"I love you"

}

println(c)//打印I love you

/**

* scala 循环,for

*/

varsum =0

//i 变量,1 to 10 返回Rang

for(i <-1to10) {

sum += i

}

println(sum);//打印1到10的和

/**

*  for 没有break,如果想用需要使用breakable,需要时先导入import scala.util.control.Breaks._

*/

sum =0

for(i <-1to10) {

breakable {

if(i ==6) {

break;

}

sum += i

}

}

println(sum)//1到5的和

/**

* for 的嵌套 不像Java的for循环嵌套需要写多个for,而是在一个for循环内用分号隔开多个遍历。

*/

//for两层嵌套

for(i <-1to3; j <-1to3){

print("("+i+","+j+") ")

}

println()

//打印//(1,1) (1,2) (1,3) (2,1) (2,2) (2,3) (3,1) (3,2) (3,3)

//for三层嵌套

for(i <-1to3; j <-1to3;m <-1to3){

print("("+i+","+j+","+m+") ")

}

println()

/**

* for循环的守卫

*/

//if 判断为TRUE 时执行

for(i <-1to10ifi %2==0){

print(i +" ")//打印2 4 6 8 10

}

println()

/**

* for循环 ,yield 生成新的集合 , yield 后面加单条语句,或语句块

*/

valvector =for(i <-1to10ifi %2==0)yield{

vara = i*2

a+"MB"

}

println(vector)//Vector(4MB, 8MB, 12MB, 16MB, 20MB)

/**

* while  和 do ...while循环与java的类似

*/

varn =0

while(n<10){

print(n+" ")

n+=1

}

//打印0 1 2 3 4 5 6 7 8 9

println()

n=0

do{

print(n+" ")

n+=1

}while(n<10)

//打印0 1 2 3 4 5 6 7 8 9

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容