scala的基础
scala的基础
scala的安装
-
安装jdk1.8版本以上
-
安装scala
scala下载地址 -
配置scala环境变量
SCALA_HOME=F:\scala PATH=%SCALA_HOME%\bin
-
查看scala配置是否生效
在cmd黑窗口中输入scala -version
会出现scala的版本号,如果没有则表示没有配置成功
-
在idea中安装scala插件
scala的基础知识
scala的基本框架
object Test3 {
//定义主方法
def main(args: Array[String]): Unit = {
}
}
- scala可执行文件是.scala文件
- 运行后的文件是.class文件
- 修饰类用的是object
- Unit代表无返回值,相当于void
scala中的数据类型
scala中没有基本数据类型,都是引用数据类型
Int Byte Short Long Double Float Char Boolean
这8个数据类型,除首字母必须大写,其精度和含义与java中的8大基本数据类型都是一样的
String Unit Null Nothing Any AnyRef
- Unit代表无返回值,相当于void
- Null是空的数据类型()
- Any代表不确定的数据类型
scala定义变量
var 变量名:数据类型=值(数据类型可以省略)
var a:Int = 1
var b = "zhangsan"
scala中一行代码如果只有一个语句,则可以省略“;”,如果有多条语句,则不可以省略
scala定义常量
val 变量名:数据类型=值(数据类型可以省略)
val c:Int = 2
val d = "lisi"
scala的运算符
- 算术运算符 +,-,*,/,%
- 逻辑运算符&&,||,!
- 关系运算符>,<,>=,<=,==,!=
- 赋值运算符=,+=,-=,*=,/=,%=
- 位运算符&,|,^,~,<<,>>
scala中的对象调用方法
scala中所有的数据类型都是类,可以调用其方法
scala中两种调用方法的形式:
var a = 1 + 5
var b = 1.+(5)
注意: 第一种对于参数只有一个的方法有效
scala在线api文档
条件语句
var a = if( 1 > 3 ){ 3 }else { 1 }
println("a="+a)//a=1
var b = if(1 > 3 ){ "张三" }else{ 1 }
println("b="+b)//b=1
var c = if(1 > 3){"张三"}
println("c="+c)//c=()
不管是什么语句,都会有一个返回值,其返回值就是其语句最后一个表达式的值,如果没有则为空()
控制台输入语句
var a = readLine("提示文字")
var b = readInt()
var d = readBoolean()
var f = readChar()
var g = readDouble()
循环语句
-
基本格式:for(变量名 <- 集合或数组){}
for (s <- "hello"){ print(s+"\t") }
-
守卫者模式:for(变量名 <- 集合或数组 if 条件){}
for (i <- 1 to 100 if i % 3 == 0){ print(i+" ") }
-
嵌套循环:for(变量名1 <- 集合或数组;变量名2 <- 集合或数组)
for (row <- 1 to 5;col <- 1 to 11){ print("*") if(col == 11){ println() } }
相当于
for (row <- 1 to 5){ for (col <- 1 to 11){ print("*") } println() }
-
声明多个变量for(变量名 <- 集合或数组; 变量名=值){}
for (i <- 1 to 3; from = 4 - i;j <- from to 3){ print((10*i+j)+" ") }
-
推导式 for()yield
var arr2 = for (i <- 1 to 5)yield { i*2 }
scala练习
- 打印1~100.
- 求1~100的和
- 求1~100能够被3正常且不能被5正常的和 使用守卫者模式来写
- 打印一个九九乘法表
- 输入两个整数求出最大值,并把最大值打印出来