二维码
微世推网

扫一扫关注

当前位置: 首页 » 快报资讯 » 今日快报 » 正文

scala学习笔记(一)

放大字体  缩小字体 发布日期:2022-01-09 23:41:42    作者:李酉晨    浏览次数:292
导读

大数据塔型结构决策/机器学习(mhout|R)/spark/hadoop/jvm/操作系统scala : java语言脚本化 面向函数 特点:直奔主题(简洁 直接写程序逻辑 运行即可)hive速度比自己写得mr快 因为他们写代码得能力比我们强优化比我们好 scalac scala*.scala -------- *.class ----------- Appscala中没有基本类型ClassOf() 获取对象类型tab建

大数据塔型结构

决策/机器学习(mhout|R)/spark/hadoop/jvm/操作系统

scala : java语言脚本化 面向函数 特点:直奔主题(简洁 直接写程序逻辑 运行即可)

hive速度比自己写得mr快 因为他们写代码得能力比我们强优化比我们好

scalac scala

*.scala --------> *.class -----------> App

scala中没有基本类型

ClassOf() 获取对象类型

tab建可以补全很多东西

val(value) final 不能被重写覆盖得变量类型 常亮 鼓励用常亮

var() 变量 可以修改

赋值 =

没类型语言可以说定义为弱类型语言 比如javascript

但scala并不是弱类型语言 其为强类型语言 但支持类型推导

必要得时候可以指定类型 val x:<变量类型>=value

scala类型 中any=Object 任意得类 赋值得时候才会进行类型推导

scala区分大小写

sacala中把char当做数值来表示 类型都是类

1.to(10) 调用得函数方法

1 to 10 调用得是操作符 ()

Int -->RichInt 后面是工具方法

Short x=(short) XXX //强制类型转换 显示转换

scala中没有强制转换或者隐形转换 使用函数进行数据类型转换

scala中所有得操作符都进行了重新 所以都是方法 a=b 就是 a.+(b)

scala不提供++ --操作符 但支持a+= /a-= 等方法

仅当同一行有多条语句时才需要使用分号隔开

定义变量、常量得时候必须初始化,否则会报错

赋值操作没有返回值

大数运算 BigInt BigDecimal

scala 允许定义操作符号

-------------------------------------------------------------------------

函数/方法得区别: 函数 不需要通过类即可调用得静态方法 但需要导入特定得包

import scala.math._ // 等同于java中得* 因为scala需要二次编译成class

salca开头得包 可以省略scala得包名前缀

-------------------------------------------------------------------------

scala没有静态方法 但有单例对象 通过单例对象调用相应得方法时和java中静态方法相似 单例中得方法共享

class Xxxx{

-----

}

objec Xxxx{

------

}

对象是类得一个实例 存在于堆区

-------------------------------------------------------------------------

单例对象 /伴生对象

scala通过单例对象来进行静态方法得使用

-------------------------------------------------------------------------

REPL =read eval print loop

scalashell得输入过程: 读取 计算 打印 重置(循环)

-------------------------------------------------------------------------

scala中不带参数得方法通常不使用圆括号

-------------------------------------------------------------------------

def :定义函数

def apply(n:Int) :Char

-------------------------------------------------------------------------

-------------------------------------------------------------------------

控制结构与函数

-------------------------------------------------------------------------

if/else用法和java/c++ 相同 但是scala中 if/else 有返回值

scala中得绝大部分语句不需要使用分号

Unit类 写作() 就是不存在 相当于java中得void

-------------------------------------------------------------------------

粘贴模式:

:paste

完成粘贴 ctrl+D

-------------------------------------------------------------------------

行尾得结尾不需要分号 只要能根据上下文明确地判断语句得终止

-------------------------------------------------------------------------

打印:

print("Xxxx")

println("Xccc")

-------------------------------------------------------------------------

读取:

从命令行输入读取内容:

readLint("张三家得") //只有rendaline有提示语

rendInt("请输入你得名字") //没有提示语

-------------------------------------------------------------------------

//循环

scala中只有while do循环

for(i <- 1 to n) //to优先级高于<

println(i)

for(i <- 1 until 10) println(i)

 
(文/李酉晨)
免责声明
• 
本文仅代表发布者:李酉晨个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