首页 > 其他分享 >数据类型

数据类型

时间:2023-09-05 16:37:29浏览次数:46  
标签:int 数据类型 集合 引用 数组 类型

数据类型的基本概念

计算机存储单元换算

计算机存储设备的最小信息单元:bit(比特)

计算机存储设备的最小存储单元:byte(字节)用B表示

换算:

1B=8bit

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

什么是数据类型

数据类型是指一组性质相同的值的集合及定义在此集合上的一些操作的总称

根据数据类型的存储方式可分为:

  • 原始类型(也叫基本类型):整型、字符型、浮点型、布尔型;8种基本数据类型

  • 引用类型:数组、类类型、接口类型

根据数据类型的结构可分为:

  • 原子类型:是不可以再分解的基本类型,包括整型、字符型、浮点型、布尔型

  • 结构类型:由若干类型组合而成,可以再分解,最终分解为原子类型,包括所有引用类型

原始类型对应存在原始值引用类型对应存在引用值

基本数据类型

基本数据类型是在编译期间就会检查的数据类型,包含四个大类:整型、字符型、浮点型以及布尔型

1. 整型

分类 字节数 数据范围(闭空间) 数据范围(科学计数法) 默认值
byte 1 -128~127 −2​7​​~2​7​​ 0
short 2 -32768~32767 −2​15​​~2​15​​ 0
int 4 -2147483648~2147483647 −2​31​​~2​31​​ 0
long 8 -9223372036854775808~9223372036854775807 −2​63​​~2​63​​ 0

注:所有数字的常量值类型都会默认为int类型,int向下转型

2. 字符型

字符型是特殊的整型

分类 字节数 数据范围 默认值
char 2 0~65535 \u0000

这里的默认值是Unicode的null码点

3. 浮点型

分类 字节数 数据范围 默认值
float 4 -3.403E38~3.403E38 0.0
double 8 -1.798E308~1.798E308 0.0

浮点数精度说明:

  • 浮点类型在概念上与IEEE754标准中定义的32位单精度和64位双精度格式的取值与操作是一致的。

  • 浮点数不仅包括正负的带符号量,还包括正负0、正负无穷大(Infinity)和特殊是的非数字标识:NaN(Not-a-Number)

  • 虚拟机必须支持两种标准的浮点值集合:单精度浮点数集合和双精度浮点数集合

  • 虚拟机选择性实现可以自由选择是否要支持两种扩展指数集合:单精度扩展指数集合和双精度扩展指数集合

  • 扩展指数集合可以选择一种或全部,在特定的情境下可以代替标准浮点数集合

  • 除了NAN是无序的,浮点数集合中的所有元素都是有序的,从小到大的顺序如下:负无穷<可数负数<正负0<可数正数<正无穷

4. 布尔型

分类 字节数 数据范围 默认值
boolean 1 true/false false

boolean类型也是特殊的整数
因为在Java虚拟机中没有任何供boolean值专用的字节码指令,boolean数据类型在编译后都会转换成int数据
boolean类型的数组访问与修改共用byte类型数组的指令

引用数据类型

在栈中存放引用(句柄)地址,指向堆空间中动态创建的实例对象,引用类型的数据将会在运行期进行检查类型

在引用类型中还有一个特殊的默认值null,当引用值不指向任何一个堆内存中的对象,则表示为null。 一个为null的引用并不具备任何运行期类型,null可以转换为任意类型,在Java虚拟机中并没有任何对于null的定义和描述。

1. 类类型

使用class修饰的类,当创建该对象People p=new People(),p就是类类型的引用数据,由p这个引用类型参数,调用实际存在于堆空间中的具体对象数据

2. 数组类型

  1. 数据类型最外面的一维元素的类型,叫做该数组类型的组件类型。一个组件类型也可以是数组。
  1. 一个数组的组件一般也是一个数组,直到不可继续拆解,内部的数据就称之为元素(俄罗斯套娃)

数组的元素类型必须是原生类型、类类型和接口类型之一(数组类型也可以,但是不称为元素类型,而是称为组件类型)。

  • 数组类型

    • int[][][]三维数组,int[][]是其组件类型,int[]也是其组件类型

    • 低次维是数组则是组件类型,如果不是数组,这种类型是该数组的元素类型

    • 数组的元素类型必须是原生类型,类类型或者接口类型之一

3. 接口类型

