当前位置: 首页 > news >正文

大数据应用开发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.Test1class 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 = 18age = 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的数据类型:

注意:表中列出的数据类型都是对象,也就是说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}|""".stripMarginprintln(sql)

运行结果:

Null 值

空值是 scala.Null 类型。

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

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

转义字符:

http://www.lryc.cn/news/292868.html

相关文章:

  • android 网络拦截器统一处理请求参数和返回值加解密实现
  • Jmeter直连mysql数据库教程
  • 2024美赛数学建模B题思路分析 - 搜索潜水器
  • Tomcat在Java web的应用
  • Python爬虫某云免费音乐——多线程批量下载
  • Python实现TCP和UDP通信
  • 用HTML5 + JavaScript实现下雪效果
  • PDF操作——批量删除末页
  • Jasperreport 生成 PDF之省纸模式
  • IDEA反编译Jar包
  • MySQL 备份恢复
  • UbuntuServer22.04LTS在线安装MySQL8.x
  • GmSSL - GmSSL的编译、安装和命令行基本指令
  • 面试题:为什么MySQL不建议使用NULL作为列默认值?
  • ClickHouse基于数据分析常用函数
  • c语言编译和链接
  • C++ printf解释
  • paddle环境安装
  • kingbase配置SSL双向认证
  • Android Studio 使用小记2 Flutter提交SVN时需要忽略哪些文件
  • 搜索引擎评价指标及指标间的关系
  • armbian修改docker目录到硬盘
  • cip、ethernet/ip开源协议栈:开发源代码
  • 网络原理TCP/IP(2)
  • Echars3D 饼图开发
  • 【PaddleSpeech】语音合成-男声
  • AI-数学-高中-17-三角函数的定义
  • centOS/Linux系统安全加固方案手册
  • 编程实例分享,眼镜店电脑系统软件,配件验光管理顾客信息记录查询系统软件教程
  • 完整的 HTTP 请求所经历的步骤及分布式事务解决方案