Scala入门

0目录

|--------------------------------------------------------------------------------|
| 1.Scala 安装 2. 变量和常量;基础数据类型和运算符 3. 流程控制语句 4. 练习 |

1.Scala安装

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 下一步安装 |
| Cmd 输入Scala |
| 下载scala插件 |
| 添加框架 |
| 新建Scala Object |
| 修改项目结构 |
| 设置(Setting 编辑器为8) |

2.变量和常量;基础数据类型和运算符

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 打印hello word |
| var 变量 val 常量 1 )基本语法 var | val 变量名 [: 变量类型] = 变量值 var a:Int = 19 // 变量 val b:Int = 20 // 常量 说明:在Scala中声明一个变量时,可以不指定类型,编译器根据值确定 大部分情况下用的都是常量。能用常量的地方不用变量。 |
| 在声明/定义一个变量时,可以使用var或者val来修饰,var修饰的变量可改变,val修饰的变量不可改。 |
| 字符串输出 (1)字符串,通过+号连接 (2)printf用法:字符串,通过%传值。 (3)字符串,通过$引用 ##### |
| 键盘输入 在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。 1)基本语法 StdIn.readLine()、StdIn.readShort()、StdIn.readDouble() 2)案例实操 需求:可以从控制台接收用户信息【姓名,年龄,薪水】。 |
| 数据类型 |
| Scala数据类型关系总结  1)Scala中一切数据都是对象,都是Any的子类。  2)Scala中数据类型分为两大类:数值类型(AnyVal)、引用类型(AnyRef),不管是值类型还是引用类型都是对象。  3)Scala数据类型仍然遵守,低精度的值类型向高精度值类型,自动转换(隐式转换)  4) Scala特殊的类型之Null,它只有一个实例就是Null,它是所有引用类型(AnyRef)的子类。  5)Scala特殊类型之Nothing,是所有数据类型的子类,主要在一个函数没有正常返回值使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数。 |
| 运算符 基本语法 |
| 比较运算符 基本语法 |
| |
| 逻辑运算符 基本语法   用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个Boolean值。   假定:变量A为true,B为false |
| 赋值运算符 基本语法  赋值运算符就是将某个运算后的值,赋给指定的变量。 |

3.流程控制语句

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| If else 单分支 |
| If-else 多分支 |
| For 循环 基本语法 注意区分to 和util的区别 |
| 循环步长(by关键字) |
| 循环返回值 将遍历过程中处理的结果返回到一个新Vector集合中,使用yield关键字 |
| While 循环 基本语法 说明: (1)循环条件是返回一个布尔值的表达式 (2)while循环是先判断再执行语句 (3)与if语句不同,while语句没有返回值,即整个while语句的结果是Unit类型() (4)因为while中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量,而变量需要声明在while循环的外部,那么就等同于循环的内部对外部的变量造成了影响,也就违背了函数式编程的重要思想(输入=>函数=>输出,不对外界造成影响),所以不推荐使用,而是推荐使用for循环。 |
| do while循环 |
| While循环中断 Scala内置控制结构特地去掉了break和continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break和continue的功能,而不是一个关键字。scala中使用breakable控制结构来实现break和continue功能。 循环遍历10以内的所有数据,奇数打印,偶数跳过(continue) |

4.练习

|---------------------------------------------------------------------------------------------------------------|
| 打印99乘法表 |
| 打印直角三角形 |
| 打印等腰三角形 |
| 打印菱形 |
| 简单公式 |
| |

相关推荐
吃喝不愁霸王餐APP开发者5 分钟前
Java后端服务在对接全国性霸王餐API时的多数据中心部署与就近调用策略
java·开发语言
froginwe1119 分钟前
jQuery UI 实例
开发语言
这周也會开心22 分钟前
128陷阱,==与equals区别
java·开发语言
kaikaile199529 分钟前
matlab基于人工势场法的路径规划
开发语言·matlab
沙漠豪32 分钟前
提取PDF发票信息的Python脚本
开发语言·python·pdf
youliroam1 小时前
ESP32-S3+OV2640简单推流到GO服务
开发语言·后端·golang·esp32·ov2640
BrianGriffin1 小时前
asdf 安装的 PHP 上传文件大小限制
开发语言·php
码luffyliu1 小时前
从 2 小时价格轮询任务通知丢失,拆解 Go Context 生命周期管控核心
后端·golang·go
a努力。2 小时前
宇树Java面试被问:方法区、元空间的区别和演进
java·后端·面试·宇树科技
2501_916766542 小时前
【面试题1】128陷阱、==和equals的区别
java·开发语言