【Scala】Scala语言基础(IDEA创建项目、基本数据类型、range、键盘输入语句)

1 简介

  • Scala是一门多范式的编程语言
  • Scala运行在Java虚拟机上,并兼容现有的Java程序
  • Scala源代码被编译成Java字节码,所以它可以运行在JVM之上,并可以调用现有的Java类库
  • Scala函数式编程更适合用于Map/Reduce和大数据模型,它摒弃了数据与状态的计算,着眼于函数本身
  • Spark、Flink等都是采用Scala开发的

2 特点

Scala运行在Java虚拟机之上,轻松实现和丰富的Java类库互联互通,既支持面向对象的编程方式,又支持函数式编程,属于静态语言(但是像动态语言一样简介)

总结起来,Scala具有4个核心特点:

  • OOP v.s. OFP:面向对象和函数式
  • Static Type:静态类型
  • Expansibility:扩展性
  • Concurrency:并发性

3 函数式编程

1、特点

  • 函数是一等公民
  • 以表达式为中心
  • 无副作用
  • 不修改状态
  • 引用透明

2、 优势

  • 代码简洁,开发速度快
  • 接近自然语言,易于理解
  • 易于代码管理
  • 适合并发编程
  • 适用于热开发

3、 总结

纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数只要输入确定,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数的内部变量状态不确定,同样的输入可能得到不同的输出,这种函数是有副作用的

3 为什么要学习Scala

1、API优雅

2、速度快:Scala语言表达能力强,开发速度快;Scala是静态编译的,和JRuby和Groovy比起来速度快很多

3、能融合到Hadoop生态圈:Spark不能够替代Hadoop,但是可以完善Hadoop生态,但是Java做出来的API太丑

4 第一个程序

//1、object表示一个伴生对象,简单理解为一个对象
//2、a就是对象的名字,它底层真正对应的类名是a$
//	 对象是a$类型的一个静态对象MODULE$
//3、当我们编写一个object对象时,在底层会生成两个.class文件,分别为a和a$
object a {
   
//4、def表示一个方法,是一个关键字
//5、main表示方法名称
//6、args: Array[String]表示形参,scala的特点是参数名在前面,类型在后面
//7、Array[String]表示类型是一个数组
//8、: Unit=表示该函数的返回值为空
  def main(args: Array[String]): Unit = {
   
    print("hello world!"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的冲浪码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值