偷偷去偷鸡 发表于 2016-11-8 18:36

【笔记】SCALA笔记一

本帖最后由 偷偷去偷鸡 于 2016-11-8 18:37 编辑

最近在学习SPARK,附上自己的笔记

Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。

## SCALA基本概念 ##

对象- 对象有属性和行为。

类 - 类是对象的抽象,而对象是类的具体实例。

方法 - 方法描述的基本的行为,一个类可以包含多个方法。

字段 - 每个对象都有它唯一的实例变量集合,即字段。对象的属性通过给字段赋值来创建。

注意事项

区分大小写 - Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义。

类名 - 对于所有的类名的第一个字母要大写。

方法名称 - 所有的方法名称的第一个字母用小写。

程序文件名 - 程序文件的名称应该与对象名称完全匹配。

def main(args: Array) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。

**标识符**

Scala 可以使用两种形式的标志符:字符数字和符号。

字符数字使用字母或是下划线开头,后面可以接字母或是数字。

符号标志符包含一个或多个符号,如+,:,? 等

符号“$”在 Scala 中也看作为字母,但应用程序应该避免使用"$"开始的标识符,以免造成冲突。

Scala 采用类似Java的 命名规则,首字符小写,比如 toString



**注释**

Scala 类似 Java 支持单行很多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在 Scala 编译中会被忽略。

   
    /* 这是一个 Scala 程序
      *这是一行注释
      */
    object HelloWorld {
      def main(args: Array) {
    println("HelloSpark!")
    val s ="Hello 变量!";print(s)
      }
   
    }

这段代码就展示了scala是面向行的特性,语句可以用分号(;)结束或换行符。

**变量声明**

变量声明:

    var A : String = "java"
常量声明:

    val B : String = "HAHAH"


在Scala中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。

http://i.imgur.com/RQDn1ZF.png

多个变量声明:

http://i.imgur.com/Pl4jF8v.png


## Scala 访问修饰符 ##
Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。
如果没有写访问修饰符,默认是public。

private:


    class Outer {
      class Inner{
    private def p() {println("Hello Inner")}
    class InnerMo{
      p()//可以
    }
    p()//没有报错
      }
      p()//报错了
    }


Protected:

它只允许保护成员在定义了该成员的的类的子类中被访问

    class Pa{
      protected def x(){println("Hello Pa")}
      }
    class Son extends Pa{
      x() //没有报错
    }
    class Other {
      x() //报错了
    }


**作用域保护**

限定了类和方法在哪个范围可以使用

格式为:private 或 protected

X可以表示为某个包

private就表示某个包下可见


----------T代表true
F就是false







55555555 发表于 2016-11-8 18:52

仔细看了一下...发现..看不懂{:301_988:}

ShadowY 发表于 2016-11-8 19:33

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


很冷门貌似这门语言

ShadowY 发表于 2016-11-8 19:33

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

这门语言貌似很冷门

zsl01 发表于 2016-11-8 20:26

什么语言啊?

偷偷去偷鸡 发表于 2016-11-8 21:01

ShadowY 发表于 2016-11-8 19:33
可伸缩的语言是一门多范式的编程语言,一种类似java的编程语言,设计初衷是要集成面向对象编程和函数式编程 ...

大数据学习SPARK要用的scala语言

偷偷去偷鸡 发表于 2016-11-8 21:02

zsl01 发表于 2016-11-8 20:26
什么语言啊?

hadoop大数据,学习SPARK要用的scala语言

ShadowY 发表于 2016-11-8 21:15

偷偷去偷鸡 发表于 2016-11-8 21:01
大数据学习SPARK要用的scala语言

大数据还没接触还是菜鸟级别 大神学了哪些语言啊?

偷偷去偷鸡 发表于 2016-11-8 22:27

ShadowY 发表于 2016-11-8 21:15
大数据还没接触还是菜鸟级别 大神学了哪些语言啊?

我也不是大神,就小菜鸟。学了点java和linux。现在hadoop的实时处理需要用到scala就学学呗

ShadowY 发表于 2016-11-9 11:28

偷偷去偷鸡 发表于 2016-11-8 22:27
我也不是大神,就小菜鸟。学了点java和linux。现在hadoop的实时处理需要用到scala就学学呗

好吧。我才刚开始学编程
页: [1]
查看完整版本: 【笔记】SCALA笔记一