依照Java学习Scala第一天总结

掌握三种字符串的格式:

  • 普通字符串引用
val str1="hello Scala"
  • 其中可以使用${}的方式
  • 通过三个字符串  可以将长文本中的格式完整发保存下来“” 防止因为特殊字符导致的输出错误 
val name="zhangsan"
val sex ="male"
val age = 25
val people= s"name=${name},sex=${sex},age=${age}"


val SQL=""" select * from user where ""......"" """

 

数据类型和操作符
  • 数据类型(与Java的差别)
     1.在scala语言中数据类型是通过I大写字母来开头的  这一点java是使用小写字母来开头的
     2.整形时使用Int  而不是:integer
     3.scala在定义变量时可以不适用类型,直接让scala编译器来自动推断
  • 操作符(与Java的区别)
    1.在运算附大多数与java一样,但scala中没有  自增,自减运算符,++  --
    2.在运算附中  scala可以直接使用== !=进行比较,相当于Java中的equals方法   比较两个对象的引用值可以使用eq来比较   
    ​​
    
    关于数据类型的注意点
    Any类型是所有类型的父类
    大多数的值类型都是通过AnyVal继承的  
    所有引用类型都是通过AnyRef来继承的(String,数组)   Unit相当于空类型     实例为()     相当于java中的void类型
    Null类型属于所有引用类型的子类唯一的实例:null,,,,,,
    Nothing类型是所有类型的子类型,在方法抛出异常的时候返回值类型就是nothing类型
val strl="abc"
val str2 =strl+""
println(strl == str2)   //在scala中可以使用 ==
println(str1.eq(str2))  //表示引用值,指的是地址是否一样

条件表达式(与Java的区别)
  • 在scala,条件表达式是有返回值的
  • 在Scala中没有三元表达式,可以使用if表达式来代替三元表达式
val a=10
val b=if(a>10) 0 else 1

 

块表达式
  • 在scala中,使用{}表示一个块表达式
  • 和if表达式一样,块表达式也是有返回值的,值就是最后一个表达式的值
val kai={val a=10;val b=20; a+b}
循环表达式    
  • 在Scala中可以使用for和while,但一般推荐使用for表达式,因为for表达式语法更简洁
  • 在嵌套循环中可以通过一个表达式来书写嵌套循环
  • 在for表达式中添加if判断表达式语句,这个if判断就相当于守卫,我们就可以使用守卫使for表达式更加简洁
  • for的推导式:将来可以使用for推导式来生成一个新的集合
     在 for循环体中,可以使用yield表达式来构建一个集合,将使用yield的for表达式称之为推导式
  • 练习

    //    输出1到一百
    for (i <- 1 to 100) {
      println(i)
    } //在这里  1相当于对象,使用<-表示输出的内容
    //    使出20个* 通过嵌套循环
    for (i <- 1 to 4; j <- 1 to 5) {
      println("*")
      if (j > 5) {
        println("")
      }
    }

    //    使用 守卫
    for (i <- 1 to 10 if (i % 3 == 0)) {
     // println(i)
      i
    }
//   推导式
    val a1=for(i<- 1 to 10)yield i
    println(a1)


    var i112=1
    while(i112<10){
      println(i112)
      i112=i112+1      //注意在Scala语言中,没有自增和自减
    }
 break,continue
  • 在Scala中这两个词被已移除了,但如果需要使用,这时就需要导包,,,Scala.util.continue包中的Break类中的breable和break方法
  •  breakable{
          var i112=1
          while(i112<10){
            println(i112)
            if (i112==5)  break()
            i112=i112+1
          }
        }//相当于Java中的break
        var i1122=1
        while(i1122<10){
          breakable{
          println(i1122)
          i112=i1122+1
        }
        }//相当于continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值