scala初学之helloWorld

本文通过剖析Scala的基本语法特性,如object的使用及main方法的定义,深入浅出地介绍了Scala编程语言的基础概念。文章还对比了Scala与Java在函数定义、类型声明等方面的差异,并通过实例帮助读者理解Scala的简洁性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  特此声明,本文中的代码 部分或全部来源王家林的scala教程;虽然王家林一直被大家所诟病,而且也无法确定这些scala的程序代码是不是他的。但是作为一个初学者觉得就算代码不是他的,他只是拿过来翻译一次,看他的视频也是能了解一些东西的;但是很多东西讲的确实欠缺;所以在学习的过程中把自己的很多思考注释到了他的代码中。一是当作自己的备忘,二也希望能够给大家带来一些些的帮助。

 

 进入正文:

 

/*首先认识了object前缀,知道它的作用之一就是所有的main方法都必须放在object中*/
object HelloScala {

  /*def 在scala中用来定义一个函数
   * 在object中定义的方法可以分成下面几种情况
   * 首先他们有一个共同的特点就是在scala的object中所有的方法都是静态的(可以通过Oject.xxx来调用),对应与java的static
   * 下面说对应的几种情况
   * 1. def xxx = {} 在object中对应与java的 public static 返回值   xxx(Type value){}
   *    返回值在scala中可以省略,参数没有的话括号和参数都可以省略,一会说main方法的时候会看到一个方法的完整样子。(scala的难处就在于好多好多的地方可以省略··简写)
   *    同时在scala中没有public关键字,在java中什么修饰符也不加也就是没有(public 。 protected 。 private)的话默认是包内可以访问的,所以包内访问怎么办?
   *    别急scala也有提供办法,往下看
   * 2. private def xxx ={} 私有方法
   * 3. protected def xxx={} 在子类中可以访问
   * 4. private[包] / protected[包] 首先指明了方法是私有的还是子类可访问的,然后又明确了这个方法在哪个包中能访问
   * 5. scala还有一个独特的对象限制 格式为 private[this]/protected[this] 这样指明以后,就只能在本对象中访问,后面再细说
   * 6. 对于默认的public,都public了所以就不用在加什么包限制和对象限制了
   * 
   * */
  
   /*再看看函数体本身,
    * main(args:Array[String}):Unit={...}
    * void mian(String[] args){}
    * 和java的不同有
    * 1.函数签名和花括号之间多了个等号    如果你的花括号中只有一句话 那么花括号也可以省略 例如 def test(name:String):Unit=println(name)
    * 2.void 变成了 :Unit :Unit可以省略 例如 def test(name:String)=println(name)
    * 3. String[] args 变成了 args:Array[String] 如果没有参数···那么这样也是对的 def test = println()
    * 4. 函数内的语句后面不用加;了···能少敲一个是一个的思想··
    * 5. 想返回值的话也不用写return了  直接写值就好 例如 返回5的函数 
    * 
    * def test = 5
    * def test():Int = 5
    * def test:Int = 5
    * 
    * 都是正确的
    * 
    * 从上面的三点可以得出的感觉是什么
    * 1.在scala中要说明一个变量的类型 那么用 xx:Type的方式来指定
    * 那么为什么在函数签名后面也是:返回值 呢?
    * 这里明确一下我理解的变量类型。所谓的变量类型,就是你用一个什么样的声明来接受一个变量
    * 这么说 也就是 你定一个了一个double类型的变量,那么只有在声明为double的才能接收这个变量
    * 扩展到函数 :返回值 我们也理解为定义了函数的类型  其实也就是你用什么样的声明来接受这个函数的返回值
    * 所以 函数===变量 所以他们都用 :Type 了,所以scala是函数式编程语言
    * 
    * */
  
  def main(args: Array[String]): Unit = {
    println("Hello Scala!!!A new world!!!")
  }

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值