用scala的for循环打印三角形,菱形,99乘法表

scala的for循环:

基本语法:

var num1=start_value;
var num2=end_value;
for(i -> num1 to num2 by step_num [j -> num1 to num2 by step_num] [;condition1;condition2]){
	//代码1
}

step_num:步长
condition1:循环守卫(条件,如果有,用;号隔开)
<- num1 to num2:范围给定(左右均为闭合)
<- num1 until num2:范围给定(左闭又开,取值取不到num2)

for推导式yield:把当前循环的元素记录下来,循环结束后,返回一个这些元素的集合。scala的for循环可以用花括号代替小括号;当for 推导式仅包含单一表达式时使用圆括号,当其包含多个表达式时使用大括号

var ff = for(i<- 1 to 10;if i%2==0) yield i
for(i<-ff){
println(i)
}
}
2
4
6
8
10

scala中的break
scala的中断语句,必须导入break包:
import scala.util.control.Breaks_

import scala.util.control.Breaks._
for (i<- 1 to 10){
if (i==6){
break
}
println(i)
}
1
2
3
4
5

scala中的continue
scala中没有continue ,用breakable()将break代码块包起来,由于break只跳出一次,所以在跳出break之后,进入了breakable(),代码可以继续执行。

import scala.util.control.Breaks._
for (i<- 1 to 10){
breakable{
if (i==6){
break
}
println(i)
}
}
1
2
3
4
5
7
8
9
10

小练习:

for(i<- 1 to 9){
	for(j<- 1 to i){
		print(i+"*"+j+"="+i*j+"\t")
	}
	println()
}
1*1=1
2*1=2   2*2=4
3*1=3   3*2=6   3*3=9
4*1=4   4*2=8   4*3=12  4*4=16
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25
6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81
for(i<- 1 to 10){
	for(j<- 1 to 10){
		print("*")
	}
	println()
}
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********
for(i<- 1 to 10){
	for(j<- 1 to 10-i){
		print(" ")
	}
	for(k<- 1 to i){
		print("*")
	}
	for(m<- i to 10){
		print("*")
	}
println()
}
         ***********
        ***********
       ***********
      ***********
     ***********
    ***********
   ***********
  ***********
 ***********
***********
for(i<- 1 to 10){
	for(j<- 1 to 10-i){
		print(" ")
	}
	for(k<- 1 to 2*i-1){
		print("*")
	}
	println()
}
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
for(i<- 1 to 10){
	for(j<- 1 to i){
		print(" ")	
	}
	for(k<- 1 to (10-i)*2-1){
		print("*")
	}
println()
}
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
		 *
for(i<- 1 to 10){
	for(j<- 1 to 10-i){
		print(" ")
	}
	for(k<- 1 to 2*i-1){
		print("*")
	}
	println()
	}
for(i<- 1 to 10){
	for(j<- 1 to i){
		print(" ")	
	}
	for(k<- 1 to (10-i)*2-1){
		print("*")
	}
	println()
} 

		 *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
for(i<- 1 to 10){
	for(k<- 1 to 10-i){
		print(" ")
	}
	for(k<- 1 to i){
		print("* ")
	}
	println()
}
		 *
        * *
       * * *
      * * * *
     * * * * *
    * * * * * *
   * * * * * * *
  * * * * * * * *
 * * * * * * * * *
* * * * * * * * * *
for(i<- 1 to 10){
	for(k<- 1 to i){
		print("*")
	}
	println()
}
*
**
***
****
*****
******
*******
********
*********
**********
for(i<- 1 to 10){
	for(k<- 1 to 10-i){
		print("*")
	}
	println()
}
*********
********
*******
******
*****
****
***
**
*
for(i<- 1 to 10){
	for(j<- 1 to 10-i){
		print(" ")
	}
	for(k<- 1 to i){
		print("*")
	}
	println()
}
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
**********
for(i<- 1 to 10){
	for(j<- 1 to i){
		print(" ")
	}
	for(k<- 1 to 10-i){
		print("*")
	}
	println()
}
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *
for(i<- 0 to 6){
	println(i+"+"+(6-i)+"="+6)
}
0+6=6
1+5=6
2+4=6
3+3=6
4+2=6
5+1=6
6+0=6
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页