zoukankan      html  css  js  c++  java
  • Scala学习笔记三

    scala变量理解:

    package com.cxy.scala
    
    object Hello {
      def main(args: Array[String]): Unit = {
        println("hello")
        val age: Int =20;
        val a :Short =10
        val  b :Long =20
        val c : Float=20f
        val d : Double=20
        var bln : Boolean =true
        var cha : Char ='2'
        var ii :Integer =20
        var bb :Byte =20
      }
    }

    scala是一个完全面向对象语言,所以他没有基础数据类型,所以scala中20也是一个对象

    在java中

     这个是没有方法的

    在scala中:

     是有方法的

    java中数据类型

    scala中分为值类型和引用类型

     

    数据类型
    描述
    Byte
    8位有符号补码整数。数值区间为 -128 到 127
    Short
    16位有符号补码整数。数值区间为 -32768 到 32767
    Int
    32位有符号补码整数。数值区间为 -2147483648 到 2147483647
    Long
    64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
    Float
    32 位, IEEE 754标准的单精度浮点数
    Double
    64 位 IEEE 754标准的双精度浮点数
    Char
    16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
    String
    字符序列
    Boolean
    true或false
    Unit
    表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
    Null
    null 
    Nothing
    Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。
    Any
    Any是所有其他类的超类
    AnyRef
    AnyRef类是Scala里所有引用类(reference class)的基类
    整型的使用细节
    1)  Scala各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证Scala程序的可移植性。
    2)  Scala的整型 常量/字面量  默认为 Int 型,声明Long型 常量/字面量 须后加‘l’’或‘L’ 
    3)  Scala程序中变量常声明为Int型,除非不足以表示大数,才使用Long

    浮点型使用细节
    
    
    1)  与整数类型类似,Scala 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。
    
    
    2)  Scala的浮点型常量默认为Double型,声明Float型常量,须后加‘f’或‘F’。

    3)  浮点型常量有两种表示形式 十进制数形式:如:5.12       512.0f        .512   (必须有小数点)
      科学计数法形式:如:5.12e2 => 5.12 乘以 10的2次方      5.12E-2 =》 表示5.12 除以 10的2次方 
        
    4)  通常情况下,应该使用Double型,因为它比Float型更精确(小数点后大致7位)
        测试数据 :2.2345678912f  , 2.2345678912   //  2.7 与 8.1/3

    布尔类型的使用细节:
    基本介绍
    1)  布尔类型也叫Boolean类型,Booolean类型数据只允许取值true和false
    2)  boolean类型占1个字节
    3)  boolean 类型适于逻辑运算,一般用于程序流程控制:
    Ø  if条件控制语句                  
    Ø  while循环控制语句
    Ø  do-while循环控制语句      
    Ø  for循环控制语句

     可以看到不能进行隐式转换

    强制类型转换:在java中必须要有父子关系

    例如:

     在java是报错的,所以需要通过方法进行:

     在scala中:

     
     
     
  • 相关阅读:
    【onenet-edp传输】1、调试上报数据点和端对端透传
    【PYQT5快速开发】重定义边框、QSS美化皮肤主题
    MySQL
    Flask-Login一个账号单用户在线
    DataTable按钮,排序,单元格颜色
    python
    MegaCli64 raid对应关系
    openstack server status
    js中使用JSON.parse转换json
    linux使用pyodbc和freetds连接sqlserver
  • 原文地址:https://www.cnblogs.com/cxyxiaobao/p/11965852.html
Copyright © 2011-2022 走看看