大数据应用开发3-Scala笔记1

一、编程框架

Scala语言是在JVM上运行的,兼容Java语法

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

  • 类名 - 对于所有的类名的第一个字母要大写。
    如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。

  • 方法名称 - 所有的方法名称的第一个字母用小写。
    如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。
    示例:def myMethodName()

  • Scala 使用 package 关键字定义包,在Scala将代码定义到某个包中有两种方式:

    第一种方法和 Java 一样,在文件的头定义包名,这种方法就后续所有代码都放在该包中。
    示例:def myMethodName()

    第二种方法有些类似 C#,以在一个文件中定义多个包。如:

    package com.runoob {
      class HelloWorld 
    }
    
  • 引用

    Scala 使用 import 关键字引用包。
    示例:import java.awt.Color // 引入Color


1、简单框架

object Hello {
  def main(args:Array[String]): Unit={
    println("Hello Scala!") //Scala语法
    System.out.println("Hello Scala!") //Java语法
  }
}

2.对象及伴生对象结构框架

package com.ggg.ST.Test1

class Student (var name: String,var age: Int){
  def printInfo(): Unit = {
    println(name +" "+ age + " " + Student.school)
  }
}

object Student{
  val school = "xmdx"
  def main(args: Array[String]): Unit = {
    val alice = new Student("alice",20)
    val bob = new Student("bob", 23)
    alice.printInfo()
    bob.printInfo()
  }
}

二、注释

Scala和Java注释一样

/**
 * 文档注释
 */
//单行注释
/*
    多行注释
*/

三、常量和变量

1.Scala基本语法

Scala中常量使用val 开头、变量使用var开头(数据类型比较明显的可以自动识别出来,可以不写)

基本语法:

var 变量名 [:变量类型] = 初始值          var i:Int =10

val 常量名 [:  常量类型] = 初始值           val j:   Int = 20

注意:

1.能用常量的地方不用变量

2.var 修饰的对象引用可以改变,val 修饰的对象则不可改变,但对象的状态(值) 却是可以改变的。(比如:自定义对象、数组、集合等等)

    //声明一个变量的通用语法
    var a : Int = 10

    //(1)声明变量时,类型可以省略,编译器自动推导,即类型推导
    var age = 18
    age = 30

    //(2)类型确定后,就不能修改,说明 Scala 是强数据类型语言。
//    age = "sa"
    //(3)变量声明时,必须要有初始值

2.常量和变量名规则

Scala和Java的命名规则基本一致 ,但细节上还是略有不同

(1)必须以字母或下划线开头,后接字母、数字、下划线

(2)以操作符开头,只能包含操作符(+-*/#!等)

(3)用反引号`......`包括的任何字符串,包括Scala的关键字,都可以当标识符使用

四、字符串输出

1.基本语法

(1)字符串拼接法:println(name+" " +age)

  (2)类似C语言的printf,通过%传值。printf("name=%s age=%d \n  ",name ,age)

  (3)字符串模板(插值字符串):通过$获取变量值printf(s"祝${name}的${age}生日快乐")

插入字符串(多行):使用''' .....''' 三个上引号包围多行字符串,在每一行前添加竖线“|”可实现以竖线为开头进行对其。其字符串输出的内容与编写时一致。

Scala的数据类型:

大数据应用开发3-Scala笔记1_第1张图片

注意:表中列出的数据类型都是对象,也就是说scala没有java中的原生类型。在scala是可以对数字等基础类型调用方法的

整型字面量

整型字面量用于 Int 类型,如果表示 Long,可以在数字后面添加 L 或者小写 l 作为后缀。
示例:val i :Int = 20
示例:val i :Long = 50l

浮点型字面量

如果浮点数后面有f或者F后缀时,表示这是一个Float类型否则就是一个Double类型的。实例如下
示例:val i :Float = 50.03f
示例:val i :Double = 50.003

布尔型字面量Boolean

布尔型字面量有 true 和 false。

字符字面量

在 Scala 字符变量使用单引号 ' 来定义

字符串字面量

在 Scala 字符串字面量使用双引号 " 来定义

多行字符串的表示方法

多行字符串用三个双引号来表示分隔符,格式为:""" ... """。

例:

val sql = s"""
  |select *
  |from
  | student
  |where
  | name = ${name}
  |and
  | age > ${age}
  |""".stripMargin

println(sql)

运行结果:大数据应用开发3-Scala笔记1_第2张图片

Null 值

空值是 scala.Null 类型。

Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。

Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。

转义字符:

大数据应用开发3-Scala笔记1_第3张图片

你可能感兴趣的:(大数据,scala,笔记)