在开发过程中,我们经常会遇到需要从一组产品名称或用户输入中提取每个单词的首字母,并生成一个简洁的缩写的场景。这种缩写通常用于展示产品、生成订单编号或是用于标签等场景中。...今天,我们就来看看如何利用JavaScript轻松实现这一功能。 提取产品名称首字母生成产品代码 假设我们有一个电商平台,需要为每个产品生成一个简短的代码,这个代码由产品名称中每个单词的首字母组成。...使用正则表达式 /\b(\w)/g,我们可以匹配每个单词的首字母。 match 方法会返回一个包含匹配结果的数组,join('') 方法将这些字母连接成一个字符串,即产品代码。...正则表达式解释: \b:匹配单词的边界,也就是单词的开头或者空格后面的第一个字符。 \w:匹配字母或数字(在这个场景中,我们只关心字母)。 g:表示全局搜索,也就是匹配字符串中的所有符合条件的字符。...结束 通过使用JavaScript的正则表达式,我们可以轻松实现从字符串中提取每个单词首字母并生成缩写的功能。这种方法在实际业务场景中非常实用,特别是在需要简化文本展示或生成标识符的场合。
七,字符串String Java 中的字符串和Scala中的字符串来源于同一个包,java.lang.String,两者具有完全相同的方法。 以下为字符串一些常用操作。 ? ?...十二,迭代器 Java的容器类都可以使用for each循环,List、Set和Queue会迭代每个元素,Map会迭代每个key。 下面以List和Set的for each遍历为例。 ?...; RUNTIME类型的注解会被加载进JVM,并且在运行期可以被程序读取。...RUNTIME类型的注解如何使用,完全由程序自己决定。 二十七,Scala和Java对比 Java发明于1995年,Scala发明于2003年。...Java中的类支持静态属性和静态方法,Scala用伴生对象和伴生方法概念将静态属性和方法与实例属性和方法分离。 Java的循环中支持break和continue关键字,Scala的循环中不支持。
四,语法规则 1,标识符 标识符由字母和数字组成,遵循驼峰命名规则。 类和对象的名称以大写字母开头。 方法的名称以小写字母开头。 $可以被用作字母,但要慎重使用。...4,变量 Scala支持两种类型的变量,即常量val和变量var。 常量在程序中不可以被重新指向,变量可以被重新指向新的对象。 声明变量时可以指定类型,也可以由解释器根据初始值自动推断。 ?...注意当使用第(3)种方法scalac把代码编译时,脚本中必须要定义object单例对象。并且在object对象中实现main方法作为程序入口。 ?...六,字符串String Scala的字符串是一种有序且不可变的基本数据类型,直接使用的Java中定义好的java.lang.String。 1,创建字符串 ? 2,字符串常用操作 ? ? ?...并且在一个良好风格的scala程序中,只需要使用val不可变变量而无需使用var可变变量。 显式的for或者while循环是不可取的,让我们用更多的高阶函数吧。
5.5.1 函数的调用过程 为了让大家更好的理解函数调用机制,看1个案例,并画出示意图,这个很重要,比如 getSum 计算两个数的和,并返回结果。 ? 5.5.2 函数的递归调用 ?...* * 2、修改上一个程序,编写一个方法中,方法不需要参数,计算该矩形的面积,并将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印(结果保留小数点2位)。 ... (0 to n).reverse.foreach(println) } } 5、编写一个 for 循环,计算字符串中所有字母的 Unicode 代码(toLong 方法)的乘积。...示例代码如下: package com.atguigu.chapter06.exercises import scala.io.StdIn /** * 5、编写一个 for 循环,计算字符串中所有字母的...: Hello 该字符串中所有字母的 Unicode 代码的乘积为:9415087488 该字符串中所有字母的 Unicode 代码的乘积为:9415087488 8、把7练习中的函数改成递归函数。
四,语法规则 1,标识符标识符由字母和数字组成,遵循驼峰命名规则。类和对象的名称以大写字母开头。方法的名称以小写字母开头。可以被用作字母,但要慎重使用。...4,变量 Scala支持两种类型的变量,即常量val和变量var。 常量在程序中不可以被重新指向,变量可以被重新指向新的对象。 声明变量时可以指定类型,也可以由解释器根据初始值自动推断。 ?...注意当使用第(3)种方法scalac把代码编译时,脚本中必须要定义object单例对象。并且在object对象中实现main方法作为程序入口。 ?...六,字符串String Scala的字符串是一种有序且不可变的基本数据类型,直接使用的Java中定义好的java.lang.String。 1,创建字符串 ? 2,字符串常用操作 ? ? ?...并且在一个良好风格的scala程序中,只需要使用val不可变变量而无需使用var可变变量。 显式的for或者while循环是不可取的,让我们用更多的高阶函数吧。
而在Scala中,几乎所有构造出来的语法结构都有值,从而使得程序更加精简,易读 1 :条件表达式 Scala中if/else 语法结构和java,C++一样,不过,在Scala中if/else表达式有值...1 : 0 那么这个在scala中就是val s = if(x >0 ) 1 else -1 在Scala中,每个表达式都有一个类型,比如上面你的表达式返回类型是int类型,因为两个分支都是int类型的...,返回的类型就是Any的 2 : 循环 在scala中,while循环和在java与C++中一样 while(n > 0){ n -= 1 } 在scala中没有与for循环直接对应的结构,如果需要这样的循环我们可以使用...表达式结构:for(i <- 表达式) 让变量i遍历的表达式的所有值 在遍历字符串或者数组时,通常需要使用0 到 n-1的区间,这个时候可以用 util方法而不是to,util方法会犯一个并不包含上限的区间...中并没有提供break或者continue语句来退出循环,那么囚需要break时,该如何做呢 1.使用Boolean类型来控制变量 2:使用嵌套函数-在函数当中return 3:使用Breaks对象中的
类名 - 对于所有的类名的第一个字母要大写。 如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。...示例:class MyFirstScalaClass 方法名称 - 所有的方法名称的第一个字母用小写。 如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。...保存文件时,应该保存它使用的对象名称(记住Scala是区分大小写),并追加".scala"为文件扩展名。 (如果文件名和对象名称不匹配,程序将无法编译)。...基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。...变量声明 在学习如何声明变量与常量之前,我们先来了解一些变量与常量。 一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。
Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。...Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分,如def main(args: Array\[String]) {}Scala 程序里,语句末尾的分号通常是可选的。...Scala中的字符串和Java的一样,也是不可变,String 类中length() 方法来获取字符串长度,String 类中你可以使用 printf() 方法来格式化字符串并输出,String format...让迭代器 it 逐个返回所有元素最简单的方法是使用 while 循环:object Test { def main(args: Array\[String]) { val it =...我们可以使用 Scala 的 Source 类及伴生对象来读取文件。
在学习一门编程语言过程中,变量应该是继输出“hello,world”之后的第一个核心概念:在计算机程序的世界里,变量可看做是连接程序员和二进制字节码之间的桥梁。...一般而言,程序员所说的变量是通常是指代一个或一组数据,然而按照Scala的价值观,函数其实也可算作变量。甚至广义的辩证来讲,一段程序代码中绝大多数部分都是由各种变量组成的。...本文主要分享三个问题: 如何定义一个变量 变量的数据类型 变量/标识符命名规范 01 如何定义一个变量 个人有过C/C++语言学习的经历,当前主要应用的是Python语言,相较于这两者,Scala其变量定义方式与二者都全然不同...比如C/C++中崇尚先定义后使用,所以一般是先声明一个变量并明确指定变量类型,诸如: int i = 1; // C 其中int 用于声明了具体的变量类型,而Python中则要简洁得多,由于动态类型的特性...`包括的任意字符串,即使是关键字(39个)也可以 [true] 简单画下重点:scala中除了字母、数字和下划线之外,操作符和美元符也可利用;系统关键字也可以通过加反引号``来用作变量标识符。
// (1) 因为在实际编程中,我们更多的需求是获取/创建一个对象后,读取该对象的属性或者是修改该对象的属性值,但是我们很少去改变这个对象的本身(即内存地址值)。 ...3、相对于 Java 的类型系统,scala 要复杂些!也正是这复杂多变的类型系统才让面向对象编程和函数式编程完美的融合在了一起。...2.9.4 字符类型本质探讨 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来 存储:字符 -> 码值 -> 二进制 -> 存储 读取:二进制 -> 码值 -> 字符 -> 读取 字符和码值的对应关系是通过字符编码表决定的...5、Scala 程序编写的规则。 答:略。 6、简述:在配置环境、编译、运行各个步骤中常见的错误。 答:略。 7、如何检测一个变量是 val 还是 var??...10、用 BigInt 计算 2 的 1024 次方。 提示:在 BigInt 找相应的方法。 ? 11、在 Scala 中如何获取字符串 “Hello” 的首字符和尾字符?
测试用例分为四类: 循环和向量化 字符串操作 数值计算 输入 / 输出 每个测试都足够“简单”,可以用任何一种语言快速编写,旨在解决以下问题: 非连续内存位置的访问 递归函数的使用 循环或向量化的利用...该测试用例旨在测量语言访问连续内存位置的速度,并查看每种语言如何处理循环和向量化。 表 CPA-1.0:在 Xeon 节点上使用循环复制矩阵元素所用的时间。...在后续的每个项中,前一个项中每个整数出现的次数连接到该整数的前面。如,一个项 1223,接下来将会是 112213 ,或“一个 1,两个 2,一个 3”。...这里,我们从数字开始:1223334444 ,并确定 n 项(随 n 不同)的外观数列,这个测试用例突出显示了语言如何操作操纵任意长度的字符串。...给定年份的文件位于一个标记为 YYYY 的子目录中(例如,Y1990、Y1991、Y1992 等)。我们希望编写一个脚本,打开每个文件,读取一个三维变量(经度 / 维度 / 级别)并对其进行操作。
Scala语言的Java程序员。...( Scala 程序的执行速度跟 Java 的一样快)。...,因为 nameHasUpperCase 变量被重新赋值会给 loop 循环带来副作用, loop 是通过字符串中的字母索引进行迭代的。...name.toLowerCase().equals(name); 这一行 Java 代码展现出一种更为函数化的风格,因为它转换不可变数据: name 这个字符串被转换为另外一个全部字母都是小写的字符串...exists 方法在对象集合中迭代,并依次将每个元素传递给函数对象。在这里, name 字符串被视为字符集合,因此 exists 会把字符串的每一个字符都传递给该函数。
如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法。...类名 - 对于所有的类名的第一个字母要大写。 如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。...示例:class MyFirstScalaClass 方法名称 - 所有的方法名称的第一个字母用小写。 如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。...保存文件时,应该保存它使用的对象名称(记住Scala是区分大小写),并追加".scala"为文件扩展名。 (如果文件名和对象名称不匹配,程序将无法编译)。...二、标志符 Scala 可以使用两种形式的标志符,字符数字和符号。 字符数字使用字母或是下划线开头,后面可以接字母或是数字,符号" "在 Scala 中也看作为字母。
} 在Scala 2中,也可以通过创建一个扩展App类的对象来定义主程序。...在主程序中,创建了一个类 MyClass 的实例 a,并调用了它的 printCompanionSecret 方法。...在calculateArea方法中,我们使用模式匹配对传入的shape进行匹配,并根据不同的Shape子类执行相应的逻辑。在每个case语句中,我们根据具体的形状类型提取相应的属性,并计算出面积。...在主程序中,多次调用 printType 方法,并传入不同类型的参数。根据传入的参数类型,方法会执行相应的逻辑并输出对应的类型信息。...请继续探索和尝试,让自己真正理解并掌握Scala的精髓。持续学习,不断思考,享受编程的乐趣。 最后,希望这篇文章能给你带来收获和思考。
do {//无条件的执行一次,之后当条件为真时执行 /*...*/ } while (condition) 2、for循环 for循环仅以一种形式存在,和java的for-each循环一致 Java...上面的代码使用了一个小技巧,使用键来访问和更新map的简明语法,可以使用map[key]来读取值,并使用map[key]=value设置他,不需要get和set。...in的使用范围不只局限于字符串。如果你有任何支持比较实例的类(实现了java.lang.Comparable),就可以对这个类的实例进行比较。...Scala") //和“Java” Scala”一样 //true 字符串在这里是按字母比较的,因为那是String类是这样实现Comparable...in同样适用于集合 println(“Kotlin” in setOf(“Java”, “Scala”,“hello”)) //这个集没有“Kotlin”字符串 //false kotlin不包含在集合里面
注意下 scala类型与Java的区别 1. scala中所有的类型都使用大写字母开头 2....整形使用Int而不是Integer 3. scala中定义变量可以不写类型,让scala编译器自动推断 运算符 ?...而比较两个对象的引用值,使用eq 示例 有一个字符串"abc",再创建第二个字符串,值为:在第一个字符串后拼接一个空字符串。 然后使用比较这两个字符串是否相等、再查看它们的引用值是否相等。...我们可以使用守卫让for表达式更简洁。...i * 10 while循环 scala中while循环和Java中是一致的 示例 打印1-10的数字 参考代码 scala> var i = 1 i: Int = 1 scala> while(i
需要注意的是,这种方法在Scala 3中不再推荐使用。它们被新的@main方法取代了,这是在Scala 3中生成可以从命令行调用的程序的推荐方法。...在calculateArea方法中,我们使用模式匹配对传入的shape进行匹配,并根据不同的Shape子类执行相应的逻辑。在每个case语句中,我们根据具体的形状类型提取相应的属性,并计算出面积。...在主程序中,多次调用 printType 方法,并传入不同类型的参数。根据传入的参数类型,方法会执行相应的逻辑并输出对应的类型信息。...这就是Scala中惰性函数的基本用法。你可以使用 lazy 关键字定义惰性函数,让函数的执行被推迟。总结在总结之处,我希望强调Scala的美学和实用性。...请继续探索和尝试,让自己真正理解并掌握Scala的精髓。持续学习,不断思考,享受编程的乐趣。最后,希望这篇文章能给你带来收获和思考。
领取专属 10元无门槛券
手把手带您无忧上云