[转载] scala

参考链接: 在Java的数字中使用下划线

1 scala 底层是有一种隐式转换机制,比如对String类型,底层会转化Scala的StringOps类型 

2 scala 的通用的化简规则:调方法时候,方法的参数列表只有一个,则方法的()可以省略 

  

数字: 

1 scala中没有基本变量,都是对象和方法 

2 scala的int 表面是java的int 但是底层通过隐式转换,转成了scala的RichInt类型 

 to方法。用生成一个区间,一般用于for循环生成的范围 

RichDouble  RichFloat 

3 scala的操作符优先同java 

4 scala 会以方法的调用顺序来运算 

5 前置操作符 加上空格  分别是+(正数)  -(负数)   !(布尔取反)  ~(二进制) 

6 scala在使用前置操作符可以通过unary_(+-) 

  

1 scala 的if else 的用途和java一样 

2 scala 的通用化简规则: 如果方法体{}中只有一行代码,则方法体{}可以省略 

3 scala 的if  else 和java的不同的地方在于 :if else 是有返回值 的 ,可以接  ,返回值的不同 ,返回值的类型是Any 

4 scala的通用规则:scala会将方法体{}最后的一行代码当做返回值,不要return 

5 scala的Unit类型  java的void ,空类型    Any ---java 的Object 

6 println 的返回值类型是Unit 

7 scala的while用法一样java 

8 scala通过下标操作集合类型时 ,下标数字同java,使用(index),不同java  [index] 

  

for 循环 

 for(i<-1 to 9 ; j<-1 to i ; val sep =if(i==j) "\t\n" else "\t") print(j+"*"+i+"=" +i*j  +sep) 

1 scala 的集合是大的概论 ,包括: Array List Set  Map Tuple Range 

2 for yield 的作用,遍历一个集合,返回一个新的集合,指的是:遍历的是Array,返回时Array 

3 声明 map(key -> value) 

  

异常 

1 scala在catch,捕获异常用的是case来匹配 

2 scala的match机制类比于java的switch case 

  

break 和count 

1 scala使用break要导包 import util.control.Breaks. ,或是breakcable 包裹 

2 breakcable在for循环外,是break的效果,在for循环内,是 continue效果 

  

函数 

1 scala通过def 关键字当以函数  def 函数名(参数列表):返回值类型={ 方法体} 

  

  

匿名函数 

1 没有函数名  连接符号 =>   可以当做参数赋值  或传递 

2 把匿名函数当参数进行传递,高阶函数 

3 高阶函数允许将函数当参数进行传递 

4 匿名函数通用化简规则:如果参数的类型可以推出,可以不写 

5   如果匿名函数的参数只有一个,则参数的只有一个,则参数的()可以不写 

6 可以通过_(占位符) 

7 占位符指的是scala中的下划线_ ,可以用它当作一个或多个参数来使用 使用_占位符的前提要求:每个参数在函数仅出现一次。 

  

递归函数 

1 必须申明的数值的返回类型 

2 写递归的技巧:a.找出递归的结束条件  b.找出函数关系  

3 在scala,结束条件的返回值必须是return 

  

  

1   lazy数值声明之后,并不是马上赋值的,调用时才赋值 

2   lazy 只能常量val 

3 scala底层支持颗粒化。允许接受多个参数转化 

4 前面是普通参数,后面是匿名函数,叫自建立控制结构 

  

集合 

1 Array List  Set Map Tuple  Range Iterator 

2  immutable :定长数组Array  mutable :变长ArrayBuffer 

  

以下是Array和List通用而且重要的方法 1.take 2.takeRight 3.drop 4.dropRight 5.head 6.last 7.mkString 8.intersect(交集) 9.union(并集) 10.diff(差集) 11.exists 12.count 13.filter(过滤) 14.sortBy(排序) 15.map(映射方法) 16.max 17.min 18.sum 19.reduce 20.reverse(反转) 21.dinstinct(去重) 22.mapValue(专用于映射Map类型的value) Array和List没有此方法 

