第1讲-Scala编程详解:基础语法

Scala与Java的关系

  1. scala与java的关系是非常紧密的!!!
  2. 因为scala是基于java虚拟机,也就是JVM的一门编程语言。所有scala的代码,都需要经过编译为字节码,然后交由java虚拟机来运行。
  3. 所有java和scala是可以无缝互操作的。scala可以任意调用java的代码,所以scala与java的关系是非常非常紧密的。

Scala解释器的使用

  1. REPL:Read(取值)-> Evaluation(求值)-> Print(打印)-> Loop(循环)。scala解释器也被称为 REPL,会快速编译成字节码,然后交由JVM来执行。
  2. 计算表达式:在scala> 命令行内,键入scala代码,解释器会直接显示结果给你。如果你没有指定变量来存放这个值,那么默认的名称为res,而且会显示结果的数据类型,比如Int,Double,String等等。
    例如: 在这里插入图片描述
  3. 内置变量:在后面可以继续使用这个变量,以及存放它的值。
    例如:
    在这里插入图片描述
    在这里插入图片描述
  4. 自动补全:在scala命令行内,可以使用tab键进行补全。
    例如:输入res2.to,敲击tab键,解释器会显示出以下选项,toCharArray,toLowerCase,toString,toUpperCase
    在这里插入图片描述

声明变量

  1. 声明val变量:可以声明val变量来存放表达式的结果,但是常量声明后,是无法改变它的值的,改变可以使用var变量。

在这里插入图片描述
2. 声明var变量:如果想要声明值可以改变的引用,改变可以使用var变量。
例如:
在这里插入图片描述
3. 指定类型:无论声明val变量,无论声明var变量,都可以手动指定类型,如果不指定的话,scala会自动根据值,进行类型的推断。

在这里插入图片描述
4. 声明多个变量:可以将多个变量放在一起进行声明

在这里插入图片描述
在这里插入图片描述

数据类型与操作符

  1. 基本数据类型:Byte Char Short Int Long Float Double Boolean 乍一看与java的包装类型相同,但是scala没有包装数据类型与基本数据类型的概念,统一都是类。
  2. 类型的加强板类型:
    (1)String 类通过StringOps类增强了大量的函数,“Hello”.intersect(“World”)。
    (2)scala还提供了RichInt、RiDouble、RiChar等类型
  3. 基本操作符:没有++ 、–
    例如:1+1,可以写成1.+(1) 、 1.to(10)可以写成1 to 10

在这里插入图片描述

函数调用与apply()函数

  1. 函数调用方式:在scala中,函数调用也很简单。
    例如,import scala.math._,sqrt(2),pow(2, 4),min(3, Pi)。
    不同的一点是,如果调用函数时,不需要传递参数,则scala允许调用函数时省略括号的,例如,“Hello World”.distinct
    2.apply函数
    Scala中的apply函数是非常特殊的一种函数,在Scala的object中,可以声明apply函数。而使用“类名()”的形式,其实就是“类名.apply()”的一种缩写。通常使用这种方式来构造类的对象,而不是使用“new 类名()”的方式。
    例如,“Hello World”(6),因为在StringOps类中有def apply(n: Int): Char的函数定义,所以"Hello World"(6),实际上是"Hello World".apply(6)的缩写。
    例如,Array(1, 2, 3, 4),实际上是用Array object的apply()函数来创建Array类的实例,也就是一个数组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值