1、scala版本:使用的是2.10.4
2、下载地址:http://www.scala-lang.org/download/all.html
3、下载scala-2.10.4.zip包,解压,
SCALA_HOME=D:\profiles\scala-2.10.4,
path增加%SCALA_HOME%\bin;%SCALA_HOME%\jre\bin
安装完成验证:scala -version
4、idea安装scala插件
settings--plugins--install jetbrains plugins--搜索scala--安装
5、数据类型
image.png
6.1、创建类和对象
在object修饰的代码块中定义的方法,变量,常量都是静态的
object Lesson01 {
def main(args: Array[String]): Unit = {
val name:String = "xinxin"
var age = 18
println(name + "\t"+ age)
var person = new Person
person.sayName()
}
}
//在object修饰的代码块中定义的方法,变量,常量都是静态的
class Person {
val name = "xinxin"
var age = 29
def sayName(): Unit = {
println("xinxin" + "\t" + age)
}
}
6.2、构造函数:带参数,不带参数
object Lesson01 {
def main(args: Array[String]): Unit = {
var person = new Person("baby", 10)
person.sayName()
var person2 = new Person("xiaoming", 30, "m")
println(person2.gender)
}
}
class Person(param1:String, param2:Int) {
val name = param1
var age = param2
def sayName(): Unit = {
println(name + "\t" + age)
}
var gender = "fm"
def this(param1:String, param2:Int, param3:String)={
this(param1, param2)
gender = param3
}
}
6.3、判断语句
val age = 20
if(age <= 18) {
println("aaa")
} else if(age >= 18 && age <20) {
println("bbb");
} else {
println("ccc")
}
6.4、for循环
for(i <- 1 to 10) { //前闭后闭
println(i)
}
for(i <- 1 until 10) { // 前闭后开
println(i)
}
println(1 to 10) //1到10的素组
println(1.to(10)) //相当于调用了1的to方法
println(1.until(10)) // 相当于调用了1的until方法
println(1.to(10, 3)) //起始位置是1,终止位置是10,步长是3 结果:1 4 7 10
println(1.until(10, 3)) //起始位置是1,终止位置是10,步长是3 结果:1 4 7
// 双层for循环打印99乘法表
for(i <- 1 to 9; j <- 1 to i) {
print(i + "*" + j + "=" + (i*j) + "\t")
if(i == j) {
println()
}
}
//带判断语句的for循环,统计1到10内大于6的偶数
for(i <- 1 to 10; if i % 2 == 0; if i > 6) {
println(i)
}
6.5、yield关键字
// yield 符合条件的值放在yield集合里
var list = for(i <- 1 to 10; if i % 2 == 0) yield i
for(elem <- list) {
println(elem)
}
6.6、while,do while循环
// while循环
var i = 1
while(i < 102) {
println("第" + i + "次求婚")
// scala中没有 i++
i += 1
}
// do while循环
i = 0
do {
i += 1
println("第" + i + "次求婚")
} while(i < 101)
网友评论