八种数据类型

类型 int short long byte float double char boolean

字节数 4 2 8 1 4 8 4 JVM相关

大小 -2147483648~2147483647 -32768~32767 -9223372036854775808~9223372036854775807 -128~127 ±3.40282347E+38F ±1.79769313486231570E+308

tip:八种类型我是这样记忆的:boolean,char是我们常用的,double是双精度浮点小数,有双就有单 : float是单精度浮点小数,int是一个坐标,short比int短,long比int长,byte是整数的最小单位.

byte: The byte data type is an 8-bit signed two's complement integer. It has a minimum value of -128 and a maximum value of 127 (inclusive). The byte data type can be useful for saving memory in large arrays, where the memory savings actually matters. They can also be used in place of int where their limits help to clarify your code; the fact that a variable's range is limited can serve as a form of documentation.

byte数据类型是一个8-bit有符号的二进制补码整数。取值范围:【-128,127】,当内存比较重要的时候:比如超大数组的情况。

short: The short data type is a 16-bit signed two's complement integer. It has a minimum value of -32,768 and a maximum value of 32,767 (inclusive). As with byte, the same guidelines apply: you can use a short to save memory in large arrays, in situations where the memory savings actually matters.

short是一个16-bit 的二进制补码整数,取值范围:[-32768,32767]。同上文byte.

int: By default, the int data type is a 32-bit signed two's complement integer, which has a minimum value of -231 and a maximum value of 231-1. In Java SE 8 and later, you can use the int data type to represent an unsigned 32-bit integer, which has a minimum value of 0 and a maximum value of 232-1. Use the Integer class to use int data type as an unsigned integer. See the section The Number Classes for more information. Static methods like compareUnsigned, divideUnsigned etc have been added to the Integer class to support the arithmetic operations for unsigned integers.

默认情况下,int是32-bit的二进制补码整数,取值范围是:[-2^31,2^31-1],在JavaSE8以后,你可以使用int数据类型去展现一个无符号为的32-bit的值(取值范围:[0,2^32 - 1]),使用Integer类去操作无符号为的Integer,具体情况请参考Number类。包含compareUnsigned, divideUnsigned等静态方法.

long: The long data type is a 64-bit two's complement integer. The signed long has a minimum value of -263 and a maximum value of 263-1. In Java SE 8 and later, you can use the long data type to represent an unsigned 64-bit long, which has a minimum value of 0 and a maximum value of 264-1. Use this data type when you need a range of values wider than those provided by int. The Long class also contains methods like compareUnsigned, divideUnsigned etc to support arithmetic operations for unsigned long.

几乎同int,除了不包含compareUnsigned, divideUnsigned等静态方法。

float: The float data type is a single-precision 32-bit IEEE 754 floating point. Its range of values is beyond the scope of this discussion, but is specified in the Floating-Point Types, Formats, and Values section of the Java Language Specification. As with the recommendations for byte and short, use a float (instead of double) if you need to save memory in large arrays of floating point numbers. This data type should never be used for precise values, such as currency. For that, you will need to use the java.math.BigDecimal class instead. Numbers and Strings covers BigDecimal and other useful classes provided by the Java platform.

float是单精度的浮点小数.存在的意义类似于short,省内存.

double: The double data type is a double-precision 64-bit IEEE 754 floating point. Its range of values is beyond the scope of this discussion, but is specified in the Floating-Point Types, Formats, and Values section of the Java Language Specification. For decimal values, this data type is generally the default choice. As mentioned above, this data type should never be used for precise values, such as currency.

double是我们在十进制小数情况下的默认选择,但是注意,不要把他当做通用的类.

boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined.

注意:boolean的内存大小是和JVM有关的。

char: The char data type is a single 16-bit Unicode character. It has a minimum value of '\u0000' (or 0) and a maximum value of '\uffff' (or 65,535 inclusive).,四个字节.

char四个字节.

最后:Java没有任何无符号(unsigned)形式的int,long,short或byte类型.

来源:51CTO

作者:wx5b9bb6400376a

链接:https://blog.51cto.com/13971202/2175643

