Scala -- 初识scala

ADS新手必看:用Filter DesignGuide快速搞定一个4GHz LC低通滤波器(附保姆级避坑指南) 本文为ADS新手提供了4GHz LC低通滤波器的完整设计流程,重点介绍了如何使用Filter DesignGuide避免参数设置陷阱、正确解读仿真结果以及解决实际电路与理论值的偏差问题。通过真实工程案例,详细讲解了工程创建、Filter DesignGuide配置、电路优化、仿真设置及实际工程中的进阶技巧,帮助工程师快速掌握LC滤波器设计。 阅读详情

Scala:

      官网:https://www.scala-lang.org/

      scala是纯面向对象的函数式编程语言,scala 中的基本数据类型 也是对象(类似java中的基本数据类型的包装类)

       特点:

         1. 无缝与java集成,运行在jvm中

         2. 类型推断 ,弱类型引用,根据上下文可以推断声明的变量的类型

         3. 并发和分发,体现在对集合的操作(Actor)

         4. 特质,特征,性状,将Java风格的界面的灵活性与类的强大功能相结合。考虑有原则的多重继承。(面向接口编程,类似java中的接口和抽象类) 关键字 trait

         5. 模式匹配;

         6. 高阶函数

       安装使用:

            1. 直接官网下载环境包,配置环境变量 和java 一样

                  环境要求 jdk8 以上,jdk8有时候也会出现问题,当报错的时候 要么升级jdk,要么降低scala版本

                 例如报错,当时也是使用的jdk8 ,但是还是不适用,最后重新下载个低版本的scala解决

 

            2. 使用IDE, 官网下载集成了scala的eclipse; 或者使用idea 下载插件

       语法模块

数据类型

       1. 基本数据类型: Byte,Short,Int,Long, Float,Double,Char,Boolean

       2. 字符串类型:String

       3. Unit: 表示无值,类似void

       4. Null 

       5. Nothing : 所有其他类型的子类型,表示没有值

       6. Any : 所有类型的超类,任何实例都属于Any类型

       7. AnyRef : 所有引用类型的超类

       8. AnyVal : 所有值类型的超类

类型定义

       var  定义变量  var v = 10; 等同 var v:Int = 10

       val 定义不可变的变量,val v = 10

代码示例:scala中的helloWord

// 声明一个scala object
object TestScalaObject {

 // scala中的main方法, object中才能使用main方法
  def main(args: Array[String]): Unit = {

    // 声明变量  scala中语句后可以不带分号 ;
    var v1 = 10
    val v2 = 12   // 不可变的变量,重新复制报错
    print(v1 + v2)  // 输出22
  }
}

    scala 中的类和对象

         scala中的类和对象能同名,同名的类和对象 分别叫做伴生类 和伴生对象,并且伴生对象能访问伴生类的私有属性;

         object中的属性默认是val 的不可变的,声明成var 的也是静态的,默认 方法也是静态的;

    Scala中的类

