【Java基础篇】基本数据类型和包装类

         Java是一种强类型语言(先定义类型后使用)。Java提供了八种(四型)基本数据类型。

一、整型:byte、short、int、long

 int为整数的默认类型,如需为long类型赋值 , 如果取值范围超出了int 则需要在值的后面追加L或者l如果取值范围在int范围以内 则可加,可不加。

1、byte:1字节(8位)。取值范围是 -128 到 127。
2、short:2字节(16位)。取值范围是 -32,768 到 32,767。
3、int:4字节(32位)。取值范围是 -2^31 到 2^31-1。
4、long:8字节(64位)。取值范围是 -2^63 到 2^63-1。

二、浮点型:float、double

这两种类型都是近似值 ,不是精确值 ,如需精确值 ,使用BigDecimal类。

1、float 4字节,double 8 字节

三、布尔型

boolean:1字节。取值true或者false。

四、字符型

char:2字节(16位)。取值范围为0~65535。char有三种赋值方式。

// 赋值方式1 直接使用英文的单引号包括任意一个内容
char ch1 = 'a';
System.out.println("ch1 = " + ch1);
char ch2 = '1';
System.out.println("ch2 = " + ch2);
char ch3 = '啊';
System.out.println("ch3 = " + ch3);
char ch4 = '!';
System.out.println("ch4 = " + ch4);

// 赋值方式2 直接赋值在0~65535(2^16)以内的整数
// ASCII 美国标准信息交换码  0 ~ 127
char ch6 = 65;
System.out.println("ch6 = " + ch6); // A
char ch7 = 97;
System.out.println("ch7 = " + ch7); // a

// 赋值方式3 使用英文单引号包括十六进制的Unicode字符值  必须以杠u开头
char c1 = '\u4e2d';
System.out.println("c1 = " + c1);//中

五、八个基本数据类型的包装类

byte——Byte   short——Short     int ——Integer     long——Long 

float——Float   double——Double  char—— Character   boolean——Boolean
装箱:将基本数据类型变为包装类,每个包装类的构造方法都可以接收各自数据类型的变量

拆箱:将包装类转换为基本数据类型,就是从包装类中取出被包装的数据

(拆箱和装箱操作都是自动执行的!!即可以理解为包装类和基本数据类型间可以相互赋值)

Integer a = 10;//在这行代码中,就进行了自动装箱

//这行代码在执行的时候在jvm中会编写为Integer a = Integer.valueOf(10);

 int a = b;//将10这一基本数据类型转换为了包装类赋值给b,再将b值赋值给a

(但要注意,包装类是一个对象,默认值为空对象,但是基本数据类型的默认值不为null,比如byte、short、int、long、char的默认值为0,float、double的默认值为0.0,boolean的默认值为false)

六、谈一下为什么在定义实体类时,会提示建议使用包装类

首先我谈一下自己的理解,首先Java是一门面向对象的语言,可以说一切皆是对象。

1、比如在集合操作中,能够操作和存储的都是对象,无法使用基本数据类型(在jvm自动拆装箱的前提下,使用包装类的使用方式更灵活了)。

2、其次从业务理解上,比如定义一个Sutdent类,一个int型的score属性和一个Integer的score属性,Integer即可为null也可为0,但是int只能为空,要注意,成绩为空和成绩为0是截然不同的意思!因此在表达含义上使用包装类同样更加便捷。

By the way!!框架注解@Data的提供无参构造函数,在将属性定义为boolean时,无法对属性使用getter和setter操作,要使用is+属性名的方式获取)

七、提一下BigDecimal

        BigDecimal是Java在java.math包中提供的线程安全的API类。BigDecimal是Java中用于表示任意精度数字的类(可以表示无限长度的小数,双精度浮点型变量double只可以处理16位有效数),开发中,如果我们需要精确计算的结果,可以使用BigDecimal类来操作。

1、BigDecimal常用的构造方法

2、BigDecimal不可以直接使用加减乘除等运算符,以下是BigDecimal常用的API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值