Scala基础1-变量

本文介绍了Scala编程中的基本概念,包括变量与常量的定义、条件语句(if-else)、循环结构(while、do-while、for)的使用,以及数组和元组的操作。通过示例代码展示了如何进行循环练习,如绘制星形图案,以及创建乘法表。此外,还探讨了数组的创建和元组的声明与迭代。
摘要由CSDN通过智能技术生成

变量常量命名

  1. 以字母或者下划线开头,后接字母,数字,下划线
  2. 以操作符开头,且只包含操作符(+ - * / # !等)
  3. 用反引号...包括的任意字符串
//var修饰的变量可修改
var a: Int = 10
println(a)
a = 20
println(a)


//val修饰的常量不可修改
val b = 10
println(b)


var c = "abc"
println("你好"+c)
println(s"你好,$c")
/*
    %s 字符串类型
    %d 整形
    %c 字符类型
*/
printf("你好,我是%s,我今年%d岁了\n",c,a)


/*
  2代表一共显示2位,若数字位数超过2,则显示全部数字,若数字位数小于2,则前面会用空格补全
  3代表一共显示3位小数,四舍五入
*/
var height = 1.9d
var name = "张三"
println(f"$name%s is $height%2.3f 米")

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

条件语句

// 条件语句
val i = 10;
if (i>5) {
  println("max five")
}else if (i == 5){
  println("equal five")
}else{
  println("min five")
}

// if单行表达式可以省略{}
val o = if (i == 10) i + 1 else i


val x = 5
val y = {
  println("我是一个代码块")
  x+5
}

//scala中的三目元算符
val age = 16
println(if (age < 18) "未成年" else "成年")

循环语句

var num = 0
while (num < 5) {
  println(num)
  num = num + 1
}

println("--------")

do {
  println(num)
  num = num + 1
} while (num < 5)

println("--------")

//从1到5循环5次
var n = 5
for (m <- 1 to (n)) {
  println(m)
}

//倒序循环
for (i<- 10 to 1 by(-1)){
  println(i)
}for (i<- 1 to 10 reverse){
  println(i)
}

println("--------")

//从1到4循环4次
for (m <- 1 until (5)) {
  println(m)
}

/*
  循环中断
  break必须和breakable配合使用,同时要导入import scala.util.control.Breaks._;
*/
breakable(for (i <- 1 to (10) by (2)) {
  if (i >= 5) {
    break;
  }
  println(i * 100)
})

/*
  for循环过滤
  每个条件之间用分号分隔
*/
val q = 10
for(i:Int<-1 to q;if i%2==0;if i>5){
  println(i)
}

val q = 10
val ints = for (i: Int <- 1 to q; if i % 2 == 0; if i > 5) yield i
for (a<-ints) println(a)
//迭代器遍历
val iterator = ints.iterator
while (iterator.hasNext) {
  println(iterator.next())
}

循环练习

//三角形
for (a <- 1 to (5)) {
  for (b <- 1 to a) {
    print("*")
  }
  println()
}


println("--------")


for (a <- 1 to (5)) {
  for (b <- 1 to 6 - a) {
    print("*")
  }
  println()
}


println("--------")


for (a <- 1 to (5)) {
  for (c <- 1 until (a)) {
    print(" ")
  }
  for (b <- 1 to 6 - a) {
    print("*")
  }
  println()
}


println("--------")


breakable {
  val line = 10
  for (a <- 1 to (line)) {
    if (a == 1) {
      for (a <- 1 to (line + 1)) {
        print("*")
      }
      println()
    } else {
      if (a == line) {
        println("*")
        break();
      }
      print("*")
      for (c <- 1 to (10 - a)) {
        print(" ")
      }
      print("*")
      println()
    }
  }
}


println("--------")


breakable {
  val line = 10
  for (a <- 1 to (line)) {
    if (a == 1) {
      for (a <- 1 to (line + 1)) {
        print("*")
      }
      println()
    } else {
      if (a == line) {
        for (e <- 1 to line) print(" ")
        println("*")
        break();
      }
      for (b <- 1 until a) {
        print(" ")
      }
      print("*")
      for (c <- 1 to (10 - a)) {
        print(" ")
      }
      print("*")
      println()
    }
  }
}


println("--------")


//乘法表
for (a <- 1 to 9) {
  for (b <- 1 to a) {
    print(s"$a*$b=" + a * b + "\t")
  }
  println()
}

数组和元组

//数组
val arr = new Array[String](3)
arr(0) ="hello"
arr(1)="abc"
arr(2)="java"
println(arr.to)

val arr2 = Array("1", "2", "3")

//从1到10(开区间),以2增长的数组
val arr3 = Array.range(1, 10, 2)
for (a<-0 until(arr3.length)){
  println(arr3(a))
}

//元组,最多22个元素
//声明方式一
val tp = ("hello", 'a', 32)
println(tp._1)
//迭代元组
tp.productIterator.foreach(w=>println(s"value=$w"))

//声明方式二
val tuple = new Tuple2[String, String]("hehe", "haha")
println(tuple._2)

def ox = "green" -> 36"
println(ox)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值