Scala学习5之scala与java的不同之总结1

14 篇文章 0 订阅


1.scala不同声明变量的具体类型,只需要声明是var还是val,即变量或不变量,由编译器自动判断。而java需要具体声明,比如Int,String


2.scala函数声明返回值是声明在后面,而且可以不用return,直接在最后写返回变量或常量即可。比如

    def main(args:Array[String]):Int={

     println("hello")

     1

   }

而java或者c需要return


3.scala不用分号结束,而java需要

    

scala:
println("hello scala")

java:
println("hello java");

scala设计者觉得多输入一个字符都是浪费,所以编写从简


4.scala中赋值语句是unit的,所以不能串联:

x=y=1 //有问题
y=1返回值是unit,所以x赋值有问题

而java和c++可以


5.scala没有提供break和continue来推出循环,而java可以。

   scala解决办法:设置boolean变量,或者使用Breaks对象;continue不知道怎么使用

package test
import scala.util.control.Breaks._
object test3 {
  def main(args:Array[String]){
    println("hello test3")
    var test=new test2() 
    test.main1()
    
    breakable{
      for(i<-0 to 10){
        if(i==5) break
        println(i);
      }
    }
    println(test4);
  }
  def test4():Int={
    return 1
  }
}


//scala可以使用return


6.scala的for可以用守卫,java不能这么表达

for(i<- 0 to 5 ;j<-0 to 5 if i!=j){]

7.scala通配符为‘_’,java为‘*’

8.scala的构造器名称为this,而java和C++为与类名称一样,当需要修改类名称时,显然java麻烦。

    scala的辅助构造器前一定要有一个主构造器或者其他辅助构造器

    而且scala的主构造器参数可以直接放在类后面

   

class Person(name:String,age:Int) {

}
而java行数比较多


9.java中内部类从属于外部类,但是scala实例化的内部类是不同的。可以使用类型投影Network#Person,表示任何Network的Person类





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值