03_Scala变量和数据类型

devtools/2024/10/19 3:23:15/

文章目录

    • @[toc]
  • **变量和数据类型**
  • **1.注释**
  • **2.变量和常量**
  • **3. 标识符的命名规范**
  • **4.scala的字符串**
  • **5.键盘输入**
    • **5.1 StdIn.readLine()**
    • **5.2 从文件中读取数据**
    • **5.3 Scala向外写数据**

变量和数据类型

1.注释

和Java完全一样

**在这里插入图片描述
**

2.变量和常量

var name [:VariableType] = value // variable
val name [:ConstantType] = value // constant

变量var常量val

其次,Java是先写类型后写名称,scala是先写名称,后写类型;

放到后面的原因是:scala认为类型并不重要

**在这里插入图片描述
**

一般编译器都可以进行自动推断,所以红色部分类型都可以省略;

**在这里插入图片描述
**

//    1.声明变量时,类型可以省略,编译器可以自动推导val b =100//    2.类型定义后就不能修改,因为Scala是强数据类型语言//    3.变量声明必须有初始值//    var  d//    4.变量,常量分别用var,val声明修饰,var修饰的变量的值可改变,val修饰不可改变a=100
//    b=50

引入数据类型若是静态变量 ,其可以改变它的属性值,但是前提是其属性值是var修饰;

**在这里插入图片描述
**

**在这里插入图片描述
**

注:你也不能直接重新new或者重新赋值操作;

3. 标识符的命名规范

  • 字母下划线开头,后跟字母数字下划线,和C/C++/Java一样。
  • 操作符开头,且只包含(±*/#!等),也是有效的标识符。这样用会用什么奇怪的好处吗?答案是灵活到天顶星的运算符重载。
  • 用反引号包括的任意字符串,即使是同39个Scala关键字同名也可以。有点奇怪的用法,尚不知道为什么。
  • **在这里插入图片描述
    **

关键字:

  • package import class obejct trait extends with type for
  • private protected abstract sealed final implicit lazy override
  • try catch finlly throw
  • if else match case do while for return yield
  • def var val
  • this super
  • new
  • true false null
  • 其中Java没有的关键字:object trait with implicit match yield def val var

scala_90">4.scala的字符串

基本用法

1)字符串通过+拼接

2)printf使用%进行值传递

3)字符串模板插值字符串:通过$获取其变量值;

**在这里插入图片描述
**

关于%不太行,还是别用此方法拼接;

**最终一个方法双引号前加s,然后用${}取值经常用到;在这里插入图片描述
**

关于格式化数据类型
双引号前面加f
然后%设置格式
.2表示小数点后保留几位
100表示前面要最少100位,如果不够,在整数前面补0,就像上述
如果超了,那没事

//三引号表示字符串,保持多行字符串的原格式输出

**在这里插入图片描述
**

 //stripMargin表示边界输出,也就是仅输出有效内容

**在这里插入图片描述
**

目的也是方便写sql,而不进行拼接;

5.键盘输入

5.1 StdIn.readLine()

**在这里插入图片描述
**

**在这里插入图片描述
**

5.2 从文件中读取数据

**在这里插入图片描述
**

1.定义文件
2.创建对象,Source.fromFile()
3.如果遍历需要创建迭代器		getLines().var
4.source.close()

5.3 Scala向外写数据

**在这里插入图片描述
**

1.定义PrintWriter对象
2.向外写
3.flush()
4.close
Unit表示方法没有返回值;

http://www.ppmy.cn/devtools/27237.html

相关文章

两性情感课程笔记 2020~2023

2020 剽悍生活博客七爱哦耶浪迹小鹿魔卡Chris李越泰阳欧阳浮夸舞步爱情光谱乌鸦倪称男哥路易梵公子绅士派艾克迪诺校长感觉流卡卡危险人物晓辉爱上情感恋爱研习社摄影艾瑞克Chic情叔明日恋爱情受最绅士魅男其它 2021 城市猎人知乎文章 20210926阿尔法安小妖曹学敏Chris七分学…

[高质量]2024五一数学建模A题保奖思路+代码(后续会更新)

你的点赞收藏是我继续更新的最大动力,可点击文末卡片获取更多资料 你是否在寻找数学建模比赛的突破点? 作为经验丰富的数学建模团队,我们将为你带来2024 年华东杯(A题)的全面解析包。这个解决方案包不仅包括完整的代…

百度语音识别的springboot应用

1、pom依赖 <dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.16.18</version> </dependency> 2、测试的demo 创建语音识别应用 百度智能云-管理中心 (baidu.com) 代码中要…

正则化手册:探索改进机器学习模型功能的实用技巧

书籍&#xff1a;The Regularization Cookbook&#xff1a;Explore practical recipes to improve the functionality of your ML models 作者&#xff1a;Vincent Vandenbussche 出版&#xff1a;Packt Publishing 书籍下载-《正则化手册&#xff1a;探索改进机器学习模型功…

红包项目preview

公司 红包作用 方案 新人红包、任务红包&#xff1a;拉新、提升转化&#xff0c;完成任务&#xff08;激活、注册、绑卡、收藏关注店铺等&#xff09; 增益模型&#xff0c;转化率预估 签到红包、任务红包&#xff1a;促活、提升转化 意图识别&#xff0c;多重背包&#…

嵌入式全栈开发学习笔记---C语言知识复习大全1

目录 Linux开发者的基本素养-文件分类 补充命令1-pwd 补充命令2-clear 在Linux上编写C程序 在Linux上编译程序 思考&#xff1a;C语言中一定要main函数吗 我们为什么要学习C语言&#xff1f;学习C语言有助于理解计算机底层工作原理&#xff01; 后面我们的很多项目也都是…

spring-boot示例

spring-boot版本&#xff1a;2.0.3.RELEASE 数据库: H2数据库 &#xff08;嵌入式内存性数据库&#xff0c;安装简单&#xff0c;方便用于开发、测试&#xff0c;不适合用于生产&#xff09; mybatis-plus框架&#xff0c;非常迅速开发CRUD

GPT3 探索指南(三)

原文&#xff1a;zh.annas-archive.org/md5/e19ec4b9c1d08c12abd2983dace7ff20 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第九章&#xff1a;构建一个由 GPT-3 提供动力的问答 app 到目前为止&#xff0c;我们已经查看了&#xff08;并编写了&#xff09;很多代…