Scala学习第一天

1,什么是scala

   scala是用java编写的,实现了java语言脚本化,有丰富的类库,因为java的类库就是他的类库,自己有封装了很多类库,使得scala这门语言功能很强大.他是一个完全面向对象的一门语言,数据类型,方法,对象,类都是对象

注意:scala是一种解释性语言,也就是你使用一个方法或者变量,他会直接出现内容,我们也叫REPL(read-eval-print loop)

2,scala常用的类型

 Byte(字节类型)  Char(字符类型) Short(短整型) Int(整数类型) Long(长整型) Float(单浮点类型) Double(双浮点类型)       Boolean(布尔类型)

3,变量和常量

    val a =100; //常量(不可改变)

    var a=100;//变量(可改变)

4,方法各种写法

     在scala中方法可以写的很随便如:

      (1)    1.toString

      (2)    1.toString()

      (3)    1 toString

    (4) 1 toString()

     以上用法都是可以把1转成字符串类型

5,大数方法(BigInt)

     val a=BigInt("9999999999");

     a*a*a*a=9999999996000000000599999999960000000001

6,导包

  import scala.math.sqrt      //准确导包

  import scala.math._      //导入math包下的所有类

  import scala.math.sqrt ,scala.math.min  //导入多个包

  import scala.math.{sqrt=>s}  //给导入类指定别名

7,函数和方法介绍

  方法和类相关,通过类和对象调用

  函数和类不相关,可以直接调用

8,apply方法

  apply方法在一般情况下我们都可以把他看成()的一种重写方式,他背后的实现原理是一个名叫apply()方法来实现的我们举个例子:

     "hello"(2)和"hello".apply(2)是一样的

9,控制结构(if else)

      scala的表达式是有返回值得,返回最后一条语句的返回值

       如:  if(10==10){ 10,11} else 12   //他会返回11

       基本格式: val a=if(x>1) x else x-1

      //注意如果只有单个表达式,可以不需要括号,如果你没有用else他会默认返回Unit类型

10,Unit类型

   无有用值的占位符,表示(),类似于java中的void

11,粘贴模式

    在我们没有用到ide的开发工具时,如果我们要执行很多表达式可能行不通,我们就可以使用粘贴模式。,可以一下子输入很多表达式一起全部执行

            :paste   //进入粘贴模式   

             ctrl+d  //退出

12,输出和输入

  print  :  print(100)  //不换行

  println : println(100)  //换行输出

  printf :  printf("%d + %d = %d",100

,200 , 100 + 200)        //c语言风格输出方式

  readLine:   readLine("your name") //和java中的scanner一样,用于控制台输入

13,循环(for,while)

 while循环:(和java没什么区别)

//99乘法表
	scala>:paste
	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循环

scala中的for循环和java中的增强for循环差不多 只不过换了一种形式
for循环的99乘法表
:paste //进入编辑设置
for(i <- 1 to 9){              //1 to 9 :生成1到9的range数(可迭代)
for(j <- 1 to 9 ){
			if(j <= i){
				printf("%dx%d=%d\t",j,i,i*j);
			}
		}
		println();
}

//break  //跳出
一般用于结束当前控制表达式或者循环
//for循环高级用法
1,for循环增强
for(i <- 1 to 9;j <- 1 to 9) print(i*9)   //相当于嵌套for循环这样会等简便
2,for循环守卫条件
for(i <- 1 to 9 if if i==2;j <- 1 to 9 if i==j) println(i*j) //相当于在for循环下面进行if判断
3,for循环多条件逻辑运算
for(i <- 1 to 100){
  if(i%2==2 && i%3==0){
  println(i)
}
4,yield 生成器
val a=for(i <- 1 to 10) yield i * 2  //所谓生成器就是把操作后的数据用()包起来

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值