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

本文总结了Scala与Java在变量声明、函数返回值、语句结束、赋值串联、循环控制、for循环语法、通配符、构造器、内部类等多方面的差异。例如,Scala中变量只需声明var或val,函数返回值可直接在末尾指定,而Java需要显式声明类型。此外,Scala不强制使用分号,提供了不同的循环控制方式,并使用'_'作为通配符。
摘要由CSDN通过智能技术生成

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

if(i==5) break

println(i);

}

}

println(test4);

}

def test4():Int={

return 1

}

}

//scala可以使用return

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

for(i

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类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值