1.scala约定
在scala中认为多敲击一下键盘是浪费,所以一行结束没有分号,但是有也是可以的。
2.函数定义、控制流程、异常处理
package
com.jn.scala.hello
import
java.io.File
/**
* @author jn
*/
object
FunctionDemo
{
//1.没有参数的函数定义与调用
def
doWhile
(){
//没有参数的一个函数,定义一个函数用 def声明
var
line
=
""
//定义一个变量用 var,类似于 javascript
do
{
line
=
readLine
()
println
(
"read : "
+
line
)
}
while
(
line
!=
""
)
}
// 带参数有返回值的函数
def
looper
(
x
:Long,
y
:Long):Long={
var
a
=
x
var
b
=
y
while
(
a
!=
0
){
var
tmp
=
a
a
=
b
%
a
b
=
tmp
}
b
}
//8.静态块,见前面的,没有在方法中的代码进行运行
// var line = ""
// do{
// println("Please input some words blow ...")
// line = readLine()
// println("Read:"+line)
// }while(line != "")
def
main
(
args
: Array[
String
]):Unit={
// 1. println("This is spark")
// 2.没有参数的函数调用
// doWhile
// doWhile()//没有参数一般不写括号。
// 3.带参数有返回值的函数的调用
// println(looper(100,298))
// 4.流程控制
// var file = "scala.txt"
// if(!args.isEmpty)
// file = args(0)
// println(file)
// 5.三元运算符
// println(if(!args.isEmpty) args(0) else "scala.txt")
// 6.for循环
// for(i <- 1 to 10)
// println(i)
// for(i <- 1.to(10))
// println(i)
// 7.for增强for循环
// var files = (new File(".")).list()
// for(file <- files)
// println(file)
// 8.静态块,见前面的,没有在方法中的代码进行运行
// 9.异常处理,处理异常的时候,case可以写多个,可以对具体异常写不同的处理方式
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
(
"The exception is :"
+
e
.
getMessage
())
}
}
}