本文介绍: / (4)在声明/定义一个变量时,可以使用 var 或者 val修饰var 修饰变量可改变,// (1)声明变量时,类型可以省略编译器自动推导,即类型推导。// (5)var 修饰对象引用可以改变,val 修饰的对象则不可改变,但对象的状态(值)// TODO:scalad代码本质所有代码都是程序化的,都是代码块(基于函数编程)// TODO 对象的状态的(值)是否可变取决于对象内部属性自己修饰符。// println(“我是代码块。
package scala02

object scala01_comment {

  def main(args: Array[String]): Unit = {
    //
    // 单行注释
    /*
    多行注释
     */
    /**
     * 文档注释
     */
    // 代码规范
    // 1.将代码格式化 ctrl +alt +l
    val a: Int = 10
    // 2.代码不要写过长

  }

}

 

package scala02

object scala_valANDVar {
  def main(args: Array[String]): Unit = {
    //    (1)声明变量时,类型可以省略编译器自动推导,即类型推导。javajdk1.8新特性
    val i = 20
    val i1: Int = 10
    // 类型推断只能针对特定的数据类型数值类型只能针对 Int Long
    val byte: Byte = 100
    val i2 = 100
    val l = 1010L
    println(byte.getClass.getSimpleName)
    //    (2)类型确定后,就不能修改说明 Scala 是强数据类型语言var str: String = "hello"
    str = "ni hao "

    //    (3)变量声明时,必须要有初始值val i3: Int = 11
    //    (4)在声明/定义一个变量时,可以使用 var 或者 val 来修饰var 修饰的变量可改变,
    //    val 修饰的变量不可改。
    val i4: Int = 100
    //    i4 =300
    var i6: Int = 200
    i6 = 400
    //scala 中一般情况下 使用val修饰
    val i5 = 500
    //    (5)var 修饰的对象引用可以改变,val 修饰的对象则不可改变,但对象的状态(值)
    //    却是可以改变的。(比如自定义对象、数组集合等等)。
    val test01 = new Test02
    //    test01 =new Test02 error
    var test02 = new Test02
    test02 = new Test02
    //对象的状态(值)
    // TODO 对象的状态的(值)是否可变取决于对象内部属性自己修饰符
  }

  //Scala 类中属性 也是可以让系统默认值
  //1.当前属性必须是var修饰的变量,并且要求使用等号链接
  //2 . 指定默认值必须使用一个特殊符号_
  class Test02 {
    var name: String = _
    var gge: Int = _
//    val name1: String = _
  }

}

 

package scala02

object scala03_Named {
  def main(args: Array[String]): Unit = {

    //TODO 如果使用运算符命名 必须和冒号隔开
    //TODO 关键字也可以命名
    // TODO 推荐使用驼峰命名

//输出
    //1 字符串通过+号链接
    val str:String="hello"+"aaa"
    println("hello"+"you")
    println(str)
    //重复字符串拼接
    println("hello" * 10)
//    printf 用法
    printf("%d 岁的 %s %s",10,"aag","10周年")
    val age:Int=100
    val name:String="sss"
    println(s"${age} ---$name")
//    原始字符串
    println(
      """
        |aaaa
        |aaaaaa
        |aaaaaaaa
        |aaaaaaaa
        |aaa
        |""".stripMargin)
//    拼接json
    val jsonStr:String="{"key":"value")"
    println(jsonStr)
    println(
      """
        |{"key":"value"}
        |""".stripMargin)
//    手写sql
    println(
      """
        |select
        | id ,
        |  name
        |  age
        |from
        |  user
        |where
        |  id ='1';
        |""".stripMargin)
  }

}

 

 

package scala02

import com.sun.xml.internal.bind.v2.TODO

object Scala04_base {
  def main(args: Array[String]): Unit = {
//    TODO:scalad代码本质所有代码都是程序化的,都是代码块(基于函数编程)
//    当前代码块的最后一行会作为此代码快的返回值返回
    val unit:Unit={
    10+10
//  返回值类型就是 Unit
      println("我是代码块。。。")

    }
    val i: Int = {

      //  返回值类型就是 Unit
//      println("我是代码块。。。")
      10 + 10

    }
  }

}

 

package scala02

import java.awt.PrintGraphics

object Scala06_Type {
  //数据类型
  def main(args: Array[String]): Unit = {
    // 整数类型

    //声明时不能超出当前长度范围
    //    val b:Byte=128  error
    //特殊场景
    val b2: Byte = 126 + 1
    println(b2)
    val b3: Byte = 1
    //    val b4:Byte=(126+b3)
    //最常用的 Int Long
    //    val i1:Int=15000000000
    // 浮点型
    val d: Double = 3.6
    val f: Float = 3.5f
    //    浮点型计算会有精度损失
    val d1: Double = 0.1 / 0.3
    //    字符类型 长度65535
    //    val c:Char=65535
    val c1: Char = 'a'
    val c2: Char = 97
    val c3: Char = 't'
    println(c3 + 0)
    val c4: Char = 'n'
    val c5: Char = '\'
    println(c5 + 0)
    val c6: Char = '"'
    println(c6 + 0)
    //    Boolean
    val bool: Boolean = true
    val bool: Boolean = false
    // Null (对javanull的补充)
    val str: String = null
    //    str.split( )
    if (str != null) {
      str.split("")
    }

    //    Unit 对java void 的补充
    //    在一些业务场景下 从代码块角度分析具体返回内容,从业务逻辑的角度分析 不需要任何返回值
    val unit: Unit = {
      10 + 10
      val unit: Unit = println("hellow scala")
    }
    println(unit)

  

  //  Nothing当前代码块或者函数不能正常返回内容 统一使用nothing来接受一般出现异常的情况会用
  val value: Nothing = {
    println("hello..")
    throw new RuntimeException
    
  }

}

}

原文地址:https://blog.csdn.net/weixin_74711824/article/details/134674774

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_30384.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注