// 声明一个scala类 ,属性必须有默认值,没有默认值需要将他设置为抽象类
// TestScalaClass(name: String,age: Int) 默认构造器
//  声明其他的构造器的时候必须调用默认构造器
 class TestScalaClass(name: String,age: Int) {
  var namex = name ;
  val agex = age;
  var gender = "";
 // 三个参数的构造器
  def this(name: String,age: Int,g: String) {
    this(name,age)
    this.gender = g
  }
  // 无参构造器
  def this(){
    // 必须调用 类上声明的 构造器
    this("",0)
  }

   scala中的循环和判断语句

def main(args: Array[String]): Unit = {

    // 1. 使用 to 包头包尾
    for(i<- 1 to 10) {
      println(i)  // 1-10
    }
    // 2. 使用 until
    for(i <- 1 until 10) {
      print(i)   // 1-9
    }

    // 3. 加入判断
    for(i <- 1 to 10 ;if(i%2 ==0 && i >5 || i==2)){
      print(i)
    }
    // 4. if else,while ,do... while 和java一致
    // 5. scala中不能使用 ++ 例如 count++

 

储能电池管理系统介绍(一) 介绍储能BMS的架构以及各模块功能 阅读详情

相关推荐

S32K3xx系列DMA驱动实战:EB配置与Mcal接口应用全解析(含Adc硬件触发示例)

本文深入解析S32K3xx系列MCU的DMA驱动开发,涵盖EB工具配置与Mcal接口应用,特别包含ADC硬件触发示例。通过详细架构分析、实战配置步骤和工业级应用案例,帮助开发者掌握AUTOSAR环境下DMA高效数据传输技术,提升汽车电子和工业控制系统的性能。

weixin_29162439的博客 463

Scala 之 并行计算

并行计算: Scala为了充分使用多核CPU,提供了并行集合(有别于前面的串行集合),用于多核环境的 并行计算。 主要用到的算法有: Divide and conquer : 分治算法,Scala 通过 splitters(分解器),combiners(组合器)等抽象层来实现, 主要原理是将计算工作分解很多任务,分发给一些处理器去完成,并将它们处理结果合并返回 Work stealin 算法【学...

李昊轩的博客 1723

FPGA实现高效数字下变频:CORDIC与CIC滤波器的Verilog优化设计

本文深入探讨了FPGA实现高效数字下变频的技术方案,重点介绍了CORDIC算法与CIC滤波器的Verilog优化设计。通过详细的算法原理分析、FPGA实现技巧和实战经验分享,展示了如何利用CORDIC的旋转运算替代乘法操作,以及CIC滤波器在降采样中的高效性能。文章还提供了完整的系统集成方案和资源优化策略,为无线通信和雷达信号处理领域的工程师提供了实用参考。

redis7keeper的博客 721

scala并发_探索Scala并发

2003年,Herb Sutter在他的“免费午餐结束了”一文中揭露了业界最大的“肮脏小秘密”,清楚地表明,越来越快的处理器时代已经结束,将由一个新的并行化时代取代。单个芯片上的“核心”(虚拟CPU)。 这个消息在编程界引起了震惊,因为正确地保持线程安全的代码一直都存在,从理论上讲,即使不是在实践中,高能力的软件开发人员也对您的公司而言过于昂贵。 似乎很少有特权的人对Java的线程模型和并发A...

cusi77914的博客 758

Win11注册表没有MMC的解决方法

本文详细介绍了在Win11系统中解决注册表没有MMC项的问题的方法。通过创建并导入注册表修复文件,我们可以成功地在注册表中添加缺失的MMC项。在操作过程中,需要注意备份注册表、以管理员身份运行工具以及系统更新等事项。希望本文能够帮助到遇到类似问题的用户,提高系统管理的效率和便捷性。如果你还有其他关于Windows操作系统的问题或疑问,欢迎随时提问并寻求帮助。

nntxthml的博客 1552

DIY音频必备:手把手教你用AB类功放模块打造高保真桌面音响(含电路图)

本文详细指导如何利用AB类功放模块DIY高保真桌面音响,涵盖选型指南、核心元器件清单、电路搭建与焊接工艺,以及系统调试与音质优化技巧。AB类功放以其接近A类功放的音质和B类功放的效率,成为音频爱好者的理想选择,适合有一定电子基础的实践者。

weixin_42665725的博客 441

Scala入门之初识Scala

初识Scala 定义 Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸 缩的语言、并集成面向对象编程和函数式编程的各种特性。 -------百度百科 Scala即Scalable Language,Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并...

David_house的博客 335

缺陷检测-金属表面缺陷检测

1介绍 缺陷检测是工业视觉技术中最重要的组成部分。业务广泛,场景丰富,技术难点高、工作量大。针对不同的场景,选择不同的相机和

huneng1991的专栏 5248

Scala初识

一:Object、Trait、Class二:scala类型三:基本操作一:Object、Trait、ClassScala三个类:Object、Trait、Class 区别与联系trait 是介于抽象类和接口中间,多继承;trait 里面可以有方法体,Java的接口就不能有;trait又和抽象类不一样,它可以多继承,并且是无参数构造器;所以是介于两者之间的,它的出现就是为了多继承,并且能写实体的方法

wenhui12345的博客 284

14、Java 中 TAF 和 FCF 的使用及 Oracle 数据库升级与迁移指南

本文详细介绍了Java中实现高可用性的TAF(透明应用故障转移)和FCF(快速连接故障转移)技术,以及如何将Oracle 9iR2 RAC环境升级到10gR2 RAC,并将数据从OCFS迁移到ASM。通过示例代码和操作步骤,帮助开发者和数据库管理员更好地应对数据库故障和数据迁移问题,提升系统的可用性和性能。

egg99的博客 107

5G/NR 随机接入过程学习总结

对于随机接入过程,NR与LTE之间有相同点,也有不同点,其最大的区别在于触发场景已经Msg1的处理,详情见下文。 第21章 随机接入过程 21.1 随机接入过程事件触发场景 1) 初始接入:UE从RRC_IDLE态到RRC_CONNETTED态; 2) RRC连接重建:以便UE在无线链路失败后重新建立无线连接(期间重建小区可能是UE无线链路失败的小区,也...

欢迎来到小七的博客,这里将带你深入探索5G通信的神秘世界。无论你是通信领域的专业人士还是对这一领域充满好奇心的技术爱好者,这里都有专业协议解读、通信知识普及以及有趣的Python编程内容等你发现。 7万+

初识Scala

官网: https://www.scala-lang.org/ key看出Scala有以下特点: 面向对象编程 函数式编程 一种高级别语言 基于JVM key很方便的调用Java类 工具类Java类 common-lang3 学习Scala对于后面学习Spark、Flink、Kfk等很有帮助 key跟其它语言互补,但是不一定就是说key代替其它语言 Scala版本目前大致有如下这些: ...

liweihope的博客 455

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

scala初识

scala 特点:一种纯面向对象的语言,每个值都是对象 1、基本概念 对象:类的一个具体实例,包含属性和方法 类:类是对象的抽象,对象是类的一个实例 方法:描述类的一个功能/行为能力,一个类可以有多个方法 属性:即为每个对象拥有的自身的实例变量集合,需通过赋值来创建真正的属性值 2、基本语法 区分大小写 类名首字母大写 方法名首字母小写,驼峰命名 程序文件名 规范的写法应与类名或对象名一致,一 .scala 结尾 主程序入口 def main(args: Array[String].

m0_54082598的博客 166

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Scala】之 初识

文章目录Scala 初识(1)Scala 类型 (2)元组 和 多重赋值(3)参数传递变长参数值参数默认值使用命名参数隐式参数(4)字符串和多行原始字符串字符串插值(5)操作符重载 Scala 初识 Scala 是一门静态类型的编程语言,Scala会尽可能地使用类型推断。 // Sample.scala object Sample extends App { println(&quot;Hello wo...

fanfan4569的博客 248

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

初识scala

初识scala使用scala解释器scala> 1+2 res0: Int = 3scala> res0 * 3 res1: Int = 9scala>res0 变量名 Int 变量类型 Scala包概念类似Java Java所有基本类型在Scala中都有对应的类 scala> println("hello world")定义变量scala两种变量,val和var:

kiikgu的专栏 341
上一篇: 设计模式 -- (单例模式)
下一篇: Scala -- 函数
xiaoduup
博客等级 码龄9年 23粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值