接口类型引用指向类的实例。

其他隐藏类型

1. returnAddress类型(指针)

returnAddress类型的数据不同于原生类型和引用类型,该类型在Java语言中并不存在相应的类型,而且也无法在程序运行期间更改,returnAddress的值是指向一条虚拟机指令的操作码,在Java虚拟机中被jsr、ret和jsr_w指令所使用。

2. void类型

在Java中,对于方法的返回值也是有一种类型,void表示空,这种类型无法进行操作,也不属于是原生类型和引用类型,而是方法的返回类型

标签:int,数据类型,集合,引用,数组,类型
From: https://www.cnblogs.com/caihuaxin/p/17679995.html

相关文章

  • 【JAVA基础】基本数据类型
    Java数据类型简介Java语言中的数据类型分为两大类,分别是基本类型和引用类型。程序中需要处理许多数据,对于不同数据都有其对应的数据类型,其实就是在内存中开辟一个存储空间来存放数据,不同数据所开辟的内存大小也会不一样。Java基本数据类型Java基本类型共有八种,基本类型可以分为......
  • 自定义数据类型UI绑定
    场景:在收货地址列表页面A中,点击一个地址进详情页面B,然后修改地址保存关闭页面B,收货地址A需要同步UI更新修改的信息。机制:1、在SwiftUI中,使用@Binding只能绑定基本数据类型,不能处理自定义数据类型。2、@StateObject和@ObservedObject的监听,在目前的测试中体现的是向下传递。即......
  • 1,mysql基础:mysql的安装,mysql的基本数据类型
    第一章安装1,windows安装https://dev.mysql.com/downloads/mysql/如果是msi的安装包,一步步安装就可以,如果是zip包,解压后需要设置在存在有bin文件夹的同目录新建一个my.ini文件加入一下代码:[mysqld]#设置3306端口port=3306#设置mysql的安装目录basedir=C:\ProgramFi......
  • java判断用户输入的数据类型
    1publicclassDemo1{2publicstaticvoidmain(String[]args){3Scannerinput=newScanner(System.in);4System.out.println("请输入一个数字:");5if(input.hasNextInt()){6intnum=input.nextInt();......
  • redis常用数据类型(转)
    转载:https://blog.csdn.net/u014453898/article/details/112292028redis有5种常用数据类型,string,list,set,zset,hash一、应用string:缓存,限流,计数器,分布式锁,分布式sessionhash:存储用户信息,用户主页访问量,组合查询list:微博关注人时间轴列表,简单队列set:赞,踩,标......
  • Java数据类型(基本数据类型和引用数据类型)
    Java数据分为基本数据类型和引用数据类型.其中基本数据类型有4类8种.基本数据类型:类似于普通的值引用数据类型:传递的是内存的地址对于引用类型来说,声明只会分配一个引用,指向null,当你想使用的时候不能直接引用,必须实例化之后才能使用。否则,会引起空指针exception。基本数......
  • Opcserver 连接 Modbus 设备数据类型设置的探索
     一个电子秤通过modbus串口服务器连接到网络可以用iotclient工具读取到报文但是用kepsrver总是获取不到正确的数据 至此无解决问题头绪后来经网友提醒用modbus poll采集试试连接后数据可以采集到但是看起来怪怪的,都是科学计数法试着调整数据类型,最......
  • 各个数据类型的内置方法(字符串和列表)
    各个数据类型的内置方法整形和浮点型的内置方法#1、定义:#1.1整型int的定义age=10#本质age=int(10)#1.2浮点型float的定义salary=3000.3#本质salary=float(3000.3)#注意:名字+括号的意思就是调用某个功能,比如#print(...)调用打印功能#int(...)调用创建整......
  • Go 数据类型
    数据类型是编程中的重要概念。数据类型指定了变量值的大小和类型。Go是静态类型的,这意味着一旦变量类型被定义,它只能存储该类型的数据。Go有三种基本数据类型:bool:表示布尔值,要么是true,要么是false。数值型:表示整数类型、浮点数值和复数类型。string:表示字符串值。示例以......
  • Redis的五大数据类型的数据结构
    概述  Redis底层有六种数据类型包括:简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。这六种数据结构五大数据类型关系如下:String:简单动态字符串List:双向链表、压缩列表Hash:压缩列表、哈希表SortedSet:压缩列表、跳表Set:哈希表、整数数组       ......