Java有8种基础类型,但是你可能常常会忘记他们的取值范围。而这主要是由于你再依靠默记这些类型的取值范围,而不是从根本上理解。

举例

byte占1个字节,8给比特位,它的取值范围是:-128 ~ 127

+127 = [0][1][1][1][1][1][1][1]

二进制求和(127):2^0+2^1+2^2+2^3+2^4+2^5+2^6+2^7

= 2^(n+1) - 1 “这里按照数学等差数列求和”

= 2^7 - 1

= 127

注意

java中各个类型都是有符号位的,而一些其他语言比如c#、js、go等他们是无符号位类型,他们的byte取值范围是从0开始到255。

所以当我们知道byte取值范围占了一个字节,那么它的对应值范围就是;-2^7 ~ 2^7-1

内置数据全部类型

byte:

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • 最小值是 -128(-2^7)
  • 最大值是 127(2^7-1)
  • 默认值是 0
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 例子:byte a = 100,byte b = -50。

short:

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • 最小值是 -32768(-2^15)
  • 最大值是 32767(2^15 - 1)
  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • 默认值是 0
  • 例子:short s = 1000,short r = -20000。

int:

  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31)
  • 最大值是 2,147,483,647(2^31 - 1)
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0
  • 例子:int a = 100000, int b = -200000。

long:

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 最小值是 -9,223,372,036,854,775,808(-2^63)
  • 最大值是 9,223,372,036,854,775,807(2^63 -1)
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值是 0L
  • 例子: long a = 100000L,Long b = -200000L。
  • "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

float:

  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • float 在储存大型浮点数组的时候可节省内存空间;
  • 默认值是 0.0f
  • 浮点数不能用来表示精确的值,如货币;
  • 例子:float f1 = 234.5f。

double:

  • double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
  • 浮点数的默认类型为double类型;
  • double类型同样不能表示精确的值,如货币;
  • 默认值是 0.0d
  • 例子:double d1 = 123.4。

boolean:

  • boolean数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 这种类型只作为一种标志来记录 true/false 情况;
  • 默认值是 false
  • 例子:boolean one = true。

char:

  • char类型是一个单一的 16 位 Unicode 字符;
  • 最小值是

类型的取值范围_Java基础类型取值范围,从基础的理解加深记忆相关推荐

  1. java布尔值默认值是_Java中的布尔值和布尔值的默认值

    Java中boolean(原始)和boolean(原始包装器)的默认值是什么? Boolean(对象)的默认值为null. Boolean(原始)的默认值为false. 请添加官方源链接 任何Obje ...

  2. JAVA爬取虎嗅网截图_java爬虫爬取网站使用多线程(虎嗅网站)

    java爬虫爬取网站使用多线程(虎嗅网站) java爬虫爬取网站使用多线程(虎嗅网站) 图解虎嗅爬虫优化方案 pom 如下: org.apache.httpcomponents httpclient ...

  3. python中long类型的取值范围_java基本数据类型取值范围

    在JAVA中一共有八种基本数据类型,他们分别是:byte.short.int.long.float.double.char.boolean 整型 其中byte.short.int.long都是表示整数 ...

  4. java string类型时间比较大小吗_Java String类型时间比较大小

    标签:类 晚上写了比较时间的函数,这里总结一下 package com.zz.bridge.impl; import java.text.DateFormat; import java.text.Pa ...

  5. java枚举可以int值不_java – 如何通过int值迭代枚举?

    我有一个编写枚举"工作日"的任务,其中常量有多个参数. Enum类型是否有一个简短的方法来迭代它的属性(1,2,3,4,5,6,7 – 来自我的代码)或者我必须编写另一种数据类型来 ...

  6. java布尔值 比较_java – 如何比较布尔值?

    从您的意见中,您似乎正在寻找使用布尔包装器类的"最佳做法".但是真的没有任何最佳做法,因为使用这个类开始是一个坏主意.使用对象包装器的唯一原因是在绝对必须的情况下(例如当使用 Ge ...

  7. java 值对象_java 中设计模式(值对象)的实例详解

    java 中设计模式(值对象)的实例详解 应用场景:在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?这个时候就需要用到我们的值对象设 ...

  8. java中的键值对_java中单个键值对的表示方式

    很多时候,我们只需保存单个键值对,并且希望很方便的取key值和value值. 虽然Map是专门用于存放键值对的,但是Map取key值和取value值不太方便,需要先获得keySet,然后遍历此keyS ...

  9. java中值滤波_Java实现图像中值滤波

    pixel是通过标准jdk或android bitmap获取的图像32位像素数组 这个方法的滤波器尺寸是3*3,需要更大尺寸滤波器可以依此类推,ColorModel可根据各平台变化调整 private ...

最新文章

  1. AI学习笔记之——如何理解机器学习(Machine Learning)
  2. Python 动态生成多维数组
  3. Picasso-源码解析(三)
  4. HTTP 错误 403.9 - 禁止访问:连接的用户过多 XP IIS服务器连接数的修改
  5. Python Django手写分页代码
  6. 【JZOJ3397】【luoguP4556】雨天的尾巴
  7. 360gen9装linux找不到硬盘,H3C案例查看:针对HPE ProLiant Gen8/Gen9系列服务器在Linux系统下如何开启......
  8. 挣多少钱让你觉得生存无忧,有底气做感兴趣的事?
  9. My97DatePicker时间控件和编辑器的调用
  10. Head First设计模式整理
  11. 步步惊心插曲 - 歌词
  12. 铁血战士之异形大战铁血战士2 观感
  13. STM32 CAN通信之二:正常模式
  14. 为什么 MySQL 使用 B+ 树
  15. 【好书推荐】芯片产业科普书籍:《芯事》
  16. 深陷退款门危机,淘集集想跟拼多多抢五环外的野望破灭?
  17. Uber中国获10亿美元融资,路演PPT曝光!
  18. android studio文件名颜色分别表示含义
  19. [ECE]模拟试题-4
  20. 【机器学习课程-华盛顿大学】:4 聚类和检索 4.4 MoG混合高斯模型和EM估计最大化

热门文章

  1. sql取最大值的那一行_SQL高级功能
  2. 幅度和幅值有区别吗_你知道避雷器与浪涌保护器的区别吗?
  3. java jwks_OIDC中JWK,JWKS的介绍与使用
  4. jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转
  5. python中的return函数-python中return的返回和执行
  6. java代码写selector_javaNIO:选择器--实践 Selector
  7. 已解决 selenium.common.exceptions.NoSuchWindowException: Message: no such window
  8. 滴滴公司多次被下架的原因是什么,深挖测试员究竟还该不该去滴滴?
  9. MATLAB gui handles 未定义 及 理解
  10. mysql 数据库 自动备份_MYSQL数据库自动备份