类型的取值范围_Java基础类型取值范围,从基础的理解加深记忆
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基础类型取值范围,从基础的理解加深记忆相关推荐
- java布尔值默认值是_Java中的布尔值和布尔值的默认值
Java中boolean(原始)和boolean(原始包装器)的默认值是什么? Boolean(对象)的默认值为null. Boolean(原始)的默认值为false. 请添加官方源链接 任何Obje ...
- JAVA爬取虎嗅网截图_java爬虫爬取网站使用多线程(虎嗅网站)
java爬虫爬取网站使用多线程(虎嗅网站) java爬虫爬取网站使用多线程(虎嗅网站) 图解虎嗅爬虫优化方案 pom 如下: org.apache.httpcomponents httpclient ...
- python中long类型的取值范围_java基本数据类型取值范围
在JAVA中一共有八种基本数据类型,他们分别是:byte.short.int.long.float.double.char.boolean 整型 其中byte.short.int.long都是表示整数 ...
- java string类型时间比较大小吗_Java String类型时间比较大小
标签:类 晚上写了比较时间的函数,这里总结一下 package com.zz.bridge.impl; import java.text.DateFormat; import java.text.Pa ...
- java枚举可以int值不_java – 如何通过int值迭代枚举?
我有一个编写枚举"工作日"的任务,其中常量有多个参数. Enum类型是否有一个简短的方法来迭代它的属性(1,2,3,4,5,6,7 – 来自我的代码)或者我必须编写另一种数据类型来 ...
- java布尔值 比较_java – 如何比较布尔值?
从您的意见中,您似乎正在寻找使用布尔包装器类的"最佳做法".但是真的没有任何最佳做法,因为使用这个类开始是一个坏主意.使用对象包装器的唯一原因是在绝对必须的情况下(例如当使用 Ge ...
- java 值对象_java 中设计模式(值对象)的实例详解
java 中设计模式(值对象)的实例详解 应用场景:在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?这个时候就需要用到我们的值对象设 ...
- java中的键值对_java中单个键值对的表示方式
很多时候,我们只需保存单个键值对,并且希望很方便的取key值和value值. 虽然Map是专门用于存放键值对的,但是Map取key值和取value值不太方便,需要先获得keySet,然后遍历此keyS ...
- java中值滤波_Java实现图像中值滤波
pixel是通过标准jdk或android bitmap获取的图像32位像素数组 这个方法的滤波器尺寸是3*3,需要更大尺寸滤波器可以依此类推,ColorModel可根据各平台变化调整 private ...
最新文章
- AI学习笔记之——如何理解机器学习(Machine Learning)
- Python 动态生成多维数组
- Picasso-源码解析(三)
- HTTP 错误 403.9 - 禁止访问:连接的用户过多 XP IIS服务器连接数的修改
- Python Django手写分页代码
- 【JZOJ3397】【luoguP4556】雨天的尾巴
- 360gen9装linux找不到硬盘,H3C案例查看:针对HPE ProLiant Gen8/Gen9系列服务器在Linux系统下如何开启......
- 挣多少钱让你觉得生存无忧,有底气做感兴趣的事?
- My97DatePicker时间控件和编辑器的调用
- Head First设计模式整理
- 步步惊心插曲 - 歌词
- 铁血战士之异形大战铁血战士2 观感
- STM32 CAN通信之二:正常模式
- 为什么 MySQL 使用 B+ 树
- 【好书推荐】芯片产业科普书籍:《芯事》
- 深陷退款门危机,淘集集想跟拼多多抢五环外的野望破灭?
- Uber中国获10亿美元融资,路演PPT曝光!
- android studio文件名颜色分别表示含义
- [ECE]模拟试题-4
- 【机器学习课程-华盛顿大学】:4 聚类和检索 4.4 MoG混合高斯模型和EM估计最大化
热门文章
- sql取最大值的那一行_SQL高级功能
- 幅度和幅值有区别吗_你知道避雷器与浪涌保护器的区别吗?
- java jwks_OIDC中JWK,JWKS的介绍与使用
- jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转
- python中的return函数-python中return的返回和执行
- java代码写selector_javaNIO:选择器--实践 Selector
- 已解决 selenium.common.exceptions.NoSuchWindowException: Message: no such window
- 滴滴公司多次被下架的原因是什么,深挖测试员究竟还该不该去滴滴?
- MATLAB gui handles 未定义 及 理解
- mysql 数据库 自动备份_MYSQL数据库自动备份