Java 中的数据类型有哪些?

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标准。

1、float

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

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

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

默认值:0.0f

包装类:Float

2、double

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

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

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

默认值:0.0d

包装类:Double

三、字符型

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。

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类型,

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

黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

黑马程序员Java零基础视频教程_下部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

家政预约服务小程序源码系统 线上+线下两种模式 带完整的搭建教程

人们生活水平的不断提高,使得家政服务行业逐渐成为一个重要的行业。然而,传统的家政服务模式存在一些问题,如信息不对称、服务质量不稳定等。为了解决这些问题,开发一款家政预约服务小程序源码系统变得尤为重要。下面源码小编来给…

【MogDB/openGauss的三种函数稳定性关键字】

一、ORACLE中的类似的函数稳定性关键字(DETERMINISTIC) 在ORACLE里,function有着一个DETERMINISTIC参数,它表示一个函数在输入不变的情况下输出是否确定,只要输入的参数一样,返回的结果一定一样的&#xf…

3.网络之UDP

UDP协议 文章目录 UDP协议1. UDP概述2. UDP报文格式3. UDP传输限制4. UDP校验和4.1 CRC 循环冗余校验算法4.2 md5 校验算法 1. UDP概述 UDP(UserDatagramProtocol)是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证&a…

Qt 各种数据类型

目录 1. 基础类型 2. log 输出 3. 字符串类型 3.2 QByteArray 构造函数 数据操作 子字符串查找和判断 遍历 查看字节数 类型转换 3.3 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5.1 QPoint 5.2 QLine 5.3 QSize 5.4 QRect 6. 日期和…

【源码解析】聊聊SpringBean是如何初始化和创建

我们知道通过类进行修复不同的属性,比如单例、原型等,而具体的流程是怎么样的呢,这一篇我们开始从源码的视角分析以下。 刷新方法 在刷新容器中有一个方法,其实就是 Bean创建的过程。 finishBeanFactoryInitialization(beanFact…

【Java 进阶篇】JSP 指令详解

JavaServer Pages(JSP)是一种用于开发动态 Web 应用程序的强大技术。与传统的 Servlet 编程相比,JSP 更易于编写和维护。在 JSP 中,我们可以使用指令来定义页面的行为和属性。本博客将深入探讨 JSP 中的指令,从入门到精…

怎么查看当前vue项目,要求的node.js版本

要查看当前 Vue 项目所需的 Node.js 版本,你可以查看项目根目录下的 package.json 文件中的 engines 属性。该属性定义了项目所需的 Node.js 版本范围。 例如,以下是一个示例 package.json 文件: {"name": "my-vue-project&…

macOS 下 starUML 软件激活方案

starUML每次打开都弹出提示其实挺烦的,于是研究了一下如何 po 解(激活)它。记录一下方法以便以后使用。 我觉得这个软件很好用,大型项目的所有图我都是用这个软件画的。 直接上步骤!先关掉starUML 1、安装 asar,以便可以打开 asa…

助力生成式AI人才培养,飞桨(湖北)教育创新中心启动建设

10月21日下午,由湖北省自动化学会主办,百度飞桨联合华中科技大学共同承办的湖北省高校产教融合院长研讨会在武汉华科大希尔顿欢朋酒店成功召开。来自湖北省内十二所高校人工智能、计算机、自动化相关学院的18位二级学院院长、副院长以及来自飞桨的代表共…

项目流程管理工具 OmniPlan Pro 4 mac中文版软件介绍

OmniPlan Pro mac是 The Omni Group 为 macOS 和 iOS 操作系统开发的项目管理软件。它允许用户创建和管理复杂的项目、定义任务、分配资源、跟踪进度和生成报告。 OmniPlan Pro mac包括甘特图、网络图、关键路径分析、资源均衡和成本跟踪等功能。 借助 OmniPlan Pro&#xff0…

Kubeadm - K8S1.20 - 高可用集群部署(博客)

这里写目录标题 Kubeadm - K8S1.20 - 高可用集群部署一.环境准备1.系统设置 二.所有节点安装docker三.所有节点安装kubeadm,kubelet和kubectl1.定义kubernetes源2.高可用组件安装、配置 四.部署K8S集群五.问题解决1.加入集群的 Token 过期2.master节点 无法部署非系…

【PTE-day03 报错注入】

报错注入 1、报错注入 group by count2、报错注入 extractvalue3、报错注入updatexml1、报错注入 group by count http://124.222.124.9:8888/Less-5/?id=-1 union select 1,count(*),concat((select database()),ceil(rand(0)*2)) as a from information_schema.tables grou…

初识C++(2)

文章目录 什么是缺省参数什么是函数重载什么是引用引用在函数中的作用常引用引用跟指针的区别 c中的宏替换 什么是缺省参数 缺省参数:在调用函数中 可以不传参数 并且在半缺省的时候不能跳着传,只能连续传 缺省参数 不能跳跃传 半缺省(缺省值只能从右往…

数据结构:Map和Set(1)

搜索树 概念 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分别为二叉搜索树 这棵树的中序遍历结果是有序的 接下来我们来模拟一棵二叉搜索树&#xff0c…

Apifox日常使用(一键本地联调)

背景说明:现在的项目一般都是前后分离,线上出bug或者在进行联调时,有些时候后端需要重复模拟前端数据格式,在使用Apifox的情况下,如何快速造出后端需要的数据呢? 随便找一个网站,点开f12&#…

论文阅读—— UniDetector(cvpr2023)

arxiv:https://arxiv.org/abs/2303.11749 github:https://github.com/zhenyuw16/UniDetector 一、介绍 通用目标检测旨在检测场景那种的一切目标。现有的检测器依赖于大量数据集 通用的目标检测器应该有两个能力:1、可以利用多种来…

计算机网络常见的名词解释

计算机网络常见的名词解释 1.应用层2.传输层3. 网络层4.链路层5. 无线网络和移动网络6.计算机网络中的安全 1.应用层 API (Application Programming Interface)应用程序编程接口HTTP (Hyper Text Transfer Protocol) 超文本传输协…

Linux难学?大神告诉你,Linux到底该怎么自学!

Linux难学?大神告诉你,Linux到底该怎么自学! 就Linux这个学习曲线,如果不是有人带,分分钟会被自己劝退!不过,要是你换个思路,不妨跟着这里的节奏,试试看? 知乎…

AI系统ChatGPT程序源码+AI绘画系统源码+支持GPT4.0+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

AWS SAP-C02教程0--课程概述

SAP是亚马逊云的解决方案架构师专业级认证,关于本课程,我会简述已下3点: 在本课程中按照自己的分类讲述考试相关的AWS产品,特别会注明每个产品在考试中可能出现的考点会对一些解决方案做对比,通过一些对比给出不同场景…