Scala基础语法

       Scala 集成开发环境 Intellgence IDEA 需要下载并安装 网上都有教程这里就不再阐述。

1、Hello Scala

类似于JAVA中的Hello World

package com.auru.Leon

object HelloScala {
        def main(args: Array[String]): Unit ={
          println("hello scala")
        }
}

关于 HelloWorld 程序:Scala 和 Java 的对比不同处
1、文件后缀名
2、编译和运行方式
3、类的声明
4、main 方法的声明
5、分号

2、变量的定义

Scala的变量分为两种

//使用 val 定义的变量值是不可变的,相当于 java 里用 final 修饰的变量
val i = 1
 //使用 var 定义的变量是可变得,在 Scala 中鼓励使用 val
 var s = "hello"
 //Scala 编译器会自动推断变量的类型,必要的时候可以指定类型
 //变量名在前,类型在后

总结:
1)数据类型可以指定,也可以不指定,如果不指定,那么就会进行数据类型的自动推断。
2)如果指定数据类型,数据类型的执行方式是在变量名后面写一个冒号,然后写上数据类型。
3)我们的 scala 里面变量的修饰符一共有两个,一个是 var,一个是 val如果是 var 修饰的变量,那么这个变量的值是可以修改的,虽然可以修改,但是不能改成其他类型的值如果是 val 修饰的变量,那么这个变量的值是不可以修改的。

3、数据类型

Scala 和 Java 一样,有 7 种数值类型 Byte、Char、Short、Int、Long、Float 和 Double(无包装类型)和一个 Boolean 类型,再加上常用的 String 类型。
        下面举例子:

package com.auru.Leon

object Test01 {
    def main(args:Array[String]): Unit ={
      val var_int=1
      println(var_int)

      val var_double=3.33
      println(var_double)

      val var_float=2.4F
      println(var_float)

      val var_char='A'
      println(var_char)

      val var_bool=true
      println(var_bool)

      val var_16=0x29  //41
      println(var_16)

      val var_string="aa"
      println(var_string)

      val var_string1="\"AAAA\""   //"AAAA"
      println(var_string1)

      val var_string2="""BBBB\CCC\DD\E\\"""
      println(var_string2)   //BBBB\CCC\DD\E\\

    }
}

在这里插入图片描述数据类型
在这里插入图片描述数据类型间的关系

4、Scala基本类型操作

算术操作:+   -   *   /   %
关系运算:>   >   =   <   <=   ==   !=
逻辑运算:&&   ||   !
位运算: &   |   ^   ~   >>   <<   >>>

对象比较:1==1 1==1.0 "huangbo" == "huangbo" ne eq

特别注意:ne eq equals == 四者的区别

package com.auru.Leon

object MethodTest {
    def  main(args:Array[String]): Unit ={
      println(sum(2,3))
      println(multiply(2,3))
      println(sum1(2,3))
      println(sum2(2,3))
    }
  def sum(a:Int,b:Int):Int={
    a+b
  }
  def multiply(a:Int,b:Int):Int={
    a*b
  }
  def sum1(c:Int,d:Int)=c+d

  def sum2(a:Int,b:Int){a+b}

}

5、编码规范

1、分号:在 scala 编码中,不强制在代码末尾加分号,但是如果有多句代码写在同一行,那么必须使用分号进行隔开。
2、注释:在 scala 编程中,注释的方式和 java 中注释方式一样,原则:少而精
3、关键字:关注新关键字:yield, match, object, def, implicit, trait, sealed, var/val
关键字

6、流程控制语句

if语句

package com.auru.Leon

object If {
   def main(args:Array[String]): Unit ={
     val x=1
     val y=if(x>0) 1 else -1
     println(y)
     println("----------------------")

     val z=if(x>2) "true"
     println(z)
     println("----------------------")

     val m=if(x>2) 1 else "error"
     println(m)
     println("----------------------")

     val n=if(x>2) 1 else ()
     println(n)
     println("----------------------")

     val k=if(x<0) 0
     else if (x>=1) 1 else -1
     println(k)
     println("----------------------")

     }
}

块表达式

package com.auru.Leon

object Block {
   def main(args:Array[String]): Unit = {
     val x = 0
     //在 scala 中{}中课包含一系列表达式,块中最后一个表达式的值就是块的值
    //下面就是一个块表达式
     val result = {
       if (x < 0) {
         -1
       } else if (x >= 1) {
         1
       } else {
         "error"
       }
     }
     println(result)
   }
}

for循环

package com.auru.Leon

object For {
    def main (args:Array[String]): Unit = {
      for(i <- 1 to 10)
          print(i+"\t")
          println()

      val arr=Array("a","b","c")
      for(i <- arr)
        print(i+"\t")
        println()

      for(str <- arr.reverse){
        print(str+"\t")
      }
      println()

      for(i <- 0 to arr.length-1){
        print(arr(i)+"\t")
      }
      println()

      for(i <- 0 until arr.length){
        print(arr(i)+"\t")
      }
      println()
      println("-----------------")

      for(i <- 0 until (arr.length,2)){
        print(arr(i)+"\t")
      }
      println()

      for(i <- 1 to 3;j <- 1 to 3 if i==j){
        println((10*i+j)+"")
      }

      val v=for(i <- 1 to 10)yield i *10
      println(v)
    }
    }

注意:
1、在 scala 里面没有运算符,都有的符号其实都是方法。
2、在 scala 里面没有 ++ – 的用法
3、for( i <- 表达式/数组/集合)
4、在 for 循环里面我们是可以添加 if 表达式
5、有两个特殊表达式需要了解:
To 1 to 3 1 2 3
To 1 to (3,2) 1 3
Until 1 until 3 12
6、如果在使用 for 循环的时候,for 循环的时候我们需要获取,我们可以是使用 yield 关键字。

while循环

package com.auru.Leon

object While {
    def main(args:Array[String]): Unit ={
      var n=11
      while(n>10){
        println(n)
        n-=1
      }
    }
}

注意:
1)while 使用跟 java 一模一样
2)注意点:在 scala 里面不支持 i++ i-- 等操作统一写成 i+=1 i-=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值