Scala学习(二)程序控制语句
来源:互联网 发布:淘宝店铺运营外包 编辑:程序博客网 时间:2024/05/16 10:50
Scala的基本数据类型与java中的基本数据类型一一对应,不同的是Scala的基本数据类型头字母必须大写。
表达式(expression)和语句(statement)。表达式有值,而语句没有值只执行操作。
程序控制结构
if的使用:
val x=if(“hello”==”hell”) 1 else 0
while的使用:
def gcdLoop(x: Long, y: Long): Long = { var a = x var b = y while (a != 0) { val temp = a a = b % a b = temp } b}
do while的使用:
var line = ""do { line = readLine() println("Read: "+ line)} while (line != "")
for循环的使用:
scala> val filesHere = (new java.io.File(".")).listFiles//集合操作方式scala> for (file <- filesHere) | println(file)//间接调用方式(不常用)for (i <- 0 to filesHere.length - 1)println(filesHere(i))
//程序中的<-被称为生成器,在执行过程中,集合filesHere中(Array[File])的元素将依次赋给file,file类型为File,打印时调用其toString方法将文件名称打印出来。
在for循环结构中还可以加入if进行过滤操作
val filesHere = (new java.io.File(".")).listFilesfor (file <- filesHere if file.getName.endsWith(".scala"))println(file)//还可以加入多个过滤条件,用;隔开for (file <- filesHereif file.isFile;if file.getName.endsWith(".scala")) println(file)
//多重循环的实现:
def fileLines(file: java.io.File) =scala.io.Source.fromFile(file).getLines.toListdef grep(pattern: String) =for ( file <- filesHere if file.getName.endsWith(".scala"); line <- fileLines(file) if line.trim.matches(pattern) ) println(file +": "+ line.trim) grep(".*gcd.*")//前一个for相当于下列语句def grep(pattern: String) =for ( file <- filesHere if file.getName.endsWith(".scala")) for( line <- fileLines(file) if line.trim.matches(pattern) ) println(file +": "+ line.trim) grep(".*gcd.*")
参考博客:http://blog.csdn.net/lovehuangjiaju/article/details/46953423
阅读全文
0 0
- Scala学习(二)程序控制语句
- Scala学习(3)|—程序控制结构
- Scala入门学习笔记二-基本数据类型、程序控制结构
- scala学习笔记(二) 控制语句
- [Matlab]基础教程学习笔记(二):程序控制结构
- Scala学习二:If 控制语句
- scala学习(二)
- scala学习(二)
- 程序控制语句
- 程序控制语句
- JAVA学习模块二:程序控制流程
- scala程序控制结构
- SCALA学习笔记(二)
- scala学习笔记(二)
- scala学习笔记(二)
- scala 学习笔记(二)
- Scala 学习(二)--- 数组
- Scala学习笔记(二)
- eclipse如何配置tomcat,通过eclipse项目部署到Tomcat服务器上
- 反向表达式求值
- 《PPT高手之路》学习1
- CALayer
- HDU
- Scala学习(二)程序控制语句
- IT和CT融合发展为智慧城市发展提供关键技术支撑
- Eclipse的Servers视图中无法添加Tomcat6/Tomcat7
- 234. Palindrome Linked List回文链表
- Eclipse 创建第一个c++项目
- 什么是长尾关键词?
- [OpenGL] 制作一个有旋转动画的按钮
- 参数估计
- LeetCode 2.Add Two Numbers,67.Add Binary,371.Sum of Two Integers,66.Plus One