java的原生数据类型_Java中的8种原生数据类型(Primitive Data Types)分析相关推荐

  1. java一行输入多个数据类型_Java中的3种输入方式实现解析

    这篇文章主要介绍了Java中的3种输入方式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.从键盘读取char类型数据 char ch = ...

  2. java 基本数据类型_Java语言的八种基本数据类型介绍

    本文主要向大家介绍了Java语言的八种基本数据类型介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java的基本数据类型有八种 一,四种整数类型(byte.short.int.l ...

  3. java用户输入解析_Java中的3种输入方式实现解析

    Java中的3种输入方式实现解析 发布于 2020-8-8| 复制链接 摘记: 这篇文章主要介绍了Java中的3种输入方式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学 ...

  4. java float什么类型数据类型_Java中的Float和double数据类型

    浮点数据类型是单精度32位IEEE 754浮点数,双数据类型是双精度64位IEEE 754浮点数. 这是什么意思?什么时候应该使用float而不是double,反之亦然? 解决方法: 总结一下: &g ...

  5. java 无符号 类型_java中符号类型和无符号类型的问题分析

    一 参考博文 二 java中的无符号数和有符号数 在计算机中,可以区分正负的类型,称为有符号类型,无正负的类型,称为无符号类型. 使用二进制中的最高位表示正负 计算机中用补码表示数值:另外,用二进制的 ...

  6. java ref 应用类型_Java中的四种引用类型比较

    1.引用的概念 引用这个概念是与JAVA虚拟机的垃圾回收有关的,不同的引用类型对应不同的垃圾回收策略或时机. 垃圾收集可能是大家感到难于理解的较难的概念之一,因为它并不能总是毫无遗漏地解决Java运行 ...

  7. java自动类型提升_Java中的基本数据类型转换(自动、强制、提升)

    说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间的转换关系. 自动类型转换 自 ...

  8. 数据类型_分享redis中除5种基础数据类型以外的高级数据类型

    众所周知,在redis中的数据类型有String(字符串).hash(哈希).list(列表).set(集合).zset(有序集合)五种.但在这5种之外还有高级数据类型. 今天和大家介绍下常用的高级数 ...

  9. ODP.NET与复杂的PL/SQL数据类型(Using ODP.NET To Deal With Complex PLSQL Data Types)

    ODP.NET与复杂的PL/SQL数据类型(Using ODP.NET To Deal With Complex PLSQL Data Types) 在开始介绍之前,先给出文章里用到的所有PL/SQL ...

最新文章

  1. android jni 字符串拼接,AndroidJNI
  2. 输入字符串,统计英文字符、大写小写字母,数字字符,空格和其他字符
  3. Java解析JSON时,new JSONObject(这儿写json字符串)报错问题
  4. java商城源码_盘点这些年被黑的最惨的语言,Java瑟瑟发抖
  5. 企业私有云之rabbitmq高可用
  6. mysql+vs检测不到_VS2017 + EF + MySQL 我使用过程中遇到的坑
  7. hdu--2660--二维费用背包
  8. 线程(进程线程的比较)
  9. 工程数学概率论统计简明教程第二版复习大纲
  10. 泰牛PHP基础+高级+实战+全套课件(大牛班)
  11. java获取.py文件值_Java File文件处理 读文件
  12. html lab颜色,颜色标准LAB值对照表
  13. 【Linux】Linux基本操作指令
  14. (4.4.1)使用storyboard实现页面跳转,简单的数据传递
  15. 解决谷歌浏览器翻译不能用问题
  16. 如何用计算机克数和斤换算,克数换算斤计算器(克千克斤公斤计算器)
  17. 51单片机多线程神器:Tiny-51操作系统
  18. 三角网格剖分工具 Triangle 安装及使用
  19. Altium Designer 学习笔记(PCB封装库)
  20. 数字化原住民|ONES 人物

热门文章

  1. 【渝粤教育】广东开放大学 中国法律史 形成性考核 (31)
  2. 【渝粤题库】陕西师范大学700005 遗传学
  3. 【渝粤题库】陕西师范大学164205 ERP原理及应用 作业(专升本)
  4. 物联网中常见的传感器类型
  5. php mysql ppt,7PHP访问数据库分析.ppt
  6. 标签蛋白_His标签蛋白镍柱纯化后总有一条杂带怎么办?
  7. input内的字体颜色_嘉兴市硅胶喷涂颜色油订制
  8. 404 单页应用 报错 路由_通过 Laravel 创建一个 Vue 单页面应用(五)
  9. 电机与拖动,直流他励电动机的特性测试实验报告,江南大学自动化
  10. Java面向对象(7)--package和import关键字