
scala
Smile to everyday
这个作者很懒,什么都没留下…
展开
-
Scala 数组 集合 函数大全
数组、集合函数++说明: 把两个数组或集合,合并成一个大集合,谁在左边合成大集合的时候,元素放在前面。返回值: 返回值是一个数组或者集合,也可以是数组和集合合并,返回值谁在左边,返回值就是谁的类型。代码演示://创建两个数组scala> var str1=Array(1,2,3)str1: Array[Int] = Array(1, 2, 3)scala> var str2=Array(4,5)str2: Array[Int] = Array(4, 5)//两个数组合并第原创 2020-08-12 01:43:13 · 1458 阅读 · 0 评论 -
scala读取文件与java的对比
一、写一个简单的java读写方法操作文件准备创建test.txt文本文件文件内容如下:001 zhangsan male002 lisi femalejava代码操作读写过程注:每一步解释在代码中注释import java.io.*;public class IO { public static void main(String[] args) throws IOException { //创建文件对象 File f=new File("D:\\原创 2020-08-03 20:02:22 · 1066 阅读 · 0 评论 -
scala正则表达式
一、scala支持多种正则表达式解析方式String.matches()方法正则表达式模式匹配scala.util.matching.Regex APIString.matches()方法案例演示:println("!123".matches("[a-zA-Z0-9]{3}")) //falseprintln("1123".matches("[a-zA-Z0-9]{4}")) //true正则表达式的模式匹配代码解析:创建正则表达式匹配规则创建需要匹配的字符创对象使用matc原创 2020-08-03 15:09:46 · 1131 阅读 · 0 评论 -
scala匹配模式、样例类【基本匹配模式、模式守卫、类型匹配】
一、scala匹配模式scala有三种匹配模式基本模式匹配模式守卫类型匹配注:匹配模式是从上往下匹配的,在后面的匹配中可能case之间调换位置,匹配结果就不一样。基本模式匹配传入什么基本就对相应元素元素进行匹配,输出匹配上的元素相应的输出。案例演示:def matchTest(x:Int):String=x match { case 1 => "one" case 2 => "two" case 3 => "three"原创 2020-08-03 11:12:58 · 1350 阅读 · 0 评论 -
scala小练习
1 100 以内的数求和,求出当和第一次大于 20 的当前数。思路:在循环相加时加入if判断,不符合条件就直接跳出循环,带出相对应的数字。object Work02 { def main(args: Array[String]): Unit = { var num=0 var sum=0 Breaks.breakable( for(i:Int <- 0 to 100){ if(sum>20){ num=i-1原创 2020-07-30 16:32:11 · 1568 阅读 · 0 评论 -
Scala Trait【特质】
一、scala特质的介绍scala Trait(特质)相当于java的接口,但是他的功能远比接口强大。scala中的Trait(特质)的方法是可以实现的,这点与java不同。在sacla中没有加入接口的关键字都是用extend继承,多继承时使用with关键字案例演示://创建说hello的接口trait SayHello{ def sayHello(name:String)}//创建听音乐接口trait ListenMusic{ def playMusic(musicName:S原创 2020-07-29 22:45:01 · 1055 阅读 · 0 评论 -
Scala协变和逆变【关键在于找到谁是爸爸】
一、协变与逆变的介绍正常来说创建一个Person类,然后可以创建一个Student类继承Person来继承他。当我们创建对象的时候可以用父类类型指向子类实例。再java中父类类型指向子类实例是可以的,当然再scala中也是可以存在的。但是如果是list[Person]那就不是list[Student]的父类了。再java中不存在协变与裂变,也就没有办法让list[Person]成为list[Student]的父类。再scala中不仅可以让list[Person]成为list[Student]的父类,甚原创 2020-07-29 19:39:25 · 1007 阅读 · 0 评论 -
用scala连接数据库【用隐式类封装增删改查操作,用java对比】
一、scala连接数据库代码演示:import java.sql.{Connection, DriverManager, ResultSet}class MysqlDemo{}object MysqlDemo { private val driver = "com.mysql.jdbc.Driver" private val url = "jdbc:mysql://192.168.222.110:3306/test" private val userName = "root"原创 2020-07-28 19:59:29 · 1186 阅读 · 0 评论 -
scala【隐式参数、隐式函数、隐式类】
一、隐式参数隐式参数是级别在中间的一种参数形式。在调用是可以写也可以不写。在有隐式参数的方法中,调用此方法,那么JVM虚拟机首先寻找的是传参,再传参没有找到的情况下,才会去寻找隐式参数,如果不巧的是隐式参数也没有,这是JVM还会去寻找参数默认值,如果都没有,则调用时会报错,提示需要传参,要么就去写隐式参数。案例演示:implicit val num:Int=10def sum2(a:Int)(implicit b:Int):Int={ a+b }def main(args: Array原创 2020-07-28 19:47:55 · 1245 阅读 · 0 评论 -
Scala类和对象
一、Scala类和对象类是对象的抽象,对象是类的具体实例。类是抽象的,不占用内存,二对象是具体的,占用存储空间,new出来的对象,都在堆当中。类与对象举例:手机在制作之前肯定是需要一张图纸的,那么那张图纸就是类,一个手机图纸,在不同的商家甚至是统一商家,可以造出不同的手机。案例演示:class Student(name:String,age:Int,sex:String) { var names:String=name var ages:Int=age var sexs:String=s原创 2020-07-27 18:57:59 · 1233 阅读 · 0 评论 -
Scala字符串、数组、集合
一、Scala字符串scala字符串实际上就是java中的String,但是scala本身没有String类创建字符串创建字符串和创建变量是差不多的操作。有两种创建方式://方法一var str:string= "我是字符串"//方法二var str="我是也是字符串"计算字符串长度计算字符串长度的方法和java中用的方法基本一致str.lebgth()案例演示:object MyFirst { def main(args: Array[String]): Unit = {原创 2020-07-25 17:07:07 · 1335 阅读 · 0 评论 -
Scala基础入门2【方法与函数】
一、方法与函数Scala的方法与函数的区别很小,方法是类的一部分,而函数在scala中是一个对象,可以赋值给一个或者多个变量。在Scala中用val语句定义函数,用def定义方法。方法的定义与申明...原创 2020-07-24 23:47:03 · 982 阅读 · 0 评论 -
Scala与java的对比【用两个代码分别实现小学算数题作业】
一、业务要求题目写一道题出来一道题每写完一道按回车,可以看到结果是否正确看完结果还可以看一看当前答题正确率每一道题如果做错,可以选择是否显示答案二、设计思路我们可以程序运行的时候首先做的第一件事先得到20到题。为了保证20到题不会出现重复,可以选择用map键值对的方式接受。当然20到题是随机的,加减乘除肯定也都是随机的,那么对于数字的随机数我们可以使用Random类去实现,对于限定了+、-、*、/的符号随机也会是问题。运算符号可以写死在list的集合当中,然后用控制在0~3的随机数去调原创 2020-07-23 22:58:11 · 990 阅读 · 0 评论 -
Scala基础入门1【带你找到门】
一、scala介绍Scala 是 Scalable Language 的简写,是一门多范式的编程语言scala特性面对对象特性Scala是一门面对对向语言,和java一样,scala底层就是java,可以和无缝对接。与java不同的是它是一种纯对象语言,每一个值都是对象。对象的数据类型和行为有类的特质描述。scala对于抽象类的机制的扩展有两种途径:一种途径是子类继承和java一样另一种途径是灵活的混入机制,避免了多重继承的问题。函数式编程Scala是一种函数式语言,函数是可以当作值来原创 2020-07-23 17:18:28 · 975 阅读 · 0 评论