JAVA整型和浮点型基本数据类型的一些小姿势
2018-07-07 15:15
369 查看
我们都知道java有8大基本数据类型,分别是4个整数型byte,short,int,long,2个浮点类型float,double,1个布尔型boolean和一个字符型char。
在调试框的变量栏中我们可以看到如下图所示,证明标题:
可以看到o1 o2 o3内存地址相同,而o4 o5不相同并且与o1 o2 o3的内存地址不相同。
这里使用的是Integer类型进行实验,其他的数据类型的结果也是相同的哦。
由于在new时堆中分配,所以i0和i1地址不同,但是他们的类型和值相同。
小姿势1:当我们在java中输入一个整数常量时,默认的类型是int/Integer,而输入一个小数时默认类型是double/Double。是int还是Integer(double还是Double)取决于变量是基本数据类型还是封装类型。
证明:首先有这么些代码,我们在7行打上断点然后点击小虫子进行调试。在调试框的变量栏中我们可以看到如下图所示,证明标题:
小姿势2:4种整数类型的取值范围如下
小姿势3:为Byte(byte),Short(short)类型赋值时如果没有超过其取值范围则编译通过,否则会出现类型错误。而为Integer(int)类型赋值如果输入的数数字大于int类型的取值类型会出现整型数字过大错误。
小姿势3:使用数字3对所有基本数字类型和其封装类进行赋值时,只有Long,Float,Double需要类型转换。
小姿势4:直接使用数字赋值和使用valueOf()函数赋值是是在常量池分配内存,由于常量池不换创建重复的数字,所以多次声明同一个值相同的变量时,其内存地址是一致的。而使用new关键字创建的对象是在堆中分配内存所以多次new时内存地址不同。
证明:首先输入以下代码,然后点击调试public class Study { Object o1 = 3; Object o2 = 3; Object o3 = Integer.valueOf(3); Object o4 = new Integer(3); Object o5 = new Integer(3); public static void main(String[] args) { Study study = new Study(); System.out.println(); } }
可以看到o1 o2 o3内存地址相同,而o4 o5不相同并且与o1 o2 o3的内存地址不相同。
这里使用的是Integer类型进行实验,其他的数据类型的结果也是相同的哦。
小姿势5:使用==和.equal对基本数字类型的封装类进行比较时,==比较的是内存地址。而equal会先判断是否是相同类型再比较值是否相同,只有类型和值都相同才返回true。
证明:执行以下代码public class Study { public static void main(String[] args) { Integer i0 = new Integer(3); Integer i1 = new Integer(3); System.out.println(i0==i1); System.out.println(i0.equals(i1)); } }
由于在new时堆中分配,所以i0和i1地址不同,但是他们的类型和值相同。
相关文章推荐
- java对象的一些基本操作,复制对象,判断是否为基本数据类型等
- java中八种基本数据类型以及它们的封装类,String类型的一些理解
- 一、java基本数据类型及一些需要记住的小知识点
- c++基本数据类型基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:
- Java_8_基本数据类型_浮点型
- Javaz整型数据类型、浮点型数据类型,取值范围
- 再回首,Java温故知新(三):Java基本数据类型之整型
- Java基本数据类型の整型
- Java基本数据类型の浮点型
- MySql 基础学习笔记 1——概述与基本数据类型: 整型: 1)TINYINT 2)SMALLINT 3) MEDIUMINT 4)INT 5)BIGINT 主要是大小的差别 图 浮点型:命令
- C中和Java中的基本数据类型及一些C基础
- C语言中数据结构的基本类型(整型、浮点型和字符型)
- java中八种基本数据类型以及它们的封装类,String类型的一些理解
- Java基础--基本数据类型(整型)
- 3.2Java基本数据类型之整型
- 关于java浮点型的数据输出格式以及默认的基本数据类型转换
- java中引用数据类型和基本数据类型的一些区别(貌似不完整,但会有些启示)
- Python基本数据类型__空,布尔类型,整型,浮点型
- JavaStep --- 1. 数据类型(4整型 + 2浮点型 + 1char型 + 1Boolean型)
- Java第一课 Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,Java语言的基本数据类型和Java的语句。