以上再重点掌握:1.filter  2.sortBy 3.map 4.reduce 5.mapValues 

补充:掌握类型转换的技巧。比如一个方法,distinct,compactBuff类型, 但是List有,所以可以通过类型转化来实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库学习笔记

MySQL常用语法总结 一.创建Web数据库 1.登陆到数据库 mysql -h hostname -u username -p mysql -h hostname -u username -D dbname -p 2.创建数据库 CREATE database dbname 3.使用数据库 USE dbname 4.创建数据库表 CREATE TABLE tablename (columns) 5.列的数据 create tabl…

[转载] java实现四种常用排序算法

参考链接&#xff1a; 用Java排序 四种常用排序算法 ##注&#xff1a;从小到大排 ##冒泡排序## 特点&#xff1a;效率低&#xff0c;实现简单 思想&#xff1a;每一趟将待排序序列中最大元素移到最后&#xff0c;剩下的为新的待排序序列&#xff0c;重复上述步骤直到排完所…

[转载] Java复制对象与集合工具类

参考链接&#xff1a; Java中的类和对象 项目中经常需要将某个对象的属性值复制给另一个对象&#xff0c;或者将一个集合复制到另一个集合。利用spring提供的BeanUtils&#xff0c;自己简单封装了一个工具类。 public class CopyUtils { /** * 复制集合 */ public static &l…

.NET深入学习笔记(4):深拷贝与浅拷贝(Deep Copy and Shallow Copy)

今天继续利用准备WSE安全开发文章的空闲时间&#xff0c;完善《.NET深入学习笔记》系列&#xff08;基本都是.Net重要的知识点&#xff0c;我都做了详细的总结&#xff0c;是什么、为什么、和怎么实现&#xff09;。想必很多人也接触过这两个概念。做过C的人对深浅拷贝的概念一…

VIM一般模式操作

2019独角兽企业重金招聘Python工程师标准>>> vim介绍 vim和vi几乎是一样的&#xff0c;唯一的区别就是当编辑一个文本时&#xff0c;使用vi不会显示颜色&#xff0c;而使用vim会显示颜色。 vim有三个模式&#xff1a;一般模式&#xff0c;编辑模式&#xff0c;命令模…

[转载] 解析Java的JNI编程中的对象引用与内存泄漏问题

参考链接&#xff1a; Java对象如何存储在内存中 JNI&#xff0c;Java Native Interface&#xff0c;是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code&#xff1b;在 native code 中嵌入 Java 虚拟机调用 Java 的…

[转载] java中创建对象的方式

参考链接&#xff1a; 用Java创建对象的不同方法 java中的4种创建对象的方式&#xff1a; 在这片博文中和大家简单分享一下常见的几种创建java对象的方式 1.使用 new 的方式&#xff0c;这也是我们最常见的一种方式 我们以 Person 类来举例说明 例&#xff1a; Person p…

Exchange 2007 SP1 如何定时清理日志???

Exchange 2007 SP1 如何定时清理日志&#xff1f;&#xff1f;&#xff1f; 时间:2011-12-31 11:00Tag标签&#xff1a;来源:未知 作者:达思科技 点击: 93次此文章出自&#xff1a; 专业数据恢复 问&#xff1a;Exchange 2007 SP1 如何定时清理日志&#xff1f;&#xff1f;&am…

[转载] java-继承和多态

参考链接&#xff1a; Java中的继承 继承&#xff1a; 继承就是保持已有类的特性而构造新类的过程。继承后&#xff0c;子类能够利用父类中定义的变量和方法&#xff0c;就像它们属于子类本身一样。 单继承&#xff1a;在类层次中&#xff0c;子类只继承一个父类的数据结构…

走进SQL Server 2005:备份与恢复功能

