吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3419|回复: 9
收起左侧

[其他转载] 【笔记】SCALA笔记一

[复制链接]
偷偷去偷鸡 发表于 2016-11-8 18:36
本帖最后由 偷偷去偷鸡 于 2016-11-8 18:37 编辑

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

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

## SCALA基本概念 ##

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

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

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

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

注意事项

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

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

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

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

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

**标识符**

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

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

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

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

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



**注释**

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

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

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

**变量声明**

变量声明:

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

    val B : String = "HAHAH"


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



多个变量声明:




## 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[x] 或 protected[x]

X可以表示为某个包

private[x]就表示某个包下可见


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

3.png





发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

55555555 发表于 2016-11-8 18:52
仔细看了一下...发现..看不懂
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

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就学学呗

好吧。我才刚开始学编程
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表