核心API

  • 1.Lang包
  • 2.枚举
  • 2.1 概述:
  • 2.2 语法:
  • 2.3 实现:
  • 2.4 枚举的好处:
  • 包装类
  • 3.1 概念
  • 3.2 包装类的自动拆装箱
  • 3.3 包装类的常用方法
  • 3.4Character是常用方法
  • 3.5 常量池
  • 面试题



12课和13课的内容放到一起了

1.Lang包

1.1 定义: java.lang包是Java内置的一个基础包,其中包含了一系列程序中经常要的类; 在默认情况下,每个Java程序都会自动导入该包,因此无需在程序中显式地声明引入。

2.枚举

2.1 概述:

枚举类型可以取代以往的常量的定义方式,即常量封装在类或者接口中,此外枚举提供了安全检查功能。枚举本质上还是以类的形式存在枚举类型增强了程序代码的健壮性
例如: 属性值固定枚举,如,季节、节气、性别等。

2.2 语法:

  • 关键字:enum;
  • 定义语法: public enum 类名{ 成员值1,成员值2,… ,成员值 N}

2.3 实现:

将枚举作为变量的数据类型,那么这个变量的值就必须是枚举类中的常量值。

如何将枚举类交给spring管理 枚举类放在哪个包下_常量池


如何将枚举类交给spring管理 枚举类放在哪个包下_Java_02


如何将枚举类交给spring管理 枚举类放在哪个包下_常量池_03

2.4 枚举的好处:

类型安全,易于输入,代码清晰


包装类

3.1 概念

Java有两大数据类型 : 基本数据类型和引用数据类型。基本数据类在某一些场合使用不了,比如集合(集合只能放引用数据类型)。
Java提供一系列包装类,将原始数据变成引用数据类型。

原始数据类型

包装类

boolean(布尔值)

Boolean

byte(字节型)

Byte

char(字符型)

Character

short(短整型)

Short

int(整数型)

Integer

long(长整型)

Long

float(浮点型)

Float

double(双精度浮点型)

Double

为什么要提供包装类

  1. 和面向对象的思想一致,因为普通类型没有方法属性。
  2. 和其它类型进行转换,没有包装类比较麻烦

3.2 包装类的自动拆装箱

JDK1.5后以后提供了自动拆装箱的操作

  • 自动装箱: 自动将基本数据转成引用数据
  • 自动拆箱: 自动将包装类转成基本数据类
int a = 5;
//自动装箱 将简单数据赋值给了包装类
Integer i = a;
//自动拆箱 将包装类转成简单数据类
int num = i;
// JDK1.5之后才有自动拆装箱

3.3 包装类的常用方法

  • 字符串和简单类(包装类)之间如何转换
    personInt

    Valueof
  • 自动拆装箱原理
public static  void main(String[]args){
    Integer integer=Integer.valueOf(1); 
    int i=integer.intValue(); 
}

3.4Character是常用方法

  • isDigit 判断是否是数字 返回boolean
  • 如何将枚举类交给spring管理 枚举类放在哪个包下_常量池_04

  • isLetter 判断是否是字母 返回boolean
  • 如何将枚举类交给spring管理 枚举类放在哪个包下_Java_05

  • isUpperCase 判断是否是大写字母 返回Boolean
  • 如何将枚举类交给spring管理 枚举类放在哪个包下_如何将枚举类交给spring管理_06

  • isLowerCase 判断是否是小写字母 返回Boolean
  • 如何将枚举类交给spring管理 枚举类放在哪个包下_Java_07


  • 如何将枚举类交给spring管理 枚举类放在哪个包下_包装类_08

  • 注意:
    包装类并不是取代基本类型

3.5 常量池

包装类常量池的值范围: -128到127

  • java 中基本类型心包装类的大部分都实现了常量池技术,这些类是Byte,Short,Integer,Long,Character,Boolean
  • 另外两种浮点数的包装类则没有实现
  • 当这些有常量池的包装类对应的值在-128到127的范围内,用==判断的时候是相等,因为指向一个地址。

如何将枚举类交给spring管理 枚举类放在哪个包下_java_09

面试题

  • Integer和 Int区别
  • Integer 是int的包装类,int是基类型;
  • Integer 必须实例化后才能用int不用;
  • Integer 是对象的引用,new一个Integer时,实际上引用指像的是对象,int是直接存数值;
  • Integer默认是null,int默认是0;
  • 解释自动拆装箱
  • 自动拆装箱在JDK1.5后时被引入,自动装箱就是把 int转成Integer ,反之就是拆箱。
  • 装箱过程是通过调用包装器的valueOf方法实现的,而拆箱就是调用xxxValue方法;