简述Java中的基本数据类型

2023-10-27

本文主要向大家介绍一下Java中的8种基本数据类型,以及数据类型之间的转换。希望对大家学习Java语言有所帮助。

一、数据类型的分类

(一)基本数据类型(8种)

 注意:在Java中,所有数据类型都有默认值,定义之后没有赋值,就会有默认值。且默认值只存在于类变量中,方法中的局部变量不存在默认值。

二、基本数据类型的包装类

Java基本数据类型                    包装类
byte Byte
short Short
int  Integer
long Long
float Float
double Double
char Character
boolean Boolean

三、数据类型之间的转化

(一)转换规则

1、小类型转为大类型(自动提升)

   1.1小类型的变量值赋值给大类型时

    如: long b = 20 ; // 字面量20是int类型  int类型直接提升为long类型

   1.2小类型和大类型进行数学运算时,首先会将小类型提升为大类型而后进行数学运算

    如:long b = 10 + 1L; //  10 + 1L是int类型+long类型,首先将 int 类型提升为 long 类型 ,然后再进行数学运算。

2、大类型转为小类型

强制类型转换,可能会丢失精度(数据溢出或者数据部分丢失)   

 注意:只有相同类型的数据类型之间可以转换(如,数值型之间的转换)  boolean 类型不能与其他任何基本数据类型相互转换。

 (二)int 类型与 byte 类型之间的转换 

1、 byte 类型在存储时会转为 int类型

当把byte类型取值区间之内的正数赋值给byte时,可以直接赋值,但超出其取值范围时仍需要强转  

                               

                   

注意:对于数值型和字符型来说,小于4字节的数据类型,在存储时会转为4字节类型       

2、当把一个int 变量赋值给 byte 时,无论是否超出 byte 的取值范围都需要强转           

          CPU读写数据时,都是以4字节为单位进行读取和写入的,为了运算方便,就会将小于4字节的数据类型 自动 提升为int 类型保存

 3、被final 修饰的变量,其数据值不能改,且其类型也不能提升。

(三) int 类型与 char 类型之间的相互转换

1、char 转为 int,自动提升,按照Unicode编码转换

char c = 'a' ;
int b = c;
System.out.println(b);  //结果是97

2、int 转为 char,需要强转

(四)int 类型和String之间的相互转换

 1、int 转为 String

int num = 10;
//方法1
String str1 = num + " ";//这里的+表拼接
//方法2
String str2 = String.valueOf(num);

2、String 转为 int

String str = "100";
int num = Integer.parseInt(str);

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