每当有任何新的软件发布的时候&#xff0c;你通常都会发现一些你从来不知道或者从来不知道你需要的新的特性。SQL Server 2000中存在的许多的备份和恢复特性都同样保留在了SQL Server 2005中&#xff0c;但是有一些新的提高同样值得你的关注。 镜像备份 SQL Server 2005让你可以…

[转载] Java对返回值的封装

参考链接&#xff1a; 用Java封装 定义自己所需要的返回值类型 public class CodeMsg implements Cloneable { private int retCode; private String message; // 通用异常 public static CodeMsg SUCCESS new CodeMsg(0, "success"); public static CodeMsg EMP…

stateful set 学习笔记

2019独角兽企业重金招聘Python工程师标准>>> 1、创建pv # cat pv.yaml kind: PersistentVolume apiVersion: v1 metadata:name: task-pv-volumelabels:type: local spec:capacity:storage: 3GiaccessModes:- ReadWriteOncehostPath:path: "/tmp/data" 2、…

[转载] Java中对象数组的使用

参考链接&#xff1a; 如何在Java中交换或交换对象 Java对象数组使用 一、Java数组的使用二、Java的对象数组2.1 问题提出2.2 问题解析2.3 问题拆分2.4 代码实现 一、Java数组的使用 对象数组其实和Java的数组类似的&#xff0c;所以要很清楚Java的数组是如何使用的&#xf…

Python自动化开发学习13-联合唯一

联合唯一 联合唯一&#xff0c;就是一个表中的多个字段的组合需要唯一。 使用mysql语句创建 比如创建一张hosts表&#xff0c;记录登录的ip地址或者hostname&#xff08;表中对应字段host&#xff09;和 端口号&#xff08;表中对应字段port&#xff09;&#xff0c;要求host 和…

[转载] Java获取泛型T的类型 T.class

参考链接&#xff1a; Java中的抽象 import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Main{ public static void main(String[] args) { Foo<String> foo new Foo<String>(){}; // 在类的外部这样获取 Type type ((…

自定义控件---重写Listbox实现item图标变换和item点击事件

博客开通有一阵了&#xff0c;就是没有时间写&#xff0c;遗憾啊。&#xff01; 这几天做了个排序的自定义控件&#xff0c;在listbox item里放是button 并支持图标的交替变换 效果如下&#xff1a; 把代码贴上&#xff1a;1using System; 2using System.Collections.…

[转载] Spring面试题整理

参考链接&#xff1a; Java中的动态方法Dispatch和运行时多态 Spring面试题整理 2018年03月07日 21:11:46 hrbeuwhw 阅读数&#xff1a;49116 Spring 概述 1. 什么是spring? spring 是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用&#xff0c;但是有…

ansible: Linux批量管理神器

我们已经知道&#xff0c;基于集群可实现服务器横向扩展slace out。可是&#xff0c;当上百台主机集合成共同为一个站点提供web页面访问的形式时&#xff0c;怎么管理整个集群体呢&#xff1f; 一些小伙伴大概听说过pxe等可实现自动安装系统。可是&#xff0c;要我们一台一台主…

[转载] Python numpy函数:all()和any()比较矩阵

参考链接&#xff1a; Python中的any和all 数组元素的比对&#xff0c;我们可以直接使用“”进行比较&#xff0c;比如&#xff1a; 但是当数组元素较多时&#xff0c;查看输出结果便变得很麻烦&#xff0c;这时我们可以使用all&#xff08;&#xff09;方法&#xff0c;直接…

MySQL初识-架构-安装-初始化-连接-管理工具-数据文件

MySQL架构和结构分析 官方架构图 内部组件结构图 MySQL安装方式 MySQL初始化 MySQL工作模式及常用命令 交互式模式&#xff1a;mysql> 1234567891011121314# 交互式模式下的客户端命令mysql> help # 获取命令帮助 mysql> \? # 同上 mysql> \c # 取消命令执行 mysq…