您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

Java基础入门----基本数据类型

Java基础入门

  • 基本数据类型
    • 整形
    • 浮点类型
    • 基本类型和包装类型(重点)

基本数据类型

整形

在Java中,整形的范围与运行Java代码的机器无关。
一共四种,分别为 : byte short int long
在这里插入图片描述
长整形后面需要跟着L后缀。
十六进制、八进制、二进制需要有前缀。
Java中没有任何无符号的整形。

浮点类型

有两种,float 和 double
正常默认用double。特别注释float的话需要加F。
double精度一般是float的两倍。
float有效位数6~7位,double有效位数15位。
浮点数不能用“==”来判断是否相等!!

基本类型和包装类型(重点)

Java 的每个基本类型都对应了一个包装类型。
比如说 int 的包装类型为 Integer,double 的包装类型为 Double。
基本类型和包装类型的区别主要有四个方面。
第一,基本类型在栈中直接存储的具体数值,而包装类型则存储的是堆中的引用。
相比较于基本类型而言,包装类型需要占用更多的内存空间。假如没有基本类型的话,对于数值这类经常使用到的数据来说,每次都要通过 new 一个包装类型就显得非常笨重。
在这里插入图片描述
第二,两个包装类型的值可以相同,但却不相等。

Integer chenmo = new Integer(10);
Integer wanger = new Integer(10);

System.out.println(chenmo == wanger); // false
System.out.println(chenmo.equals(wanger )); // true

两个包装类型在使用==进行判断的时候,判断的是其指向的地址是否相等。chenmo 和 wanger 两个变量使用了 new 关键字,导致它们在==的时候输出了 false。
chenmo.equals(wanger) 的输出结果为 true,是因为 equals 方法内部比较的是两个 int 值是否相等。
第三,包装类型可以为 null,而基本类型不可以。包装类型可用于泛型,而基本类型不可以。
这两点我目前不太明白,等会了,再来补充。
第四,自动装箱和自动拆箱
tips:既然有基本类型和包装类型,肯定某些时候要将它们进行互相转换。
把基本类型转换成包装类型的过程叫做装箱(boxing)。
反之,把包装类型转换成基本类型的过程叫做拆箱(unboxing)。
自动装箱是通过 Integer.valueOf() 完成的;自动拆箱是通过 Integer.intValue() 完成的。
当需要进行自动装箱时,如果数字在 -128 至 127 之间时,会直接使用缓存中的对象,而不是重新创建一个对象。

// 1)基本类型和包装类型
int a = 100;
Integer b = 100;
System.out.println(a == b);

// 2)两个包装类型
Integer c = 100;
Integer d = 100;
System.out.println(c == d);

// 3)
c = 200;
d = 200;
System.out.println(c == d);

这三道题答案分别是 True True False

本篇文章最后致谢大佬,我把大佬的网站附在此处。感谢!!

https://mp.weixin.qq.com/s/IoXT2D8eAG8UWK4j2Gem4A


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进