scala的基础

scala的安装

  • 安装jdk1.8版本以上

  • 安装scala
    scala下载地址

  • 配置scala环境变量

    SCALA_HOME=F:\scala
    PATH=%SCALA_HOME%\bin
    
  • 查看scala配置是否生效
    在cmd黑窗口中输入

    scala -version
    

    会出现scala的版本号,如果没有则表示没有配置成功
    scala的基础

  • 在idea中安装scala插件
    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

  1. Unit代表无返回值,相当于void
  2. Null是空的数据类型()
  3. Any代表不确定的数据类型

scala定义变量

var 变量名:数据类型=值(数据类型可以省略)

		var a:Int = 1
    	var b = "zhangsan"

scala中一行代码如果只有一个语句,则可以省略“;”,如果有多条语句,则不可以省略

scala定义常量

val 变量名:数据类型=值(数据类型可以省略)

	val c:Int = 2
    val d = "lisi"

scala的运算符

  1. 算术运算符 +,-,*,/,%
  2. 逻辑运算符&&,||,!
  3. 关系运算符>,<,>=,<=,==,!=
  4. 赋值运算符=,+=,-=,*=,/=,%=
  5. 位运算符&,|,^,~,<<,>>

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()

循环语句

  1. 基本格式:for(变量名 <- 集合或数组){}

     	for (s <- "hello"){
          	print(s+"\t")
        }
    
  2. 守卫者模式:for(变量名 <- 集合或数组 if 条件){}

    	for (i <- 1 to 100 if i % 3 == 0){
          	print(i+" ")
        }
    
  3. 嵌套循环: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()
        }
    
  4. 声明多个变量for(变量名 <- 集合或数组; 变量名=值){}

     	for (i <- 1 to 3; from = 4 - i;j <- from to 3){
          	print((10*i+j)+" ")
        }
    
  5. 推导式 for()yield

    	var arr2 = for (i <- 1 to 5)yield {
          	i*2
        }
    

scala练习

  1. 打印1~100.
  2. 求1~100的和
  3. 求1~100能够被3正常且不能被5正常的和 使用守卫者模式来写
  4. 打印一个九九乘法表
  5. 输入两个整数求出最大值,并把最大值打印出来