Java八大基本数据类型

2023-11-16

Java中主要有八种基本数据类型:

1、整型:byte、short、int、long

2、字符型:char

3、浮点型:float、double

4、布尔型:boolean

一、整型

Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,补码=源码取反 + 1

1、byte

8位、有符号的以二进制补码表示的整数。

min:-128(-2^7)

max:127(2^7-1)

默认值:0

包装类:Byte

2、short

16位、有符号的以二进制补码表示的整数。

min:-32768(-2^15)

max:32767(2^15-1)

默认值:0

包装类:Short

3、int

32位、有符号的以二进制补码表示的整数。

min:-2,147,483,648(-2^31)

max:2,147,483,647(2^31-1)

默认值:0

包装类:Integer

4、long

64位、有符号的以二进制补码表示的整数。

min:-9,233,372,036,854,775,808(-2^63)

max:9,223,372,036,854,775,807(2^63-1)

默认值:0

包装类:Long

二、浮点型

Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准。

5、float

单精度、32位、符合IEEE 754标准的浮点数。

float在储存大型浮点数组的时候可节省内存空间

浮点数不能用来表示精确的值,如货币

默认值:0.0f

包装类:Float

6、double

双精度、64位、IEEE 754标准的浮点数。

浮点数的默认类型为double类型

double类型同样不能表示精确值,如货币

默认值:0.0d

包装类:Double

三、字符型

7、char

char类型是一个单一的16位Unicode字符。

min:\u0000(即为0)

max:\uffff(即为65,535)

char数据类型可以储存任何字符

包装类:Character

四、布尔型

在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组会被编译成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。

8、boolean

boolean数据类型表示一位的信息。

只有两个取值:true和false

这种类型只作为一种标志来记录true/false情况

默认值:false

包装类:Boolean

自动类型转换

指不需要编写代码,有系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所有Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。

转换规则:从存储范围小的类型到存储范围大的类型。

具体规则:byte -> short(char)-> int -> long -> float -> double。

举例说明:byte类型的变量可以自动转换为short类型,

byte b = 11;

short sh = b;

这里在给sh赋值时,JVM首先将变量b的值转换成short类型然后再赋值给sh。

当然,在类型转换的时候可以跳跃,也就是byte可以自动转换为int类型,

注意,在整数之间进行类型转换时数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型时,由于存储精度不同,可能会存在数据精度的损失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java八大基本数据类型 的相关文章

