#  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,精度很差,不能充分运用存储单元。浮点数就是设计来克服这个缺点的,它相当于一个定点数加上一个阶码,阶码表示将这个定点数的小数点移动若干位。由于可以用阶码移动小数点,因此称为浮点数。

posted on 2021-08-01 14:48  村上莽夫  阅读(85)  评论(0编辑  收藏  举报