Scala入门--变量常量、插值及流程控制

这篇博客介绍了Scala的基础知识,包括面向对象特性和函数式编程概念。讲解了Scala的变量与常量声明,如var和val的区别。详细阐述了数据类型和层次结构,并探讨了字符串插值的不同方法,如s和f插值器的使用。此外,还详细解析了Scala的条件控制和循环控制,包括if语句、for循环、while和do-while循环,以及循环中断和返回值的处理。
摘要由CSDN通过智能技术生成

1、Scala概述

  • 面向对象特性
    1、每个值都是对象;
    2、对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述;
    3、利用特征实现混入式多重继承
  • 函数式编程
    1、每个函数都是一个值;
    2、支持高阶函数、柯里化(currying)、样例类(case class)及模式匹配
  • Scala是静态类型语言
  • 扩展性:隐式类、字符串插值

2、Scala变量与常量

  • 变量:赋值后可以改变,生命周期中可以被多次赋值
    var 变量名称:类型=xxx
  • 常量:赋值后不可变,类似于Java中的final变量
    val 常量名称:类型=xxx

注:一般无需显示指定类型,Scala编译器会自动推断出类型

3、Scala数据类型及层次结构

  • Scala与Java有着相同的原始数据类型

在这里插入图片描述

  • Scala数据类型层次结构

在这里插入图片描述

4、字符串插值

  • s插值器:允许将变量引用、表达式直接插入字面字符中
val name="James"
println(s"Hello,$name")	//Hello,James
println(s"1+1=${1+1}") 	//1+1=2  
  • f插值器
val height=1.9d
val name="James"
println(f"$name%s is $height%3.2f meters tall")

注:3.2中2的含义是保留两位小数,3是占位符的意思,占位符包括小数点和小数,不够占位符会用空格来补,占位符不够不影响,原值显示即可,如:占位符是10,值是52.36,会再用5个空格来补占位符,即:52.36;占位符是2,值是52.36,原值显示,即52.36

  • raw插值器
s"a\nb"		//将输出换行符
raw"a\nb"		//输出原始字符

结果分别是:

a
b
a\nb

注:如果既需要输出换行符也需要输出原始字符,此时就需要用到转义字符。

5、Scala程序控制

5.1 Scala条件控制

  • if语句基本语法与java中一致,不赘述
  • 条件语句返回值问题
    1、Scala任何表达式都有返回
    2、代码块“{…}”也是表达式,返回值为最后一个表达式结果
   val x=10
    val y={
   
      println("代码块");
      x+1
    }
    println(y)

    val y2={
   
      x+1;println("代码块y2");
    }
    println(y2)

结果如下:

代码块
11
代码块y2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值