随机推荐

  • sql查询按两个字段查询重复记录

    1 sql查询按两个字段查询重复记录 代码如下 示例 select from 表名 a where a 字段1 in select 字段1 from 表名 group by 字段1 字段2 having count gt 1 and a 字
  • STM32通过ESP8266利用机智云平台实现手机远程操作

    STM32通过ESP8266利用机智云平台实现手机远程操作 将STM32作为主控芯片 ESP8266作为外设 利用串口传递信息 通过机智云平台实现STM32与手机之间的数据传输 之所以选择机智云平台 是因为机智云平台相关配套的软件工具非常齐
  • 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍

    二叉树 树的遍历 前序遍历 根 左 右 中序遍历 左 根 右 后序遍历 左 右 根 代码实现 前序遍历 中序遍历 后序遍历 完整代码 前序遍历 根 左 右 遍历顺序分别为 F B A D C E G I H 中序遍历 左 根 右 中序遍历顺
  • 常见的 HTML<meta> 标签的 name 属性及其作用

    HTML中的 标签可以通过 name 属性提供元数据 这些元数据可以用于指定有关文档的信息 以及控制浏览器和搜索引擎的行为 name 属性通常与其他属性一起使用 如 content charset http equiv 等 以提供更具体的元
  • 2022国赛34:路由器之间ISIS协议配置

    大赛试题内容 5 RT1以太链路 RT2以太链路之间运行ISIS协议 进程10 分别实现loopback3 之间ipv4互通和ipv6互通 RT1 RT2的NET分别为10 0000 0000 0001 00 10 0000 0000 00
  • web基础学习(十)CSS3之 @keyframes 、animation

    css3新增属性 keyframes 关键帧 可以帮助开发者不必依赖JavaScript 只使用css代码完成动画制作 那么如何使用 keyframes呢 这里有两个重要知识点 1 keyframes 定义关键帧 语法 keyframes
  • 低功耗技术——流水线设计(加法器和乘法器)

    文章目录 前言 一 流水线 1 16bit加法器 2 无符号4bit乘法器 3 编写一个4bit乘法器模块 并例化该乘法器求解c 12 a 5 b 二 降低FPGA功耗 1 静态功耗 2 动态功耗 前言 2023 3 31 今天学习降低功耗
  • Python——shutil模块

    os模块不仅提供了新建文件 删除文件 查看文件属性的操作功能 还提供了对文件路径的操作功能 但是 对于移动 复制 打包 压缩 解压文件及文件夹等操作 os模块没有提供相关的函数 此时需要用到shutil模块 shutil模块是对os模块中文
  • 秋招-数据结构-链表篇

    秋招 数据结构 链表篇 介绍 链表是一种物理存储单元上非连续 非顺序的存储结构 数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点 链表中每一个元素称为结点 组成 结点可以在运行时动态生成 每个结点包括两个部分 一个是存储
  • Java 与 区块链技术_java区块链技术有哪些主要的特点和应用

    java区块链技术有哪些主要的特点是什么 人们对于区块链技术比较熟悉 但是却并不知道它到底有哪一些概念 java区块链技术有哪些人有接触过呢 有很多人都会觉得区块链技术就好像是我们最初所认识的互联网一样 要想有效解决陌生人之间的信任问题 首
  • Android零基础—环境搭建

    转载原文 http blog csdn net tangjie134 article details 79481581 1 Android Studio 3 0和SDK获取 方式1 进入 Android Developers官方网站下载 方
  • 在Linux命令行终端中写python代码的简单操作

    Linux终端中的操作均是使用命令行来进行的 因此 对于小白来说 熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来 打开命令行窗口 打开命令行窗口的快捷键如下 Ctrl Alt t 关闭名命令行窗口 关闭
  • 华为消费者算法岗一面二面

    不吹不黑 u1s1 华为是我面的几家公司里面一面二面相对简单的 没怎么问基础知识 对项目的探讨会更多一点 所以其实也看个人 如果有的小伙伴对项目不是很熟 对基础知识比较熟可能会觉得有点难 一面 逐个介绍简历里的项目 然后自己挑一个进行详细介
  • 在外包公司熬了 3 年终于进了字节,竭尽全力....

    其实两年前校招的时候就往字节投了一次简历 结果很明显凉了 随后这个理想就被暂时放下了 但是这个种子一直埋在心里这两年除了工作以外 也会坚持写博客 也因此结识了很多优秀的小伙伴 从他们身上学到了特别多东西 把这次面试分享出来 也是希望可以帮助
  • C语言:函数指针和指针函数学习

    一 指针函数 定义 指针函数就是返回值类型是指针的函数 后面说的是本身是什么 前面说的是返回值类型是什么 声明方法 类型标识符 函数名 参数列表 int fun int x int y int fun int x int y int fun
  • 使用C++来创建界面

    上节讲到 Qt 支持两种创建界面的方式 一种是使用C 代码 Qt 自诞生以来就支持 另一种是使用 QML 可以创建个性化的界面 Qt 提供了多种工程类型 选择不同的工程类型将导致使用不同的方式来创建界面 本节先讲解C 的使用 首次打开Qt
  • netty 无阻塞队列 MpscArrayQueue,一个字就是快

    netty提供了高效的线程安全的队列 MpscArrayQueue 一个字快 至于快的原因可以去查看相关的文章 内存的伪共享先关的内容 import static java lang Thread sleep import io netty
  • nutz ajax ie8,Nutz.Json 在Mvc中的用法

    Mvc中使用Json 第一种 输出用 Ok json locked password salt 第二种 输入用的 AdaptBy type JsonAdaptor class Ok中的json 首先 必须再再再强调一次 如果返回值是Stri
  • 网络协议之以太网协议解析

    Ethernet 以太网协议 用于实现链路层的数据传输和地址封装 MAC 以太网是局域网使用最广泛的协议 由于部署简单 价格低廉 被IEEE委员会标准化 封装原理 以太网的数据帧格式如下图所示 它由6个字节的目的MAC地址 6个字节的源MA
  • Java八大基本数据类型

    Java中主要有八种基本数据类型 1 整型 byte short int long 2 字符型 char 3 浮点型 float double 4 布尔型 boolean 一 整型 Java中整型数据属于有符号数 即第一个bit位为0表示正