Scala学习总结和练习之一

1、在Scala REPL(read->evaluateion->print->loop)中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相差多少?

def main(args: Array[String]): Unit = {

  var a:Int = 3;
  var b:Double = scala.math.sqrt(a);
  var c:Double = b*b;

  println(c-a)
}

提示:scala.math 找相应的方法

2、Scala语言的sdk是什么?
sdk是编译,调试scala的工具包
3、Scala环境变量配置及其作用。
将软件包的路径名配置到系统环境变量即可
为了方便系统在任何位置都可以定位到Scala软件
4、Scala程序的编写、编译、运行步骤是什么? 能否一步执行?
1)将 Scala 代码编写到扩展名为 Hello.scala 的文件中。
[ 说明: 比如将源码在目录 d:/scalademo下 ]
2)通过 scalac 命令对该 scala 文件进行编译,生成 .class 文件。[和javac类似]
3)命令行下 执行 scala Hello 就可以看到运行效果。
4)注意:scala Hello.scala 命令可以直接运行 Hello.scala 程序 [内部也会有编译和运行过程]

5、Scala程序编写的规则。

//对scala的基本的程序结构说明
//1. object 是一个关键字,表示一个伴生对象
//2. 如果该文件只出现了一个object HelloScala 就会在编译后两个.class文件
//3. 第一个文件是HelloScala.class 这个表示他的伴生类,但是空的.
//4. 第2个文件是HelloScala$.class 对应的是object HelloScala,但是本质是调用它对应的一个静态属性 MODULE$
//5. 这两个文件的关系和main函数的入口关系一会分析
object HelloScala {
	// 1. def 表示一个方法或者一个函数
	// 2. main 表示入口
	// 3. args: Array[String] 表示形参,args 是形参名 Array[String] 是形参类型表示一个Array数组
	// 4. :Unit  表示返回值类型为 Unit ,等价于java 的void
	// 5. = 表示 后面写的是函数体/方法体, 它还有返回值类型推导的作用
	def main(args: Array[String]):Unit = {
	       // 表示是 输出, 类似System.out.println("hello, scala世界!")
	       // 在scala 语句后,不需要带; //体现简洁
		println("hello, scala世界!")
	}
}

6、简述:在配置环境、编译、运行各个步骤中常见的错误
有错再加
7、如何检测一个变量是val还是var?
val修饰的变量不可改变 var修饰的变量可变
8、Scala允许你用数字去乘一个字符串,去REPL中试一下"crazy"*3。这个操作做什么?在Scaladoc中如何找到这个操作?
结果:crazycrazycrazy crazy自行打印了三遍
9、10 max 2的含义是什么?max方法定义在哪个类中?
比较10与2的大小 scala.collection.immutable.Range

10、用BigInt计算2的1024次方

var a:BigInt = 2;
var b = a.pow(1024)
println(b)

提示:在BigInt 找相应的方法

11、在Scala中如何获取字符串“Hello”的首字符和尾字符?

提示: 在String中找相应的方法

var a:String = "Hello";
var b:Char = a.charAt(0);
var c:Char = a.charAt(4);

println(b+" "+c)

猜你喜欢

转载自blog.csdn.net/smsmtiger/article/details/84614237