[Práctica de chispa] val, var, range y otros ejercicios básicos de operación

Ejercicio 1: La diferencia entre la asignación de variables val y var

val, var definen algunas variables y asignan

Requisito 1: Tome una captura de pantalla del resultado de la operación y súbalo a gitee
Requisito 2: Escriba readme.md

  • val representa una constante (una vez inicializada, no se puede modificar) y var representa una variable (se puede asignar varias veces)
val str = "abc"

// val 为常量,不可再修改,会报错
str = "def"

// var为变量,可进行修改其中的值
var str1 = "abc"
// 改变str1
str1 = "def"

// 识别b类型为Int ,之后赋为String,产生类型不匹配
var b = 123

// 报错,类型不匹配
b = "change"

Ejercicio 2: Operación de Rango

Definición de rango, conversión de tipo a Lista

Requisito 1: Tome una captura de pantalla del resultado de la operación y súbalo a gitee
Requisito 2: Escriba readme.md

Una secuencia aritmética especial, indexada e inmutable de números

  • hasta (incluido el límite superior del rango)
// 1. Int 类型的Range,步长为1 
1 to 10
// 不可变的 result: Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

// 2. 转换为List
(1 to 10).toList

// 3. Int 类型的Range,步长为2
1 to 10 by 2
// Range(1, 3, 5, 7, 9)

10 to 1 by -2
// Range(10, 8, 6, 4, 2)

// 4. Char 类型
'a' to 'g' by 3
  • hasta que no incluye el límite superior del intervalo
1 until 10
// Range(1, 2, 3, 4, 5, 6, 7, 8, 9)

Ejercicio 3: Operadores bit a bit

La operación básica y el método de llamada de método del operador de bits

Requisito 1: Tome una captura de pantalla del resultado de la operación y súbalo a gitee
Requisito 2: Escriba readme.md

  • & operador (ambos son 1 al mismo tiempo, el resultado es 1, de lo contrario es 0)
//1. &运算符
0 & 1
// res15: Int = 0
//1. &运算符
// 0100   
// 0110
// 0100 ---> 4
4 & 6
 // res16: Int = 4

// 方法实现
var a1 = 4
a1.&(6)
// res22: Int = 4
  • | operador (dos siempre que uno de los resultados sea 1, el resultado es 1)
//2. | 运算符 
0 | 1
// res17: Int = 1

//2. | 运算符
// 0100
// 0110 
// 0110 --->6
4 | 6
// res18: Int = 6

// 方法实现
var a1 = 4
// a1: Int = 4

a1.|(6)
// res23: Int = 6
  • ^ operador (1 si dos son diferentes, 0 si son iguales)
// 3. ^运算符 
0 ^ 1
// res19: Int = 1
// 3. ^运算符
// 0100 
// 0110
// 0010 -->2
4 ^ 6
// res20: Int = 2
// 方法实现
var a1 = 4
// a1: Int = 4

a1.^(6)
// res25: Int = 2

Ejercicio 4: Ejercicios de matriz de longitud fija

Definición de matriz de longitud fija, métodos comunes

Requisito 1: Tome una captura de pantalla del resultado de la operación y súbalo a gitee
Requisito 2: Escriba readme.md

declaración de matriz

// 声明方法一,数组元素一开始都为0
val intArray = new Array[Int](5)
// 声明方法二
val intArray1 = Array(1,2,3,4,5)

operaciones de matriz

// 数组的长度
intArray1.length
// res36: Int = 5

// 查看数组第一个元素
intArray1.head
// res37: Int = 1

// 查看数组除了第一个元素剩下的元素
intArray1.tail
// res38: Array[Int] = Array(2, 3, 4, 5)

// 查看数组是否为空
intArray1.isEmpty
// res39: Boolean = false

// 查看是否包括元素值为2的元素
intArray1.contains(2)
// res40: Boolean = true

// 数组的遍历
for(x <- intArray1){
    
    
    println(x)
}

métodos de matriz

  • matriz concatenada
val array1=Array(1,2,3)
val array2=Array(4,5,6)

val array3 = concat(array1,array2)
//可使用++来连接数组
val array4=array1++array2
  • llenar
// 2个元素,元素值为3的数组
val array5 =fill(2)(3)
// array5: Array[Int] = Array(3, 3)
  • deDim
val array6 = ofDim(2)
// array6: Array[Nothing] = Array(null, null)
  • Crear una matriz 2D
// 1.方法一 ofDim
val array7:Array[Array[Int]] = ofDim(3,3)
// array7: Array[Array[Int]] = Array(Array(0, 0, 0), Array(0, 0, 0), Array(0, 0, 0))

// 2. 方法二
val intMultiArr1 = Array(Array(1,2),Array(3,4))
// intMultiArr1: Array[Array[Int]] = Array(Array(1, 2), Array(3, 4))

val intMultiArr2 = Array(Array("ab","cd"),Array("ef","gh"))
// intMultiArr2: Array[Array[String]] = Array(Array(ab, cd), Array(ef, gh))

import Array._

// 循环输出二维数组的元素
for(i <- 0 to 1){
    
    
     for(j <- 0 to 1){
    
    
        println(intMultiArr1(i)(j))
    }
}

for(i <- 0 to 1){
    
    
      for(j <- 0 to 1){
    
    
        println(intMultiArr2(i)(j))
      }
    }
  • Crear un rango de matriz dentro del intervalo especificado
//不包括10
range(1,10)

// 步长为3
range(1,10,3)
// res62: Array[Int] = Array(1, 4, 7)

Ejercicio 5: Ejercicios de matriz de longitud variable

Definición de matriz de longitud variable, métodos comunes

Requisito 1: Tome una captura de pantalla del resultado de la operación y súbalo a gitee
Requisito 2: Escriba readme.md

 import scala.collection.mutable.ArrayBuffer
// 数组的声明
 val buf = ArrayBuffer(1,3,6)
//    在末尾添加元素
 buf += 9
// 数组的长度
 buf.length
// 通过索引访问数组元素
 buf(2)
// 移除最后的n个元素
buf.trimEnd(2)

buf
// ArrayBuffer(1, 3)

// 在第一个元素前插入元素 5,6
buf.insert(1,5,6)

buf
 // res51: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 5, 6, 3)
// 删除第一个元素
buf.remove(1)
// res52: Int = 5

buf
// res53: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 6, 3)

// 变为定长数组,更放心做运算,防止共享变量发生修改
buf.toArray
// res54: Array[Int] = Array(1, 6, 3)

Supongo que te gusta

Origin blog.csdn.net/weixin_40433003/article/details/130428332
Recomendado
Clasificación