第二章 scala入门初探

原创 2015年11月19日 21:08:54

注意:Scala中,表达式后的分号可以省去(多个表达式写在同一行则还是需要分号的),但是Scala源码中都是带分号的,所以建议保留分号

  • 使用Scala解释器
    • 在Scala解释器中键入代码块可以采用命令::paste,以CTRL+D结束;
  • 变量定义
    • var声明的变量,可以在生命周期中被多次赋值 ;
    • val声明的变量,类似Java中final变量,一旦初始化,就不能再被赋值;
    • 变量最好写明类型,这会有便于之后的代码阅读(虽然Scala中有类型推断机制);
  • 函数定义

    • 定义函数用关键字def
    • 函数名
    • 参数列表,其中每个参数都必须带有前缀冒号的类型标注(编译器无法推断函数的参数类型)
    • 函数结果类型,例如(: Int)
    • 函数体,放在{}内
    def max(x: Int, y: Int): Int = {
      if(x > y) {
        x;
      } else {
        y;
      }
    }
  • 脚本
    使用命令scala可以编译.scala文件;
    命令行参数存放在名为args的Scala数组里,用args(0)访问第一个元素;

  • while做循环,if做判断

    var i = 0;
    while(i < args.length) {
      if(i != 0) {
      print(" ");
    }//(个人习惯)在代码块仅有一行语句时也用{}
      println(args(i));
      i += 1;
    }
    println();
  • foreach和for做枚举

    • 用foreach可以更简洁的打印每个命令行参数,这是一种更为函数式的编程风格。
      以下三种写法都表达同一个意思:
    • 第三种最简明的写法的条件是:函数字面量只有一行语句并指代一个参数,那么可以将指代参数省去。
      args.foreach(arg => println(arg));
      args.foreach((arg: String) => println(arg));
      args.foreach(println);

    • 函数自面量:

      1. 括号及命名参数列表 (x: Int, y: Int)
      2. 右箭头 =>
      3. 函数体 x + y;
        用for也可以写出简明的代码:
        for(arg <- args) {
          println(arg);
        }
版权声明:本文为博主原创文章,未经博主允许不得转载。

【算法竞赛入门经典】【第二章】课后习题

《 算法竞赛入门经典》课后题解,第二发来袭。持续更新中。。。
  • luomingjun12315
  • luomingjun12315
  • 2015年04月08日 14:04
  • 1731

02 快学scala第二章习题答案

2 控制结构和函数   2.1 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果为0,则signum为0.编写一个函数来计算这个值 简单的逻辑判断 def...
  • china_demon
  • china_demon
  • 2016年08月14日 19:29
  • 387

《快学Scala》第二章习题解答

RT。 package com.scalalearn.scala.main /** * 快学scala 02习题 */ object LearnScala02 { //1.如果一个数字为...
  • rongyongfeikai2
  • rongyongfeikai2
  • 2016年05月14日 14:58
  • 1093

spark高级数据分析系列之第二章用 Scala 和 Spark 进行数据分析

2.1数据科学家的Scala spark是用scala语言编写的,使用scala语言进行大数据开发的好处有 1、性能开销小 减少不同环境下传递代码和数据的错误和性能开销 2、能用上最新的...
  • u014779006
  • u014779006
  • 2017年07月12日 16:40
  • 286

scala 从入门到入门+

新手向,面向刚从java过渡到scala的同学,目的是写出已已易于维护和阅读的代码. 从语句到表达式 语句(statement): 一段可执行的代码 表达式(expression): 一...
  • lihancheng
  • lihancheng
  • 2016年02月22日 09:41
  • 539

scala 入门初探

看到有资料是如此介绍scala的:有python一样的开发效率,还有java一样的运行性能。看到这个介绍,本宝宝非常好奇,scala到底是怎样做到的。so,开始我们的scala之旅吧!1.scala环...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年07月24日 17:33
  • 914

《Scala开发快速入门》书籍出版

Apache Spark、Apache Kafka等基于Scala语言实现的框架在大数据生态圈内占有举足轻重的地位,它们一定程度上引领着大数据最前沿技术方向,另外Akka、Apache Gearpum...
  • lovehuangjiaju
  • lovehuangjiaju
  • 2016年09月08日 23:41
  • 5115

Scala入门到精通——第一节 Scala语言初步

本节主要内容 Scala简介 为什么要学习Scala Scala语言初步 1. Scala简介 Scala(Scala Language的简称)语言是一种能够运行于JVM和.Net平台之上的...
  • lovehuangjiaju
  • lovehuangjiaju
  • 2015年08月18日 09:35
  • 22812

Spark(七) -- Scala快速入门

Scala作为Spark的开发语言,想要成为Spark高手,精通Scala是必须要走的一条路 然后一门语言并不是你想精通就能够精通的,更何况是Scala这种面向对象又面向函数的编程语言,个人觉得其学...
  • qq1010885678
  • qq1010885678
  • 2015年05月18日 22:55
  • 4516

一.MITK从入门到放弃之初探

一. MITK是什么? MITK是一个C++第三方库,由ITK(负责图形图像算法实现),VTK(负责2D图像,3D图像的显示),QT(用户界面,GUI实现),BlueBerry(MITK核心框架主要...
  • znz173710076
  • znz173710076
  • 2018年02月02日 14:01
  • 96
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第二章 scala入门初探
举报原因:
原因补充:

(最多只允许输入30个字)