scala 基本语句-流程控制与函数定义、异常处理
2015-07-12 22:18
429 查看
表达式
//表达式 var file="scala.txt" if(!args.isEmpty)file=args(0) //val file=if(!args.isEmpty) args(0) else "Spark.xml" println(file) //println(if(!args.isEmpty) args(0) else "hello scala")
以上三种方式均可输出:scala.txt
for循环
//for循环 for(i<-1 to 10){ println("Number is :"+i) } /* for(i<-1.to(10)){ println("Number is :"+i) }*/
for(i<-1 to 10)与for(i<-1.to(10))的效果是一样的
to是1的一个方法
查找当前目录下的所有文件
//找当前目录下所有文件 val files=(new File(".")).listFiles() for(file<- files){ println(file) }
函数(方法)定义与调用
package kmust.hjr.learningScala02 import java.io.File /** * Created by Administrator on 2015/7/12. */ object scalaBasics { def main(args:Array[String]): Unit ={ println("易者悠也") doWhile() } } /* * doWhile()方法定义 */ def doWhile(){ var line="" do{ line=readLine() println("Read:"+line) }while(line!="") }
注:方法的定义在main()函数之前之后均可
/* *looper()方法定义 */ def looper(x:Long,y:Long):Long={ var a=x var b=y while(a!=0){ val temp=a a=b%a b=temp } b }
def main(args:Array[String]): Unit ={ println("易者悠也") //doWhile() println(looper(100,298)) }
异常处理
val n=99 try{ val half = if(n%2==0)n/2 else throw new RuntimeException("N must be event !") }catch { case e : Exception=>println("This exception is :"+e.getMessage()) }finally { }
也是使用的try-catch,不同的是catch里面使用的case来分类别显示异常
scalaBasics 的完整代码
package kmust.hjr.learningScala02
import java.io.File
/**
* Created by Administrator on 2015/7/12.
*/
object scalaBasics {
def main(args:Array[String]): Unit ={
println("易者悠也")
//doWhile()
//println(looper(100,298))
//表达式
// var file="scala.txt"
// if(!args.isEmpty)file=args(0)
//val file=if(!args.isEmpty) args(0) else "Spark.xml"
// println(file)
//println(if(!args.isEmpty) args(0) else "hello scala")
/* //for循环
for(i<-1 to 10){
println("Number is :"+i)
}
for(i<-1.to)){
println("Number is :"+i)
}*/
/*//找当前目录下所有文件 val files=(new File(".")).listFiles() for(file<- files){ println(file) }*/
/* var line=""
do{
line=readLine()
println("Read:"+line)
}while(line!="")*/
val n=99
//val file="Scala.txt"
//openFile(file)
try{
val half = if(n%2==0)n/2 else throw
new RuntimeException("N must be event !")
//Use the file
}catch {
case e : Exception=>println("This exception is :"+e.getMessage())
}finally {
//close(file)
}
}
/*
* doWhile()方法定义
*/
def doWhile(){
var line=""
do{
line=readLine()
println("Read:"+line)
}while(line!="")
}
/*
*looper()方法定义
*/
def looper(x:Long,y:Long):Long={
var a=x
var b=y
while(a!=0){
val temp=a
a=b%a
b=temp
}
b
}
}
相关文章推荐
- java中的反射机制
- 工业串口和网络软件通讯平台(SuperIO 2.1)更新发布
- [JavaWeb基础] 008.Spring初步配置
- 黑马程序员 集合类 2 泛型
- 【JavaScript】--JavaScript总结一览无余
- 深入理解Android事件分发机制
- Arbitrage - poj 2240 (Bellman-ford)
- Android中使用Handler造成内存泄露的分析和解决
- Unity5.1 新的网络引擎UNET(六) UNET Multiplayer Lobby
- Java之final的解析
- 文章标题
- AS 中配置强大的版本管理系统(Git、SVN、等)
- 剑指offer《面试题6:重建二叉树》
- Android4.4.2从内核logo到init logo到动态logo的分析及定制
- Swift 学习之路(一)
- 1083: [SCOI2005]繁忙的都市
- 27.跳台阶问题
- Unity5.1 新的网络引擎UNET(五) UNET Network Messages
- jdbcType与javaType的对应关系
- 如何写出优雅的Python之设置class缺省值