首页 > 编程语言 >Java数据类型详解(更新中)

Java数据类型详解(更新中)

时间:2024-03-20 13:33:42浏览次数:28  
标签:存储 Java BigDecimal 16 二进制 32 数据类型 char 详解

基本数据类型

概览

共8种:整型 byte、short、int、long

            浮点型 float、double

            字符型 char

            布尔型 boolean

大小

1位即1 bit,一字节(byte)等于8 bit

数据类型数据范围

byte 8位(一个字节)

-127~128(2^7)
short 16位(两个字节)-2^15~2^15-1
int 32位-2^16~2^16-1

long 64位

-2^32~2^32-1
char 16位0~2^16-1
float 32位1.4E-45~3.40E+28
double 64位4.9E-324~1.79E+308
boolean 1位

最大正数-1原因:计算机存储数字是以二进制补码的形式存储的,补码最高位为符号位(0正,1负),最大数是除符号位全取1(01111.....),加一则会溢出。

使用细节

使用long定义变量,数值后面要加L,否则会被当整型解析。

使用float定义变量,数值后要加f/F,否则会被当double型解析。

使用char定义变量,要用' ',双引号是字符串类型。同C++一样,Java会将字符作为整数对待,例如 char x=97等价于 char x='a'。

注意/补充

浮点型数据运算精度损失问题

原因:计算机以二进制存储数据,小数转为二进制时可能会产生循环,不是长度有限的二进制,而计算机存储内存有限制,不能存储无限长的二进制,故而会产生精度损失,即计算结果不准确。

解决:用BigDecimal对浮点数进行运算。

BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.5");

BigDecimal x = a.add(b); //加
BigDecimal y = a.subtract(b);//减
BigDecimal z = a.multiply(b)//乘
BigDecimal h = a.divid(b)//除
    

使用方法可参考其他人写的博客:https://www.cnblogs.com/zhangyinhua/p/11545305.html

超过Long的整型如何表示

使用BigInteger表示,内部是数组实现存储

 

 

包装类

概览

八种基本类型都有对应的包装类:Byte,Short,Integer,Long,Float,Double,Character,Boolean

标签:存储,Java,BigDecimal,16,二进制,32,数据类型,char,详解
From: https://blog.csdn.net/weixin_65560302/article/details/136836998

相关文章

  • 基于Java的校园电商物流云平台(Vue.js+SpringBoot)
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1数据中心模块2.2商品数据模块2.3快递公司模块2.4物流订单模块三、系统设计3.1用例设计3.2数据库设计3.2.1商品表3.2.2快递公司表3.2.3物流订单表四、系统展示五、核心代码5.1查询商品5.2查询快递公......
  • 基于Java的医院门诊预约挂号系统(Vue.js+SpringBoot)
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1功能性需求2.1.1数据中心模块2.1.2科室医生档案模块2.1.3预约挂号模块2.1.4医院时政模块2.2可行性分析2.2.1可靠性2.2.2易用性2.2.3维护性三、数据库设计3.1用户表3.2科室档案表3.3医生档案表3.4......
  • 基于Java的考研专业课程管理系统(Vue.js+SpringBoot)
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1数据中心模块2.2考研高校模块2.3高校教师管理模块2.4考研专业模块2.5考研政策模块三、系统设计3.1用例设计3.2数据库设计3.2.1考研高校表3.2.2高校教师表3.2.3考研专业表3.2.4考研政策表四、系统展......
  • java毕设安卓基于vue的历史博物馆APP(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,移动互联网已经成为现代人生活不可或缺的一部分。智能手机普及率的提升,使得移动应用(APP)成为连接用户与服务的重要桥梁。历史......
  • java毕设安卓高校信息查询app(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,移动互联网已经成为人们获取信息、交流沟通的重要渠道。高等教育作为人才培养的重要基地,其信息的公开与获取对于考生和家长来......
  • C数据类型(C语言)---变量的类型决定了什么?
    目录数据类型(DataType)变量的类型决定了什么?(1)不同类型数据占用的内存大小不同如何计算变量或类型占内存的大小(2)不同数据类型的表数范围不同(3)不同类型数据的存储形式不同整型数定点数与浮点数字符型数据(英文字母、数字、控制字符)(4)不同数据类型可参与的运算不同整型......
  • Java从萌新小白到顶级大牛(3更新中)
    模块从Java9开始,JDK又引入了模块(Module)。什么是模块?这要从Java9之前的版本说起。我们知道,.class文件是JVM看到的最小可执行文件,而一个大型程序需要编写很多Class,并生成一堆.class文件,很不便于管理,所以,jar文件就是class文件的容器。在Java9之前,一个大型Java程序会生成自......
  • 小白逆袭大神之路:零基础Java教程,手把手教你安装JDK与配置主流IDE
    了解JDK和IDE首先,让我们来简单了解一下JDK和IDE。JDK(JavaDevelopmentKit):这是Java开发的核心工具包,包含了Java运行时环境(JRE)、Java编译器(javac)以及其他一些工具。简单来说,没有JDK,你就无法编写或运行Java程序。IDE(IntegratedDevelopmentEnvironment):这是一个软件应用......
  • JAVA实战开源项目:高校大学生创业管理系统(Vue+SpringBoot)
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1系统公告模块2.2创业项目模块2.3创业社团模块2.4政府政策模块2.5创业比赛模块三、系统设计3.1用例设计3.2数据库设计3.2.1系统公告表3.2.2创业项目表3.2.3创业社团表3.2.4政策表四、系统展示五、核......
  • 计算机电子书 (二)- Java
    书名有夸克网盘超链接,点击后可免费快速下载。(内容完善中)~~~文章目录前言一、Java1.基础2.并发和多线程3.虚拟机4.设计模式二、JavaEE和Spring三、SpringBoot四、SpringCloud、微服务五、优化性能重构前言计算机电子书籍一、Java1.基础Java编程思想(第4版)......