简述Java中的基本数据类型 的相关文章

  • 使用缩略图器,我可以制作具有相同高度和宽度的缩略图,无论图像大小如何

    In 缩略图器 http code google com p thumbnailator 我正在制作缩略图 如果图像大小是 400 300 并且如果我执行以下操作 Thumbnails of new File original jpg si
  • 如何正确地将MapStruct与Eclipse集成? (包括Lombok java代理)

    我愿意在一些官方项目中使用MapStruct 所以我决定先对其进行一些测试 我需要让它与 eclipse 集成工作 并遵循 MapStruct 网站上提供的所有说明 但是 到目前为止还没有运气 有人成功实现了这种整合吗 如果是的话我可以缺少
  • 如何实现 Eclipse 清理和构建(又名重建)?

    我删除了我的 binEclipse Indigo 中的文件夹 与 Helios 非常相似 现在我想知道如何重建我的 Java 项目 我只是找不到像 Netbeans 中那样的按钮 对于 Eclipse 您可以在下面找到重建选项项目 gt 清
  • JCombobox 字符串项(可见)和整数键(固有)

    我有一个数据库模式 它将作为 JTable 列显示在 JCombobox 中以选择名称 但我希望将 ID 字段插入 作为外键 到另一个表中 通常 在下拉列表中选择一个项目 将所选项目带到组合框的显示区域 我想要做的是 当选择组合框中的任何项
  • 堆内存与对象内存

    根据一篇关于Java内存和特性的论文 内存分数分为两种类型 堆内存 即应用程序在运行时消耗的内存 对象内存 即程序中使用的各种对象分配的内存 例如整数和字符串等 他们的意思是stack当他们说时的记忆object记忆 或者它们是什么意思 很
  • IDEA:javac:源版本1.7需要目标版本1.7

    使用 IntelliJ IDEA 运行 JUnit 测试时 我得到 我该如何纠正这个问题 使用SDK 1 7 模块语言级别为1 7 Maven 构建工作正常 这就是为什么我相信IDEA配置问题 您很可能在此处从 Maven 导入了不正确的编
  • 膨胀类 android.support.v7.internal.widget.NativeActionModeAwareLayout 时出错

    如果您以前解决过这个问题 请有人帮助我 我正在尝试使用材料设计制作一些东西 以便应用程序可以运行到 API 10 的低版本 我的代码中没有任何错误 但我不断收到此错误 Android 日志猫 06 01 05 05 37 414 E And
  • 使用枚举变量切换字符串

    我有一个具有不同值的枚举 并且想要切换字符串变量 现在 我在尝试将枚举值转换为字符串 可以用作大小写常量 时遇到了困难 我最好的尝试是将枚举转换为字符串数组 但开关似乎不接受数组值作为大小写常量 IntelliJ 说 需要恒定的表达 Enu
  • 无法在android中使用retrofit发出@Post请求

    我正在学习如何在 android 中使用改造 但是每当我尝试从互联网检索数据时 我的应用程序不会返回任何内容我的响应没有成功 我不知道如何修复当前我正在尝试发布的错误并使用此 URL 检索数据https jsonplaceholder ty
  • 如何在不打开浏览器的情况下查看 Android 应用程序中的网页?

    嘿 我正在开发一个 Android 应用程序 我想连接到该应用程序内的网络 不过 我在某种程度上尝试过 WebView 但它在我的目录中显示的文件很好 但当连接到 google com 时 它显示错误 然后我添加了这个文件
  • 如何告诉 Eclipse 忽略 Ant build.xml 中的错误?

    我有一个使用 Maven 构建的 Eclipse 项目 并且我在 Eclipse 中使用 m2eclipse 插件来获得 Maven 支持 然而这个项目还包含一个build xml它并不用于实际构建项目 而只是用于编写脚本功能 作为项目开发
  • 在JAVA中将数据写入.txt文件?

    我想知道是否是在JAVA中将计算的数据写入文本文件 我的 JAVA 代码是一个基于 GUI 的 gpa 计算器 我只想添加一个 JButton 和 ActionListener 它将类名 GPA 点和计算出的 GPA 写入 txt 文件 这
  • 使用 JPA 存储库保留 Spring Batch ItemWriter 的问题

    我对春季批次有疑问ItemWriter它依赖于 JPA 存储库来更新数据 这里是 Component public class MessagesDigestMailerItemWriter implements ItemWriter
  • JList 类型不采用参数类型

    当我尝试编译一些代码时 我不断收到这些错误 CCC java 21 type javax swing JList does not take parameters JList
  • 在大画布上滚动

    我需要一些帮助来了解滚动绘制到 Android 画布上的项目的基础知识 假设我想创建一个时间线 其中 0 处的时间是可视化的顶部 并且随着时间的增加 时间线继续呈现在上一个点下方 如果我想在 Android 上渲染它 我知道我可以通过重写
  • 自动将通配符导入重构为 IntelliJ 中的显式导入(适用于 Scala/Java)

    考虑下面的代码 是否可以让 IntelliJ 自动将每个通配符导入重构为显式导入 无论范围内使用什么 例如import scalatags JsDom all into import scalatags JsDom all ol li di
  • 尝试接收 UDP 多播时出现空指针异常

    在尝试了几次让简单的 UDP 多播接收器工作后 我感到很困惑 在我自己的代码无法按预期工作后 我尝试了 vertx 文档中发布的确切示例 DatagramSocket socket vertx createDatagramSocket ne
  • Web 服务返回 java.lang.reflect.InitationTargetException

    我在向 java web 服务发出请求时收到上述消息 我们最初创建了一个 Java 控制台应用程序并手动提交了一个 xml 文件 当将其作为 Java 应用程序运行时 将使用 System out println 成功创建并显示响应 我们通
  • 在Java中将32bpp图像转换为16bpp图像

    如何使用 Java 库将 32bpp 图像 ARGB 转换为 16bpp 图像 ARGB 出于我的好奇 在像素级别 这种转换有什么作用 如果我有一个保存像素值 包含所有通道 的 int 值 那么在转换发生后该 int 会有什么不同 32 位
  • E/libEGL: validate_display:99 错误 3008 (EGL_BAD_DISPLAY) API 24 或更高版本

    当我使用 API 为 24 或更高版本的设备时 我收到此错误 E libEGL validate display 99 错误 3008 EGL BAD DISPLAY XML 代码 activity main xml

