一、包的结构与功能介绍
Java是一门面向对象的语言,sun公司提供基于面向对象的帮助文档(API Application Program Interface) ,并针对不同的版本生成的API
API中根据不同的功能分如下包 (package)
- java.applet.* : java的小应用程序
- java.awt.* 和 java.swing.* : java的图形用户界面(开发单机版的小游戏)
- java.lang.* : java的语言包
- java.util.* : java的工具类包、集合框架包
- java.io.* : java文件读写包(Input 、Output)
- java.net.* : java的网络编程包(Socket机制相关,URL)
- java.sql./ javax.sql. : java的数据库操作
- java.lang.reflect.* 反射相关包
二、java的lang包
1、包装类
定义: Java的8个基本数据类型对应的 对象类型,称为它们的包装类
为什么需要包装类:
基本数据类型中不能提供方法, 不能与其他引用数据类型转换,此时包装类作为该基本数据类型的对象类型,不仅提供常用的方法,还可以与其他数据类型互相转换 和 “装箱”、“拆箱”
基本数据类型 | 包装类型 | 包装类的默认值 |
---|---|---|
byte | Byte | null |
short | Short | null |
int | Integer | null |
long | Long | null |
float | Float | null |
double | Double | null |
char | Character | |
boolean | Boolean |
问题1: 基本数据类型、包装类以及字符串的相互转换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-75hBJtsb-1603449987948)(assets/2.png)]
public static void main(String[] args) {
// 1、byte 的包装类 Byte
// 创建包装类的对象
byte b=123;
Byte obj1 = new Byte(b);
//1、 包装类 转字符串 包装类对象.toString()
String s1 = obj1.toString();
//2、字符串转包装类 new 包装类(s) 或者 包装类.valueOf(s)
String s2="100";
Byte obj2 = new Byte(s2);
// 或者
Byte obj3 = Byte.valueOf(s2);
//3 获取包装类的数值,包装类转基本数据类型 Byte - > byte
// 包装类.valueOf(基本数据类型) 或者 byteValue()
byte b2 = obj2; // 包装类可以直接复制给基本数据类型 ,这个过程 “拆箱”过程
byte b3 = Byte.valueOf(obj2);
// 4、字符串转 基本类型 包装类.paseByte(s)
byte b4 = Byte.parseByte(s2);
byte b5=122;
String s5 = new Byte(b5).toString();
}
再以 Integer 举例
public static void main(String[] args) {
int n=250;
// 转包装类
Integer obj1 = new Integer(n);
//包装类转基本数据类型
int n3 = Integer.valueOf(obj1);
// 转字符串
String s1 = obj1.toString();
// 字符串再转成 Integer
Integer obj2 = Integer.parseInt(s1);
Integer obj3 = new Integer(s1);
// 字符串转int
int n2 = Integer.valueOf(s1);
// int 转 转字符串
String s3 = new Integer(n2).toString();
System.out.println("-------------Intger的常用方法------");
int num = Integer.bitCount(2); // 个位数 + 高位数的和
System.out.println(num);
// n1>n2 返回1 n1==n2 返回0 n1<n2 -1
//比较两个数是否相等
System.out.println(Integer.compare(100,200));
System.out.println(Integer.decode("123"));
//equals 比较两个数是否相等 对于基本数据类型的包装类比较他们的数值
Integer n1 = new Integer(90);
Integer n4 = new Integer(90);
System.out.println(n1.equals(n4));// 比较两个对象的 值
System.out.println(n1 ==