1.Scala基础语法-1

1.1 Scala概述

1.1.1 什么是Scala?

  • Martin Odersky在2001年开始开发Scala
    • Sca(scalable)La(language)
  • 设计目标
    • 消除常见分布式处理的bugs
    • 让编程框架做规模决策
    • 让程序员根据需要进行控制

1.1.2 为什么学习Scala?

  • 可扩展
    • 面向对象
    • 函数式编程
  • 兼容JAVA
    • 类库调用
    • 互操作
  • 语法简洁
    • 代码行短
    • 类型推断
    • 抽象控制
  • 静态类型化
    • 可检验
    • 安全重构
  • 支持并发控制
    • 强计算能力
    • 自定义其他控制结构

1.1.3 Scala环境

  • IDE(安装->下载scala插件->自定义配置)
    • Eclipse(原生支持,使用比较复杂)
    • IntelliJ(价格昂贵)
    • NetBeans(程序可靠但插件笨重)
  • CMD(安装配置JAVA环境->下载解压Scala->系统环境添加Scala路径)
    • 通过CMD调用Scala解释器
    • 方便、简单,易上手

1.1.4 声明与定义(赋值)

  • val,常量声明:val x:T val x:T=e
  • var,变量声明: var x:T var x:T=e
    • 类型省略(默认类型): val x=e var x=e
    • 声明省略(连续声明):
      • val x1,x2,x3 等价于 val x1;val x2;val x3
      • var x1,x2,x3:T=e等价于var xn:T=e
  • def,函数声明:def abc(xn:T):T*=e
    • 无参函数: def adder()=e
  • type,类型声明
  • class,类声明
  • object,对象声明

1.2 数据类型

  • 整型:Int,Long,Short,Byte
  • 浮点型:Double,Float
  • 布尔型:Boolean(true/false)
  • 字符值:
    • Char:16位无符号Unicode字符
    • String:Char序列
  • 除String归于java.lang包外,其他基本类型均是scala包的成员
  • Int等基本类型的全名是scala.Int,但包scala同java.lang的所有成员都能自动引用,因而能再实际使用时简化

1.2.1 整型

  • 整形值格式有十进制和十六进制
  • 十进制:数开始于非零数字
    • val one=15 (非零数字为1-9)
  • 十六进制:数开始于0x或0X
    • val two=0xABC (非零数字为1-9同大写A-F)
  • 默认为Int类型,要声明、定义Long类型的值,除直接声明外,亦能在数字后增加L或l,Short同Byte需直接声明
    • val four=0xABCDL

1.2.2 浮点型和布尔值

  • 浮点型
    • 浮点格式为十进制、小数点、E或e及指数部分
    • 一般浮点数默认为Double类型,要声明Float类型除直接声明外,能在数字后增加F或f
  • 布尔值
    • val right=true
    • val wrong=false


1.2.3 字符型

  • 字符型
    • Char

      • 单引号间的任意Unicode字符 val a=‘A’
      • 单引号内前缀反斜杠的八进制、十六进制表字符编码数字
        • val b=‘\321’ 八进制,从\0到\377
        • val c=‘\u0042’ 十六进制,实际上是scala中通用的转义语法


    • String

      • 双引号间的任意Unicode字符串
        • val d=“ABCD”
        • val e=“\u0042\\u0041”


1.3 scala环境准备和基本类型

1.3.1 scala环境安装

  • 安装jdk
    • 下载jdk-8u151-windows-x64.exe并安装好
  • 解压scala
    • 下载scala-2.11.7.zip并解压
  • 环境变量配置




  • 新建
    • 添加scala和java jdk的bin目录


  • 测试是否可用



1.3.2 基本类型

scala> println("hello scala") 
hello scala 

scala> val v4:Short = 45 
v4: Short = 45 

scala> val v5 = 1234l 
v5: Long = 1234 

scala> val v1 = 12 
v1: Int = 12 

scala> val v7:Byte = 23 
v7: Byte = 23 

scala> val v8 = 12.12345 
v8: Double = 12.12345 

scala> val v8 = 12.12345f 
v8: Float = 12.12345 

scala> val v9 = 1.212345e2 
v9: Double = 121.2345 

scala> val v9 = 1.212345e1 
v9: Double = 12.12345 

scala> val v10 = 'A' 
v10: Char = A 

scala> val v11 = '\u0041' 
v11: Char = A 

scala> val v12 = "abcd" 
v12: String = abcd

大数据视频推荐:
腾讯课堂
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

你可能感兴趣的:(1.Scala基础语法-1)