# byte和int类型的区别是:
1、类型不一样,byte是字节数据的类型,int是整型数据的类型。
2、占用的字节不一样,byte占用1 个字节,int占用4个字节。
3、大小范围不一样,byte 的大小范围是-128—127 ,int的大小范围是-2147483648到2147483647。
Byte的中文意思是字节,是计算机用于存储容量的一种计量单位,一般情况下一字节等于有八位, 也表示一些计算机编程语言中的数据类型和语言字符。
INT是数据库中一种数据类型,常用来取一个数中的整数部分。Int是将一个数值向下取整为最接近的整数的函数,为取整函数。
拓展资料
数据存储是以字节为单位,数据传输大多是位为单位,一个位就代表一个0或1,每8个位组成一个字节,是最小一级的信息单位。
# int与Integer的使用
越是简单的东西,我们往往越是没有去把它明白,但我们大部分时间又常常在用,就像我们今天说的int与Integer的使用,我们程序员基本天天都在用,但是我今天没用详细弄清楚之前我也是不清楚,我们来看看这两个在用==号比较给我们带来的疑问。
先看看下面的代码,看看我们是否都会
@Test
public void testEquals() {
int int1 = 12;
int int2 = 12;
Integer integer1 = new Integer(12);
Integer integer2 = new Integer(12);
Integer integer3 = new Integer(127);
Integer a1 = 127;
Integer a2 = 127;
Integer a = 128;
Integer b = 128;
System.out.println("int1 == int2 -> " + (int1 == int2));
System.out.println("int1 == integer1 -> " + (int1 == integer1));
System.out.println("integer1 == integer2 -> " + (integer1 == integer2));
System.out.println("integer3 == a1 -> " + (integer3 == a1));
System.out.println("a1 == a2 -> " + (a1 == a2));
System.out.println("a == b -> " + (a == b));
}
答案是:
1、 int1 == int2 -> true
2、 int1 == integer1 -> true
3、 integer1 == integer2 -> false
4、 integer3 == a1 -> false
5、 a1 == a2 -> true
6、 a == b -> false
看看结果跟我们自己做的是不是都一样。
下面我们就来详细解释一下,为什么是上面的结果。(下面的序号就是对应的是上面的答案序号)
1、int1 == int2 为true,这个我就讲了,这个都知道
2、int1 == integer1,Integer是int的封装类,当Integer与int进行==比较时,Integer就会拆箱成一个int类型,所以还是相当于两个int类型进行比较,这里的Integer,不管是直接赋值,还是new创建的对象,只要跟int比较就会拆箱为int类型,所以就是相等的。
3、integer1 == integer2 -> false,这是两个都是对象类型,而且不会进行拆箱比较,所以不等
4、integer3 == a1 -> false , integer3是一个对象类型,而a1是一个常量它们存放内存的位置不一样,所以也不等,具体存在内存的位置看以看文章:点击打开链接
5、6 看起来是一模一样的为什么一个是true,一个是false,这是因为Integer作为常量时,对于-128到127之间的数,会进行缓存,也就是说int a1 = 127时,在范围之内,这个时候就存放在缓存中,当再创建a2时,java发现缓存中存在127这个数了,就直接取出来赋值给a2,所以a1 == a2的。当超过范围就是new Integer()来new一个对象了,所以a、b都是new Integer(128)出来的变量,所以它们不等。
根据以上总结:
①、无论如何,Integer与new Integer不会相等。不会经历拆箱过程,因为它们存放内存的位置不一样。(要看具体位置,可以看看这篇文章:点击打开链接)
②、两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false。
③、两个都是new出来的,则为false。
④、int和integer(new或非new)比较,都为true,因为会把Integer自动拆箱为int,其实就是相当于两个int类型比较。
————————————————
版权声明:本文为CSDN博主「星空的阿斯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xingkongdeasi/article/details/////79618421
# 布尔值
boolean是java中的布尔型(逻辑型)数据类型,在java中boolean值只能是true和false,而不能用0和1代替,并且一定要小写。
布尔值 true 代表“真”,false 代表“假”。一般关系运算符会返回布尔值的结果。另外,数值的 0、-0、特殊值的 null、NaN、undefined 以及空字符("")都会被解释为 false ,其他值则会被解释为 true.
![boolean](https://iknow-pic.cdn.bcebos.com/9345d688d43f879442a5a063df1b0ef41bd53a21?x-bce-process%3Dimage%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_jpg)
扩展资料
java中创建boolean对象的方法:
1、使用关键词 new 来定义 Boolean 对象。下面的代码定义了一个名为 myBoolean 的逻辑对象:
var myBoolean = new Boolean()
var myBoolean = new Boolean()
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
2、下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。
var myBoolean = new Boolean();
var myBoolean = new Boolean(0);
var myBoolean = new Boolean(null);
var myBoolean = new Boolean("");
var myBoolean = new Boolean(NaN);
3、下面的所有的代码行均会创初始值为 true 的 Boolean 对象:
var myBoolean = new Boolean(1);
var myBoolean = new Boolean(true);
var myBoolean = new Boolean("true");
var myBoolean = new Boolean("false");
var myBoolean = new Boolean("Bill Gates");
参考资料来源:百度百科——Boolean
# 浮点数 float(+F)4位,double 8位
作者:灵剑
链接:https://www.zhihu.com/question/19848808/answer/120393769
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
小数点在数制中代表一种对齐方式,比如说你要比较1000和200哪个比较大你应该怎么做呢?你必须把他们右对齐:
```text
1000
200
```
然后发现1比0(前面补零)大,所以1000比较大。那么如果是比较1000和200.01呢?这时候就不是右对齐了,而是对应位对齐,也就是小数点对齐:
```text
1000
200.01
```
小数点位置在进制表示中是至关重要的,位置差一位整体就要差进制倍(十进制就是十倍)。在计算机中也是这样,虽然计算机使用二进制,但在处理非整数时,也需要考虑小数点位置的问题,无法对齐小数点就无法做加法、减法比较这样的操作。我们说小数点位置,永远是说相对于我们存储的数位来说的,比如说我们存储了01001001,然后小数点在第三位之后,也就是010.01001了。
在计算机中处理小数点位置有浮点和定点两种,定点就是小数点永远在固定的位置上,比如说我们约定一种32位无符号定点数,它的小数点永远在第5位后面,这样最大能表示的数就是11111.111111111111111111111111111,它是32 - 2^-27,最小非零数是2^-27。定点数是提前对齐好的小数,整数是一种特殊情况,小数点永远在最后一位之后。
定点数的优点是很简单,大部分运算实现起来和整数一样或者略有变化,但是缺点则是表示范围,比如我们刚才的例子中,最大只能表示32;而且在表示很小的数的时候,大部分位都是0,精度很差,不能充分运用存储单元。浮点数就是设计来克服这个缺点的,它相当于一个定点数加上一个阶码,阶码表示将这个定点数的小数点移动若干位。由于可以用阶码移动小数点,因此称为浮点数。