scala 第一天

scala区分大小写
ctrl+l 清屏
scala常用类型:
----------------
Byte
Char
Short
Int
Long
Float
Double
Boolean
-----------------
scala方法
----------------------
3 intersect //交集
6 distinct //去重
7 apply //取出第几个字符,可省略
8 大数运算
----------------------

1.赋值等
scala>val a = 100 //定义常量,不可改变
scala>var a = 100 //定义变量 ,可变
scala>val a,b,c=100 //同时定义多个常量
scala>var a,b,c=100 //同时定义多个变量
scala>1 to 10 //range(1,2,3,4,5,6,7,8,9,10)
scala>1.to(10) //range(1,2,3,4,5,6,7,8,9,10)

2.类型相关
scala自动类型推断,不需要定义类型
scala>val b = "tom" //b:string =tom
scala>val b:Int =100 //改类型
scala>1.toString //用方法定义类型
scala>1.+tab键 //可查看可转类型

3.intersect
scala>"hello".intersect("world") //字符串的交集,输出lo

4.scala只能用+=/-=
scala>var a=100 //赋值变量
scala>a+=1 //+=操作/-=操作

5.scala导入包
import scala.+tab //查看可导入的包
import math._ //导入数学包;_相当于通配符*

6.distinct
scala>"hello".distinct //String = helo
scala>"hello".distinct(3) //char = o,去重后锁定字符

7.apply
scala>"hello".apply(4) //取出4号索引的字符,可省略apply
scala>"hello"(4) //简化写法

scala>val a=Array(1,2,"3",4) //定义一个一维数组
scala>val a=Array(Array(1,2),Array(3,4)) //定义二维数组

8.大数运算
第一步.scala>val a = BigInt("99999999999999999999999999999")
第二步.scala>a*a*a*a

9.定义数组
scala>val a=Array(1,2,"3",4) //定义一个一维数组
scala>val a=Array(Array(1,2),Array(3,4)) //定义二维数组

10.条件表达式(无switch)
1.scala>val x=2
2.scala>val a=if(x>1)1 else -1 //a:Int = 1
2.scala>val a=if(x>1)"pig" else -1 //a:Any = pig
2.scala>val a=if(x<1)1 //a:AnyVal = (),空值,()相当于void
else前换行,必须用花括号
2.scala>val a=if(x>1){1
}else if(x<1)2 else -1

11.语句终止
1.scala>var n,r =1
2.scala>var x=if(n> -1){r=r*n;n} //x:AnyVal=0,取决于;后的表达式。此处为n

12.注释
scala>//this is a memoe //注释

13.readLine
1.scala>val name=readLine("your name");val age=readLine("your age")toInt
2.scala>print("your name is:"+name+","+"your age is:"+age)

14.循环
scala>var n=10
scala>while(n>0){println(n);n-=1} //输出10,9,8,7,6,5,4,3,2,1
---------------------------
while循环99乘法表:
scala>:past
var r=1;
while(r<10){
var c=1;
while(c<10){
if(c<=r){
printf("%dx%d=%d\t",c,r,r*c);
}
c+=1;
}
println();
r+=1}
---------------------------
for循环
1.scala>val n=10
2.scala>for(i <- 1 to n)println(i)
--------------------------
for循环99乘法表
scala>:past
for(i<- 1 to 9){
for(j<- 1 to 9){
if(j<=i){
printf("%dx%d=%d\t",j,i,i*j);
}
}
println();
}
------------------------------
for循环增强
scala>for(i <- 1 to 3;j <- 1 to 5)println(i*j) //相当于双循环
//每一个生成器都可以带一个守卫
scala>for(i <- 1 to 3;j<- 1 to 3 if i!=j)println(i+","+j)//j带了一个守卫
scala>for(i <- 1 to 10 if i%2==0;j <- 1 to 3 if i!=j)println(i+","+j)//各带一守卫

scala>for (i <- 1 to 100){
if(i%2==0 &&i%3==0 && i%5==0)
{println(i)}}


15.breaks的使用
scala>import scala.util.control.Breaks._
scala>:past
for(i<- 1 to 10 ){
println(i)
if(i==5){
break;}
}

16.yield,生产,产生新的集合
1.scala>val x=for(i<- 1 to 4)yield i*2 //x:Int(2,4,6,8)
2.scala>for(j <- x){println(j)} //输出2 4 6 8

REPL
---------------
read-eval-print loop, or REPL
读 求值 打印 循环
----------------

posted @ 2018-07-27 22:43  小#安  阅读(110)  评论(0)    收藏  举报