1.13

键盘录入
使用步骤:

导包

import scala.io.StdIn
1
通过 stdIn.readXxx() 接收用户键盘录入的数据

接收字符串数据:

StdIn.readLine()
1
接收整数数据:

StdIn.readInt()
1
示例:提示用户输入字符串

scala> import scala.io.StdIn
import scala.io.StdIn

scala> print("输入一句话:")
输入一句话:
scala> print("输入的是:"+StdIn.readLine())
输入的是:scala
1
2
3
4
5
6
7
运算符
算数运算符
包括 +(加号)、-(减号)、*(乘号)、/(除号)、%(取余)。

Scala中没有 ++,--这两个运算符。

a % b,底层是 a - a/b * b

Scala 中把字符串和整数数字 n 相乘相当于让字符串重复 n 次。

scala> print("x"*3)
xxx
1
2
赋值运算符
基本赋值运算符 =
扩展赋值运算符 +=、-=、*=、/=、%=
关系运算符
包括>、>=、<、<=、==、!=

最终结果一定是 true 或 false。

如果需要比较数据值,使用==或者!=,如果比较引用值需要使用 eq 方法。

scala> val s1 = "a"
s1: String = a

scala> val s2 = s1 + ""
s2: String = a

scala> print(s1 == s2)
true
scala> print(s1.eq(s2))
false
1
2
3
4
5
6
7
8
9
10
逻辑运算符
包括 &&、||、!

最终结果一定是 true 或 false。

位运算符
包括&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移一位,相当于乘2)、>>(右移一位,相当于除以2)

位运算符只针对于整形数据,运算符操作的是数据的二进制补码形式。

流程控制
顺序结构
程序按照从上至下、从左至右的顺序依次逐行执行,中间没有任何判断和跳转。

顺序结构是 Scala 中的默认流程结构。

选择结构
if 注意事项:

和 Java 一样,如果大括号内只有一行代码可省略大括号

条件表达式有返回值

没有三元表达式,可以使用 if-else 代替

scala> println(if(1==1) 1 else 0)
1
1
2
块表达式:

使用一对大括号表示一个块表达式,块表达式也是有返回值的,最后一个表达式的值就是返回值

scala> val n = {
| println(1)
| 1+2
| }
1
n: Int = 3
1
2
3
4
5
6
循环结构
for 循环
for(i <- 表达式/数组/集合){
//逻辑
}
1
2
3
例如:打印10次 “hello scala”

scala> val n = 1 to 10
n: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

scala> for( i <- n){
| println("hello scala")
| }
hello scala
hello scala
hello scala
hello scala
hello scala
hello scala
hello scala
hello scala
hello scala
hello scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
**守卫:**for 表达式中的 if 判断语句。

例如输出1 - 10 之间的偶数:

scala> for(i <- 1 to 10 if i % 2 == 0 ) println(i)
2
4
6
8
10
1
2
3
4
5
6
**推导式:**Scala 中的 for 循环也有返回值,可以使用 yield 表达式构建出一个集合。

例如,生成一个10、20…100 的集合:

scala> val set = for(i <- 1 to 10) yield i * 10
set: scala.collection.immutable.IndexedSeq[Int] = Vector(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)

posted @ 2025-02-07 13:43  七安。  阅读(29)  评论(0)    收藏  举报