在Java中的数据类型一共有8种,大致分为整型(4个)浮点型(2个)布尔(1)字符(1个)

分类 类型 默认值 占用字节 范围
整型 byte 0 1 = 8 bit -2^7 - 2^7
short 0 2 = 16 bit -2^15 - 2^15-1
int 0 4 = 32 bit -2^31 - 2^31-1
long 0L 8 = 64 bit -2^63 - 2^63-1
浮点型 float 0.0 4 = 32 bit -2^31 - 2^31-1 
double 0.0 8 = 64 bit -2^63 - 2^63-1 
字符 char 2 = 8 bit 0-2^16-1
布尔 boolean false 1 = 8 bit true,false

说明:

bit : 位,计算机存储数据的最小单元,二进制数中的一个位数。

byte : 字节,计算机存储数据的基本单位,一个字节由8位二进制数组成。通常一个汉字占两个字节。所以一个char类型的字符是可以存储汉字的。

思考:为什么范围都是从( -2^(所占位数-1) 至  2^(所占位数-1) -1 )?

答案:因为计算机存储数据是以二进制数据的补码形式存储。补码表示:正数的补码与原码相同,负数的补码则符号位是1,数值部分按位取反后再在末位(即最低位)+ 1;

举个例子:

十进制:+7 , 二进制原码:0000 0111   ,反码:0000 0111   补码:0000 0111

十进制:-7 , 二进制原码:1000 0111   ,反码: 1111 1000   补码:1111 1001(符合位1,数值按位取反,最低位加1)

注:二进制,十进制,十六进制,原码,反码,补码等,属于微机原理里面的基础详细介绍可查看

二进制等数制详解

Java基础数据类型详解的更多相关文章

  1. JAVA基础——异常详解

    JAVA异常与异常处理详解 一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1 ...

  2. java基础:数组详解以及应用,评委打分案例实现,数组和随机数综合,附练习案列

    1.数组 1.1 数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致. 1.2 数组的定义格式 1.2.1 第一种格式 数据类型[] 数组名 示例: int[] arr;     ...

  3. JAVA基础——内部类详解

    JAVA内部类详解 在我的另一篇java三大特性的封装中讲到java内部类的简单概要,这里将详细深入了解java内部类的使用和应用. 我们知道内部类可分为以下几种: 成员内部类 静态内部类 方法内部类 ...

  4. Java 基础之详解 Java IO

    Java IO基本概念 Java IO:即Java输入/输出系统,区分Java的输入和输出:把自己当成程序, 当你从外边读数据到自己这里就用输入(InputStream/Reader), 向外边写数据 ...

  5. Java基础 - 异常详解

    异常的层次结构 Throwable Throwable 是 Java 语言中所有错误与异常的超类. Throwable 包含两个子类:Error(错误)和 Exception(异常),它们通常用于指示 ...

  6. 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)

    在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...

  7. Java 基础之详解 Java 反射机制

    一.什么是 Java 的反射机制?   反射(Reflection)是Java的高级特性之一,是框架实现的基础,定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: ...

  8. JAVA基础——数组详解

    学习JAVA中数组的使用 一.什么是数组? 问:编写代码保存 4 名学生的考试成绩. 答:简单啊,定义 4 个变量呗 问:那"计算全年级 400 名学生的考试成绩",肿么办 答: ...

  9. java基础(十三)-----详解内部类——Java高级开发必须懂的

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 为什么要使用内部类 为什么要使用内部类?在<Think in java>中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能 ...

随机推荐

  1. Struts2漏洞渗透笔记

    虽然这是一次失败的渗透,但是也学到不少新姿势. 目标机环境:①外网②win2012③360全家桶 一,利用Struts2终极利用工具上传一句话 jsp的一句话,有时候会出现兼容问题.比如Cknife的 ...

  2. 这个厉害了,ssm框架整合全过程,建议收藏起来好好看看

    1.0 环境要求 IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 1.1 数据库 创建书籍数据库表,包括书籍编号,书籍名称,书籍数量以及书籍描述. CREATE DATABA ...

  3. 总结MathType安装的一些小技巧

    MathType在编辑数学公式确实很方便,因为它的功能很强大,能够进行多种数学符号编辑.但是在安装时我们多多少少会遇到一些问题,那这些问题该怎么解决呢?下面就让小编来分享公式编辑器安装的一些小技巧吧! ...

  4. FL studio系列教程(十二):FL Studio中如何导出音频

    在FL Studio中制作好音乐后,最后展现给我们的是一般的音频文件,我们可以通过FL Studio的文件菜单导出最终的文件格式.下面我们就来详细的看一下FL Studio中是如何导出我们想要的音频格 ...

  5. Java进阶专题(十七) 系统缓存架构设计 (上)

    前言 ​ 我们将先从Redis.Nginx+Lua等技术点出发,了解缓存应用的场景.通过使用缓存相关技术,解决高并发的业务场景案例,来深入理解一套成熟的企业级缓存架构如何设计的.本文Redis部分总结 ...

  6. appium服务器参数

    appium服务器初始化参数 Appium服务器初始化参数(功能) 设置能力 能力参数项 获取appPackage与appActivity 查看当前活动名称 使用uiautomatorviewer定位 ...

  7. Trie树总结

    Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree.当然很多名字的意义其实有交 ...

  8. 【R语言入门】R语言中的变量与基本数据类型

    说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...

  9. PyQt(Python+Qt)学习随笔:QListView的wordWrap属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的wordWrap属性与QTableView的wordWrap属性功能完全相同,用 ...

  10. 【Docker】 .Net Core 3.1 webapi 集成EF Code First,使用MySql进行业务操作 、配置swagger (三)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...