随机推荐

  • redis-----08-----redigo管道以及事务-管道

    1 Redis 管道 正常的情况下 redis是请求响应模式 一条请求后那么正常就会返回一个响应 例如上图 但是只存在这种情况是无法满足我们开发的需求的 所以redis给我们提供了管道 redis的管道 pipeline 相关特点 1 re
  • 概念数据模型(E-R模型)

    概念数据模型 E R模型 概念数据模型是现实世界第一层次的抽象 是数据库设计人员和用户交流的工具 因此要求概念数据模型一方面应该具有较强的语义表达能力 能够方便 直接地表达应用中的各种语义知识 另一方面应该简单 直观和清晰 能为不具备专业知
  • python前端学习-----Flask进阶

    Flask进阶 Flask请求 Request请求对象 request args get 获取表单提交的信息 请求钩子 Flask响应 json 数据格式 Cookie 和 Session Cookie 对象 Session对象 设置密钥的
  • VMware centos7 Destination Host Unreachable

    现象 不管是ping网关还是外网都出现了 root rocketmqOS ping 192 168 23 2 PING 192 168 23 2 192 168 23 2 56 84 bytes of data From 192 168 2
  • jsp文件上传图片到服务器

    jsp文件上传图片到服务器 首先利用onchange去调用uploadBookImg函数 将图片上传到服务器 返回一个地址 将地址写入到一个隐藏域里面 提交表单的时候就可以将服务器返回的地址存入到数据库里面
  • 解决Django和Flask的跨域问题

    目录 2 1 概念 什么是同源 2 2 概念 什么是跨域请求 2 3 概念 浏览器的 同源策略 2 3 1 发生了跨域请求 浏览器在遵循 同源策略 下 处理流程如下 2 3 2 没有发生跨域请求的情况下浏览器会直接发送请求 如下图 3 解决
  • 使用obsidian的模板插件templater来自动化分类笔记记录

    在记笔记的过程中 不难发现为了笔记不那么凌乱 不得不去分类笔记以及为笔记打上元数据 这些步骤基本都是机械重复的 往往有时候只是想快速将内容记录下来 但是等到分类完 元数据写完 已经快要遗忘原本需要记录的内容 即使将这些步骤挪至最后完成 也显
  • TDengine安装使用

    引言 近期 听说了时序数据库TDengine 本人的好奇心又出来了 同是时序数据库的InfluxDB不也挺好的嘛 通过一些网上的资料以及些简单的实际操作 本人得出的结论是 数据量少时 InfluxDB的性能好些 当数据量越来越大之后 TDe
  • matlab 贝叶斯网络

    第一次搭建 参考教程https blog csdn net moodytong article details 8122327 我的matlab是2014a 系统win7旗舰 下面就开始一步一步来 一 matlab中添加FULLBNT FU
  • java 导出Excel设置宽度自适应

    private static void setAutoColumnWidth XSSFSheet sheet int maxColumnNum try 获取当前列的宽度 然后对比本列的长度 取最大值 for int columnNum 0
  • 卷积神经网络的实际应用,卷积神经网络毕业论文

    旷视首席科学家 知名AI学者孙剑博士去世 他在该领域有哪些贡献 旷视首席科学家 知名AI学者孙剑博士去世 他在该领域有哪些贡献 在学术层面 孙老师是计算机视觉领域全世界最知名 最顶级的一批科学家 他的工作ResNet 12w citatio
  • 西安华为OD面试经验(德科)

    背景 本科某双非邮电软件专业 二战冲985失败 随便写的简历挂boss上 hr电话联系帮我约的机考 华为od网络风评很差 这一点还是hr告诉我这个初入社会的学生党的 态度挺诚恳 我也只是本着随便试试的态度去的 机考是5 7号 技术一面是5
  • SSC 扩频时钟技术(1)

    SSC 全称Spread Spectrum Clocking 即扩频时钟 由于信号的辐射主要是由于信号的能量过于集中在其载波频率位置 导致信号的能量在某一频点位置处的产生过大的辐射发射 因此为了进一步有效的降低EMI辐射 芯片厂家在设计芯片
  • 通过 window.opener.document 获取弹窗弹窗或打开页面中的数据并回显

    通过 window opener document 获取弹窗弹窗或打开页面中的数据并回显 1 html 示例 写法 td td
  • tcp客户/服务器回射程序之五-----用shutdown函数解决在批量方式下所引起的问题

    tcp客户 服务器回射程序之五 用shutdown函数解决在批量方式下所引起的问题 当我们把标准输出和标准输入重定向到文件来运行新的客户程序时 却发现输出文件总是小于输入文件 而对于回射服务器而言 它们应该相等 问题的起因在于我们对于EOF
  • python十个实战项目

    python项目练习一 即时标记 python项目练习二 画幅好画 python项目练习三 万能的XML python项目练习四 新闻聚合 python项目练习五 虚拟茶话会 python项目练习六 使用CGI进行远程编辑 python项目
  • 目标检测算法之YOLOv2损失函数详解

    前言 前面的YOLOv2推文详细讲解了YOLOv2的算法原理 但官方论文没有像YOLOv1那样提供YOLOv2的损失函数 难怪Ng说YOLO是目标检测中最难懂的算法 今天我们尝试结合DarkNet的源码来分析YOLOv2的损失函数 关键点回
  • 终于辞职了,全职ue了

    终于辞职了 然后 这几天睡得特别香 拿到了ue的offer 两万五 从年前开始 其实本来不想辞职 毕竟还是疫情 工作不好找 一年半简历也不好看 但是最终还是走了这一步 外因 1 全员降薪到80 士气打击的厉害 我觉得是不是自己飘了 以自己的
  • 搭建harbor私有镜像仓库

    一 环境准备 1 关闭防火墙 systemctl stop firewalld 禁止防火墙开机自起 systemctl disable firewalld 2 关闭selinux 永久关闭 sed i s enforcing disable
  • 简述Java中的基本数据类型

    本文主要向大家介绍一下Java中的8种基本数据类型 以及数据类型之间的转换 希望对大家学习Java语言有所帮助 一 数据类型的分类 一 基本数据类型 8种 注意 在Java中 所有数据类型都有默认值 定义之后没有赋值 就会有默认值 且默认值