![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Scala
文章平均质量分 81
Scala
程序员学习圈
值得去的地方,没有捷径;难走的路,才更值得开始!
展开
-
Scala 定界延续
众所周知,索引对于数据库性能的影响至关重要,但是索引为什么可以提高查询效率,以及索引的种类及其特点可能不是很清楚,本文将对常用的索引类型以及特点做一个简单的介绍1.为什么要使用索引 首先来说一下索引为什么可以提高查询效率。普通查询的过程往往是通过整表的扫描来获得期望的结果,如果表的纪录非常的多,查询的效率肯定会很慢。而索引则会通过最大程度的降低扫描纪录的条数来提高效率,不同...原创 2018-12-17 16:21:13 · 293 阅读 · 0 评论 -
Scala 解析
Mysql中字符串处理的几种处理方法concat、concat_ws、group_concat以下详情:1.MySQL中concat函数使用方法:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL,则返回值为NULL。注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任...原创 2018-12-17 16:10:58 · 488 阅读 · 0 评论 -
Scala简要:高级函数和高级类型
1.查询表中最早时间的一条记录(1)错误的:select a.*,MIN(enter_time) from g2monitor_range_event a; 解析:因为这样的话只是查询了数据库中的第一条记录,有查询了最早的时间,这是没有必然联系的。(2)正确的:select * from g2monitor_range_event where enter_time in(sele...原创 2018-12-17 16:08:11 · 8294 阅读 · 1 评论 -
Scala 高级类型
1. 读取行import scala.io.Sourceobject FileSyllabus {def main(args: Array[String]): Unit = {//文件读取val file1 = Source.fromFile("C:\\Users\\61661\\Desktop\\scala笔记.txt")val line...原创 2018-09-30 23:11:21 · 359 阅读 · 0 评论 -
Scala 类型参数
1.隐式转换 隐式转换函数是以implicit关键字声明的带有单个参数的函数。这种函数将会自动应用,将值从一种类型转换为另一种类型。implicit def a(d: Double) = d.toInt//不加上边这句你试试val i1: Int = 3.5println(i1)2.利用隐式转换丰富类库功能 如果需要为一个类增加一个方法,可以通过...原创 2018-09-30 23:00:22 · 284 阅读 · 0 评论 -
Scala 注解
Scala 类型参数原创 2018-09-30 22:51:49 · 346 阅读 · 0 评论 -
Scala 文件和正则表达式
注解就是标签。标签是用来标记某些代码需要特殊处理的。处理的手段可以在代码运行时操作,也可以在编译期操作。1.什么可以被注解1)可以为类,方法,字段局部变量,参数,表达式,类型参数以及各种类型定义添加注解@Entity class Student@Test def play() {}@BeanProperty var username = _def doS...原创 2018-09-30 22:22:14 · 929 阅读 · 0 评论 -
并发编程模型 Akka
1.不允许多重继承 所有的面向对象的语言都不允许直接的多重继承,因为会出现“deadly diamond of death”问题。Scala提供了特质(trait),特质可以同时拥有抽象方法和具体方法,一个类可以实现多个特质。2.当做接口使用的特质 特质中没有实现的方法就是抽象方法。类通过extends继承特质,通过with可以继承多个特质。trait Logg...原创 2018-09-29 12:05:08 · 402 阅读 · 0 评论 -
使用递归的方式去思考、编程
1.继承类 和Java一样使用extends关键字,在定义中给出子类需要而超类没有的字段和方法,或者重写超类的方法。class Person { var name = ""}class Employee extends Person{ var salary = 0.0 def description = "员工姓名:" + name + " 薪水:...原创 2018-09-28 23:50:14 · 323 阅读 · 0 评论 -
Scala 函数式编程高级
1.包/作用域 在Java和Scala中管理项目可以使用包结构,C和C#使用命名空间。 对于package,有如下几种形式: 形式体现:package com.nick.impatient.peopleclass Person{ val name = "Nick" def play(message: String): Unit ={ }...原创 2018-09-28 23:30:19 · 868 阅读 · 0 评论 -
Scala 模式匹配和样例类
1.单例对象 Scala中没有静态方法和静态字段,可以用object这个语法结构来达到同样的目的。object Dog { println("已初始化...") private var leg = 0 def plus() = { leg += 1 leg }} 对象的构造器在该对象第一次使用时调用。如果对象没有使用过,...原创 2018-09-28 23:08:37 · 256 阅读 · 0 评论 -
Scala 数据结构(下)-集合操作
1.简单类和无参方法类的定义可以通过class关键字实现,如下:class Dog {@BeanPropertyvar leg = 4def shout(content: String) {println(content)}def currentLeg = leg} 使用这个类:println("===简单类和无参方法=...原创 2018-09-28 22:07:57 · 215 阅读 · 0 评论 -
Scala 数据结构(上)-集合
1.作为参数的函数 函数作为一个变量传入到了另一个函数中,那么该作为参数的函数的类型是:function1,即:(参数类型) => 返回类型def plus(x: Int) = 3 + xval result1 = Array(1, 2, 3, 4).map(plus(_))println(result1.mkString(“-")) 注:带有一个参数的函数...原创 2018-09-28 13:35:04 · 705 阅读 · 0 评论 -
Scala 隐式转换
1.switch 与default等效的是捕获所有的case_ 模式。如果没有模式匹配,抛出MatchError,每个case中,不用break语句。可以在match中使用任何类型,而不仅仅是数字。var result = 0;val op : Char = '-'op match { case '+' => result = 1 case '-' =...原创 2018-09-28 10:08:16 · 439 阅读 · 0 评论 -
Scala 面向对象编程高级
1.数据结构 Scala同时支持可变集合和不可变集合,不可变集合从不可变,可以安全的并发访问,两个主要的包: 不可变集合:scala.collection.immutable 可变集合:scala.collection.mutable Scala优先采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本。不可变集合继承层次:...原创 2018-09-27 18:29:58 · 386 阅读 · 0 评论 -
Scala 面向对象编程中级
异常 当碰到异常情况时,方法抛出一个异常,终止方法本身的执行,异常传递到其调用者,调用者可以处理该异常,也可以升级到它的调用者。运行系统会一直这样升级异常,直到有调用者能处理它。 如果一直没有处理,则终止整个程序。 Scala的异常的工作机制和Java一样,但是Scala没有“checked”异常,你不需要声明说函数或者方法可能会抛出某种异常。受检异常在编译器被检查,java必...原创 2018-09-27 17:08:48 · 1798 阅读 · 1 评论 -
Scala 面向对象编程基础
懒值(补:调用时才执行) 当val被声明为lazy时,他的初始化将被推迟,直到我们首次对此取值,适用于初始化开销较大的场景。 lazy示例:通过lazy关键字的使用与否,来观察执行过程object Lazy { def init(): String = { println("init方法执行") "嘿嘿嘿,我来了~" } def m...原创 2018-09-27 16:37:19 · 420 阅读 · 0 评论 -
Scala 函数式编程基础
过程 我们将函数的返回类型为Unit的函数称之为过程。(1) 定义过程示例1:def shout1(content: String) : Unit = {println(content)}(2)定义过程示例2:(补:定义函数时常用)def shout1(content: String) = {println(content)}(3)定义过程...原创 2018-09-27 16:10:20 · 621 阅读 · 0 评论 -
Scala 程序流程控制
函数 scala定义函数的标准格式为: def 函数名(参数名1: 参数类型1, 参数名2: 参数类型2) : 返回类型 = {函数体}(1)函数示例1:返回Unit类型的函数def f1() : Unit = { println(“f1”)}(2)函数示例2:返回Unit类型的函数,但是没有显式指定返回类型。(当然也可以返回非Unit类型的值)...原创 2018-09-27 16:02:59 · 251 阅读 · 0 评论 -
Scala 运算符与运算符重载
1.if…else scala中没有三元运算符,因为根本不需要。scala中if else表达式是有返回值的,如果if或者else返回的类型不一样,就返回Any类型(所有类型的公共超类型)。例如:if else返回类型一样val a3 = 10val a4 =if(a3 > 20){"a3大于20"}el...原创 2018-09-26 18:37:04 · 489 阅读 · 0 评论 -
Scala 基础语法
1.变量 Scala声明变量有两种方式,一个用val,一个用var。 val / var 变量名 : 变量类型 = 变量值。 val定义的值是不可变的,它不是一个常量,是不可变量,或称之为只读变量。val示例:scala> val a1 = 10scala> a1 = 20(此处会报错,因为val不允许初始化后再次修改a1变量的引用)va...原创 2018-09-26 11:50:46 · 584 阅读 · 0 评论 -
Scala 的 HelloWorld
1.Scala的HelloWorld(IDEA运行HelloScala程序)(1)在scala上右键,创建scala object(2)pom.xml打包插件<dependencies><dependency><groupId>org.scala-lang</groupId><a...原创 2018-09-25 18:12:07 · 564 阅读 · 0 评论 -
Scala 简单介绍与安装配置
1.Scala简述 Scala(斯卡拉)是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。 Scala运行在Java虚拟机上,并兼容现有的Java程序。 源代码被编译成Jav...原创 2018-09-25 18:06:10 · 348 阅读 · 0 评论