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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35488412/article/details/60869326

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="[email protected]"

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语法和基本使用有一定的了解了。


猜你喜欢

转载自blog.csdn.net/qq_35488412/article/details/60869326