scala String

代码演示

双引号 三引号

复制代码
object TestString {
  def main(args: Array[String]): Unit = {
    
    val str1:String ="abc"

    //2.获取某个字符,理解为数组,下标从0开始
    val rs =str1(0)
    //3.总长度'
    println(str1.length)
    //4.拼接。多个字符串,拼接成一个
    val str2=str1 + "-123"    
    val str3=str1.concat("456")
    //5.插值。s"${变量}"
    val age = 18
    val str4 = s"我今年${age},我明年${age+1}岁"
    println(str2,str3,str4)

    //6.截取字符串:从身份证号中,取出出生年月日
    //substring(起点,终点不包含)
    val birthday = "42900520040719125521".substring(6,13)
    println(s"生日是:${birthday}")
    //任务:判断身份证的性别。倒数第二位,奇数 ->男性,偶数 -> 女性
    val gen = "42900520040719125521".substring(16,17).toInt

    var sex = if(gen %2 == 0)"女" else "男"
    
    //7.分割字符 ->数组
    //5门课程的总分
    val str5 ="90,78,75,89,96"
    //str5.split(用什么符号来切割)
    val rs1=str5.split(",").map(e => e.toInt).sum
//    println(rs1(0),rs1(1))
//    rs1.foreach(println)
//    val total =rs1(0).toInt+rs1(1).toInt+rs1(2).toInt+rs1(3).toInt+rs1(4).toInt
    println(rs1)

    //8.英文全部转成大写
    println("aBc".toUpperCase())
    
    //9.英文全部转成小写
    println("ABc".toLowerCase())

    }
}

【实训】

1.创建一个字符串表示的浮点数,将其转换为浮点效英型,然后再将这个浮点数类型,然后再将这个浮点数转换回字符串并打印

2.有 个字符串"Hello, World! Scala is amazing.提取出"Scala isamazing.子串,并将其与"Programmming in Scala is fun."连接起来。

3.创建一个字符串,包含姓名、年龄和成绩(如"John,20,85")通过字符串方法提取出年龄和成绩,并将成绩转换为整数类型。

4.编写程序,对于给定的英文字符串,统计其中每个单词出现的次数(假设单词之间以空格分隔)

Scala 复制代码
object TestString实训 {
  def main(args: Array[String]): Unit = {
    //1.创建一个字符串表示的浮点数,将其转换为浮点效英型,然后再将这个浮点数类型,然后再将这个浮点数转换回字符串并打印
    val aa = "3.14"
    val aa1 = aa.toDouble
    val aa2 = aa1.toString
    println(aa2)

    //2.有 个字符串"Hello, World! Scala is amazing.提取出"Scala isamazing.子串,并将其与"Programmming in Scala is fun."连接起来。
    val b ="Hello, World! Scala is amazing."
    val b1 = b.substring(14,31)
    println(b1)
    val b2 = b1 + "Programmming in Scala is fun."
    println(b2)

    //3.创建一个字符串,包含姓名、年龄和成绩(如"John,20,85")通过字符串方法提取出年龄和成绩,并将成绩转换为整数类型。
    val  c= "John,20,85"
    val c1 = c.split(",")
    println(c1)
    val age = c1(1).toInt
    val score = c1(2).toInt
    println(s"Age: $age, Score: $score")
    //4.编写程序,对于给定的英文字符串,统计其中每个单词出现的次数(假设单词之间以空格分隔)
    var woedsArr = "hello word hello".split(" ")
    val wordCountMap = scala.collection.mutable.Map[String, Int]()

    for (word <- woedsArr) {
      if (wordCountMap.contains(word)) {
        wordCountMap(word) += 1
      } else {
        wordCountMap(word) = 1
      }
    }

    for ((word, count) <- wordCountMap) {
      println(s"Word: $word, Count: $count")
    }
  }
}
相关推荐
SelectDB17 小时前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康1 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
IvanCodes1 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康2 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
字节跳动数据平台3 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康3 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台4 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术4 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康4 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康5 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive