Scala语言总结概括(代码实例版)

    xiaoxiao2021-03-25  211

    Scala是一门多范式的编程语言,一种类似java的编程语言设计初衷是实现可伸缩的语言、并集成面向对象编程函数式编程的各种特性。

    Scala 运行在Java虚拟机上,并兼容现有的Java程序。

    Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。

        下面这段程序用到了scala许多基础知识,通过它可以宏观的了解整个Scala的基础语法和使用方法。

    object helloworld{        /*object类似于static关键字,对于class所有方法和成员在实例被new之前都是无法访问的,                                                                                                                但是object下的方法和成员都可直接访问。*/

    //所有的main方法都必//须在object中被调用,来提供程序的主入口

    def main(args:Array[String]){

    //变量var ,常量val

    var myVar:String="foo"  //变量   也可写成 var myVar="foo"

    var my :Int = 9               // ;分号不是必须的

    val myVas:String="too"  //常量

    print(myVar+myVas)    // +号跟myVas.concat(myVas)效果相同。

     

    /*变量可以批量设置*/

    val (mn1:Int,mn2:String) = Pair(24,"qifei")

     

    //数组和for循环

    var myList =Array(2,3,4,5); var total=0.0;

    for(x<-myList){print(x) }

    for(i<- 0 to(myList.length-1)){ total+=myList(i); println(total) }

    // swithch(a){case1: }对应 a match{ case 1 => "one"}

     

    //正则表达式匹配

       val pattern = "Scala".r //r() 方法构造了一个Regex对象

       val str = "Scala is Scalable andcool" 

       println(pattern findFirstIn str)//findFirstIn 方法找到首个匹配项,查看所有的匹配项可以使用 findAllIn 方法

     

    //迭代器

    var ita=Iterator(2,4,6,8);println( ita.size)//size和length效果相同

    while(ita.hasNext){println( ita.next() ) }

    var itb=Iterator("beijing","shanghai","guangzhou");

    while(itb.hasNext){println( itb.next() ) }

     

    //split分隔

    val str="Zara@gmail.com"

    val parts = strsplit "@"

    if (parts.length== 2){

             Some(parts(0), parts(1))

    }

    //I/O  写入和读取

          val writer = new PrintWriter(newFile("test.txt" ))  //写入

          writer.write("菜鸟教程")

          writer.close()

      

          Source.fromFile("test.txt").foreach{  print   }   //读取

          val line = Console.readLine //屏幕上输入的指令

          print(line)

     

    //异常处理

          try {

             val f = new FileReader("input.txt")

          } catch {

             case ex: FileNotFoundException => {

                println("Missing fileexception")

             }

             case ex: IOException => {

                println("IO Exception")

             }

          } finally {

             println("Exitingfinally...")

          }

     

    //标准函数定义

    def demo1(a:Int,b:Int):Int ={

       var mm:Int = 0

           mm= a+b

           return mm

    }

    demo1(3,2)//调用函数

    // defisEqual(obj: Any) 接收任何参数,不限数量。

    (new Outer).qi()  //调用下面outer类的qi()方法

     }//主方法

    }//构造类

     

    //新建Outer类,类和方法的访问修饰符分别有private,protected,public(默认为public)

    class Outer{

     def qi(){    //方法一般都是用def修饰

    if(3>2){  //if语句同java相同。其他循环结构也同java类似。

    println("qi()方法成功运行")

    }

    else{ }

     }//方法

    } //Outer类

           这段程序把Scala的大多基础知识都用到了,也带有详细注释,看完之后应该能对scala语法和基本使用有一定的了解了。

    转载请注明原文地址: https://ju.6miu.com/read-1130.html

    最新回复(0)