Scala基础入门-代码碎片

import scala.util.control._
import java.util.Date
object Test {
   def main(args: Array[String]) {
      // var a = 10;
      // var b = 20;
      // var c = 25;
      // var d = 25;
      // println("a + b = " + (a + b) );
      // println("a - b = " + (a - b) );
      // println("a * b = " + (a * b) );
      // println("b / a = " + (b / a) );
      // println("b % a = " + (b % a) );
      // println("c % a = " + (c % a) );
      // var a = 10
      // a=a - 10;
      // if(a > 5){
      //    println("go to the test  area....")

      // }else{
      //    println("not go to the test area"+a)
      // }

      // Local variable declaration:
      //var a = 10;

      // while loop execution
      // while( a < 20 ){
      //    println( "Value of a: " + a );
      //    a = a + 1;
      // }

      //  do{
      //    println( "Value of a: " + a );
      //    a = a + 1;
      // }while( a < 20 )

      // for( a <- 1 until 10){
      //    println( "Value of a: " + a );
      // }

      //val numList = List(true,false,true);

      // for loop execution with a collection
      // for( a <- numList ){
      //    println( "Value of a: " + a );
      // }

      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);
      // for loop execution with a yield
      // var retVal = for{ a <- numList ;if a != 3; if a < 8
      //                 }yield a

      // Now print returned values using another loop.
      // for( x <- retVal){
      //    println( "Value of x: " + x );
      // }

      //函数可以随便定义位置,可以在main方法里面,亦或外面都可以执行
      // val loop = new Breaks;
      // loop.breakable {
      //    for( a <- numList){
      //       println( "Value of a: " + a );
      //       if( a == 4 ){
      //          loop.break;
      //       }
      //    }
      // }
      // println( "After the loop" );

   //    def addInt( a:Int, b:Int ) : Int = {
   //    var sum:Int = 0
   //    sum = a + b

   //    return sum
   // }

   //  def factorial(n: BigInt): BigInt = {
   //    if (n <= 1)
   //       1
   //    else
   //    n * factorial(n - 1)
   // }

   // PrintUtil("this is the function result:"+addInt(1,10));

   // for (i <- 1 to 10)
   //       PrintUtil( "Factorial of " + i + ": = " + factorial(i) )

   // def apply(f: Int => String, v: Int) = f(v)

   // def layout[A](x: A) = "[" + x.toString() + "]"

   // println( apply( layout, 10) )

   // var userDir = () => { System.getProperty("user.dir") }

   // println( userDir )

    val date = new Date
      val logWithDateBound = log(date, _ : String)

      logWithDateBound("message1" )
      Thread.sleep(1000)
      logWithDateBound("message2" )
      Thread.sleep(1000)
      logWithDateBound("message3" )

      var dates = new Date
      log(dates, "message1hh" )
      Thread.sleep(1000)
      log(dates, "message2hh" )
      Thread.sleep(1000)
      log(dates, "message3hh" )

      val fruit = "apples" :: ("oranges" :: ("pears" :: Nil))
      val nums = Nil

      println( "Head of fruit : " + fruit.head )
      println( "Tail of fruit : " + fruit.tail )
      println( "Check if fruit is empty : " + fruit.isEmpty )
      println( "Check if nums is empty : " + nums.isEmpty )

   }

    def log(date: Date, message: String)  = {
       val datebak = new Date
     println(datebak + "----" + message)
   }

   def PrintUtil(strings : String) : Unit = {
      println("======================top======================");
      println(strings);
      println("======================bottom======================");
   }
}

  

时间: 2024-10-17 12:55:15

Scala基础入门-代码碎片的相关文章

Scala 基础入门【翻译】

原文地址 本文只是带你进入 Scala 的世界,包括安装.不可变变量 val.可变变量 var.定义类.集合(包括列表(list).集(set).映射(map))以及集合遍历和集合库(能达到并行/并发效果). 题外话,如果 Java 争气的话,还就真不会出现像 Scala 这些语言.对于函数编程风格的支持,尤其是对于 Lambda 表达式的支持,能够有助于减少必须要编写的逻辑无关样板代码,也许让它可以更简单的关注要面对的任务本身.而 Java 对 Lamdba 表达式的支持到 JavaSE8 才

