scala变量理解:

package com.cxy.scala

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

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中:

 
 
 

Scala学习笔记三的更多相关文章

  1. [Scala]Scala学习笔记三 Map与Tuple

    1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> ...

  2. scala 学习笔记三 闭包

    闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量. 闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数. 如下面这段匿名的函数: val multiplier = (i: ...

  3. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  4. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  5. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  6. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  7. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  8. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  9. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

随机推荐

  1. 类和对象(day19整理)

    目录 面对对象和面对过程编程 什么是面向对象 什么是面向过程编程 什么是面对对象编程 类 类的定义 定义类时发生的事情 __dict__和. 对象 名称空间 __init__函数 调用类发生的事情 对 ...

  2. Java基础(二十四)Java IO(1)输入/输出流

    在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称为输出流. 输入流的指向称为源,程序从指向源的输入流中读取数据. 输出流的指向是字节要去的目的地, ...

  3. django-URL转换器(四)

    接URL匹配那一节. 在book中的urls.py from django.urls import path from . import views urlpatterns = [ path('', ...

  4. C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET还是Hangfire?

    原文由Rector首发于 码友网 之 <C#/.NET/.NET Core应用程序编程中实现定时任务调度的方法或者组件有哪些,Timer,FluentScheduler,TaskSchedule ...

  5. 从比特币、以太坊、libra的不同特点认识move语言

    关于比特币.以太坊.libra,我们知道他们是不同的区块链应用,那么他们的根本差别在哪里呢. 其实,单从白皮书的标题,就可以大概看出三个项目在设计目标上的差异. 比特币的目标是 -- 可编程货币(Pr ...

  6. 洛谷P5522 【[yLOI2019] 棠梨煎雪】

    区间操作考虑用线段树维护. 建\(n*2\)棵线段树,前\(n\)棵线段树维护每个串的第i位是否是0. 后\(n\)棵线段树维护每个串的第i位是否是1. 如果是问号的话,直接跳过就好(通过1和0能看出 ...

  7. C++学习笔记9_异常处理

    异常处理 int divide(int a,int b) { if(b==0) { return -1;//然而,10,-10也是结果-1,所以要抛出异常了 } } //在异常不能通过返回值表示,也不 ...

  8. python设置环境变量(临时和永久)

    设置临时环境变量 import os # 设置环境变量 os.environ['WORKON_HOME']="value" # 获取环境变量方法1 os.environ.get(' ...

  9. 三分钟学会Redis在.NET Core中做缓存中间件

    大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://g ...

  10. AutoCad 二次开发 .net 之创建Table

    我使用了COM对象来在cad2018中创建table表格,需要的ObjectArx开发包可以在官网上下载,并且需要使用.netframework4.6的库才行. 项目里除了引用常规的Cad开发dll, ...