java基本数据类型及运算的注意事项

一、基本数据类型

序号类型位数范围说明

整数类型

(最高位为符号位)byte8位-128(-27)~127(27-1)默认类型为int

二进制0b开头

八进制0开头

十六进制0x开头

short16位-32 768(-215)~32 767(215-1)

int32位-2 147 483 648(-231)~2 147 483 647(231-1)

long64位-9 223 372 036 854 775 808(-263)~9 223 372 036 854 775 807(263-1)

字符类型char16位单字符、转义字符、Unicode例:'A','\r','u9999'

浮点类型(最高位为符号位)float32位1位为符号8位为指数23位为尾数默认类型为double

double64位1位为符号11位为指数52位为尾数

布尔类型boolean1位true或false不能用0或非0代表

常量后加l或L表示该常量为long类型,占64为,否则默认为int类型占32位;

常量后加f或F表示该常量为float类型,占32位,否则默认为64位占64位。浮点数可以采用十进制形式(例:5.12、.512),也可以采用科学计数法形式(例:5.12e2或5.12E2)。

特殊的直接量null,可以赋给任何引用类型的变量,表示该引用类型指向的地址为空。

特殊的浮点数值:正无穷大、负无穷大、非数,表示溢出和出错。使用Double类和Float类的POSITIVE_INFINITY、NEGATIVE_INFINITY和NaN表示。所有正无穷大的数值都是相等的,所有负无穷大的数值都是相等的,NaN不与任何数值相等,NaN与NaN也不相等。只有浮点数除以0才能得到正无穷大或负无穷大,整数除以0会抛出异常。0.0除以0.0或对一个负数开方得到非数即NaN。

整数型数值或浮点型数值可以使用下划线作为分隔,java7以上支持,例如:4_524_012_578,0B1000_1111_0101_1011。

二、类型转换

类型的自动提升:当一个表达式中包含多个基本类型的值时,整个表达式将发生自动提升。自动提升的规则如下:所有byte类型、short类型和char类型将自动提升为int类型

整个算数表达式的数据类型自动提升到与表达式中最坐高等级操作数同样的类型。

强制类型类型转换,语法格式:(type)value。字符串转为基本类型时,需要使用对应的包装类:Byte、Short、Integer、Long、Character、Float、Double,它们提供了静态方法parseXxx(String str)用于转换。

三、运算

运算符优先级

左移运算<

右移运算>>,将操作数的二进制码整体右移指定位数,空出来的位置使用符号位填充,注意:符号位始终保持不变。

无符号右移运算>>>,将操作数的二进制码整体右移指定位数,空出来的位置使用0填充,注意:符号位变为0。

移位运算遵循的规则:对于低于int类型(byte、short、char)的操作数总是先自动转换为int类型,然后再移位;

对于int型的移位操作a>>b,当b>32时,系统先用b对32求余,余数为真正的移位数,例如:a>>33和a>>1的结果一样;

对于long型的移位操作a>>b,当b>64时,系统先用b对64求余,余数为真正的移位数。

逻辑运算符&&和&的区别:对于&&,如果左边的表达式为false,则右边的表达式将不再就算;而&,两边的表达式总会计算,不论左边的表达式是否为false。

逻辑运算符||和|的区别:对于||,如果左边的表达式为true,则右边的表达式将不再就算;而|,两边的表达式总会计算,不论左边的表达式是否为true。

java基本类型运算溢出_java基本数据类型及运算的注意事项相关推荐

  1. java 字符类型 字节数_JAVA基本数据类型所占字节数是多少?

    byte     1字节 short    2字节 int      4字节 long     8字节 char     2字节(C语言中是1字节)可以存储一个汉字 float    4字节 doub ...

  2. java原生类型没有封装_Java基本数据类型与封装类型详解(int和Integer区别)

    Java基本数据类型与封装类型详解(int和Integer区别) 发布于 2020-4-19| 复制链接 摘记: int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Int ...

  3. java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】

    Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...

  4. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

  5. java date类型大小比较_java中date类型如何比较大小

    java中date类型如何比较大小 时间:2018-01-19     来源:Java data类型讲解 Date类在jdk1.1中就已经出现,算得上一个比较有历史的类了,用来表示日期时间.在实际的工 ...

  6. java 基本类型的引用_Java中的基本数据类型与引用数据类型

    一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...

  7. java中类型的相互转化_Java中的数据类型及相互转换方法

    本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...

  8. java对象类型有哪些_Java中常用的对象数据类型有哪些?它们分别又占多少个字节呢?...

    CSDN上面有关于数据类型的一篇总结详细的文章,顺便复制过来: 在java中常见的数据类型有哪些 ? 内置数据类型类型名称字节.位数最小值最大值默认值例子 byte字节1字节,8位-128(-2^7) ...

  9. java小数是怎么运算的_JAVA中小数的运算

    虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它.这容易理解 ― 我们中大多数很少需要使用非整数类型.除了科学计算和偶尔的计时测试或基准测试程序,其它情况下几乎都用不着它.同样,大 ...

最新文章

  1. JEECMS的新浪图集在IE9、10不能显示大图片BUG的解决方法
  2. 跟我一起写 Makefile(九)
  3. MYSQL数据库导入出错:#1046 - No database selected
  4. how is SAP OData count implemented in the backend
  5. Python绘制带标记和箭头的树结构
  6. jsp--请求转发与重定向
  7. 对AngularJS的编译和链接过程讲解一步到位的文章
  8. Java回顾之JDBC
  9. mysqladvisor安装
  10. Linux Lite下打印机驱动安装及针式打印机校准
  11. AM335x Linux调试1--MLO中打印寄存器值
  12. 宝塔面板如何添加免费的waf防火墙?
  13. 计算机通信常用的纠错方式,纠错
  14. HTTP Status 500 - Failed to evaluate expression 'ROLE_USER'
  15. [转] 一篇好文 ---steve jobs (stay hungry, stay foolish)
  16. 技嘉主板设置硬盘启动操作教程
  17. BP神经网络的基本思想,一文搞定bp神经网络
  18. 小工具: 调整外置文本字幕的时间
  19. 2019 China Gamejam (CGJ2019) 《新宝岛酱》随记
  20. Mathpix公式识别使用教程

热门文章

  1. 【Office Word2013】编辑公式时,公式居中,编号右对齐
  2. 【附源码】计算机毕业设计SSM面向智慧城市的智慧农业管理系统
  3. 2022最新Redis面试题含答案
  4. 永恒python奇美拉_石头山能自产甲烷,并自动燃烧,科学家称之为奇美拉火焰
  5. 技术工程师进阶之路(转载)
  6. 智能车的转弯部分_周末,这群清华学子自己造智能车游“清华园”
  7. qt 子窗口写到线程就卡死_我的憨憨女友都能看懂学会的Python多线程
  8. 软件c#语言调用摄像头,c#基于opencv,开发摄像头播放程序
  9. 整合PDF和Java技术
  10. 图形编辑器:图形和辅助线绘制的坐标问题