Scala基础入门-1

首先需要Scala开发环境的搭建,网上自己找教程. 声明常量与变量 val foo = 0 // 常量 var bar = 0 // 变量 在Scala中,更加鼓励使用val来进行声明,也就是推荐使用常量.在大部分时候不需要分号,看自己便好…虽然是强静态类型的语言,但是却并没有写出类型——这就是类型推断. 也可以指定类型: val spark: String = "Hello Scala" 多个的同时声明: val xInt, yInt = 100 // xInt, yInt都声明为1

scala基础入门

类方法.if.while.for package per.xxl /**  * @author Administrator  */ class HelloScala {    } //object声明类,表示此类为单例,在第一次调用的时候初始化 //类中的方法都是静态方法 object HelloScala{      def hello(name:String):String={     "hello "+name   }   //无参方法可以去掉(),如果没()则调用时不能有()

Scala基础入门-4

Scala学习——类 简单类和无参方法 class Counter { private var value = 0 // 必须初始化字段 def increment() { value += 1 } // 方法默认公有 def current() = value } Scala中的类不声明为public,一个Scala源文件中可以有多个类. val myCounter = new Counter // 或new Counter() myCounter.increment() 调用无参方法时,圆括

Scala基础语法(声明定义、标识符命名、Scala脚本入门)

一.声明与定义(赋值) 1.val, 常量声明   val x:T val x:T=e 2.var, 变量声明   var x:T var x:T=e ?类型省略(默认类型)val x=e var x=e ? 声明省略(连续声明) val x1,x2,x3 等价于 val x1;val x2; var x1,x2,x3:T=e  等价于  var xn:T=e 3.def,函数声明def abc(xn:T):T*=e def adder(m:Int,n:Int) =m+n def adder()

Android基础入门教程——1.10 反编译APK获取代码&amp;资源

Android基础入门教程--1.10 反编译APK获取代码&资源 标签(空格分隔): Android基础入门教程 本节引言: "反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件:不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以下载别人的APK,然后改下后缀名,改成xxx.zip,然后解压: 笔者随便解压了一个APK:

Spark入门到精通视频学习资料--第一章、Scala基础与实践

第一章.Scala基础与实践(3讲) Scala编程语言抓住了很多开发者的眼球.如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格. 根据David Rupp在博客中的说法,Scala可能是下下一代Java. Scala有几项关键特性表明了它的面向对象的本质.例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值.数字等)在内,连函数也是对象.另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mix

2015年最新Android基础入门教程目录(完结版)

2015年最新Android基础入门教程目录(完结版) 标签(空格分隔): Android基础入门教程 前言: 关于<2015年最新Android基础入门教程目录>终于在今天落下了帷幕,全套教程 共148节已编写完毕,附上目录,关于教程的由来,笔者的情况和自学心得,资源分享 以及一些疑问等可戳:<2015最新Android基础入门教程>完结散花~ 下面是本系列教程的完整目录: 第一章:环境搭建与开发相关(已完结 10/10) Android基础入门教程--1.1 背景相关与系统架构

2015年最新Android基础入门教程目录(临时版)

2015年最新Android基础入门教程目录(临时版) 标签(空格分隔): Android基础入门教程 前言: 嗯,昨晚又给人盗号了,博客上被发表了十几篇黄贴-然后目录给管理误删了,再发一次 后来协商后发现实被设密保问题了,建议各位用csdn的朋友密保自己设置一波~ 密保问题已修改回来了,应该不会再被盗号了-人怕出名猪怕壮哈~下次如果发现博客被封 告知下小猪,如何很急的话可以先到w3c鸟巢菜鸟教程上看Android基础入门教程 经过站长FK进行排版的,可能阅读体验会比csdn好很多!内容基本是同