常用API:

1、Math:

1.1 Math 概述
Math包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数
Math 是final类,没有子类

类是final修饰的,是最终类没有子类
所有的类都直接或者间接继承Object
类的字段叫成员属性也叫成员变量,类也含有成员方法
类有构造方法是需要实例对象调用
类如果没有构造方法,成员变量和方法都是static修饰,可以通过类名直接访问
成员方法中,方法名相同,但是方法(参数)中的参数不同,说明是方法重载

———————————————————————————————————
public static int abs(int a) 返回参数的绝对值
System.out.println(_Math._abs(_88));
System._out
.println(_Math._abs(-11));
输出结果是 88, 11
———————————————————————————————————
public static double ceil(double a) 返回大于或等于参数的最小值double值,等于一个整数
System.out.println(_Math._ceil(_12.34));
System._out
.println(_Math._ceil(_12.56));
输出结果是 13.0 , 13.0
———————————————————————————————————
public static double floor(double a) 返回小于或等于参数的最大值double值,等于一个整数
System._out
.println(_Math.floor(12.34));
System._out
.println(_Math.floor(12.56));
输出结果是 12.0 , 12.0
———————————————————————————————————
public static int round(float a) 按照四舍五入返回最接近参数的int
System._out
.println(_Math._round(_12.34F));
System._out
.println(_Math._round(_12.56F));
输出结果是 12 , 13
———————————————————————————————————
public static int max(int a,int b) 返回两个int值中的较大值
System._out
.println(_Math._max(_12,34));
输出结果是 34
———————————————————————————————————
public static int min(int a,int b) 返回两个int值中的较小值
System._out
.println(_Math._min(_12,34));
输出结果是 12
———————————————————————————————————
public static int double pow(double a,double b) 返回a的b次幂的值
System._out
.println(_Math._pow(_2.0,3.0));
输出结果是 8.0
———————————————————————————————————
public static int double random() 返回值为double的正值[0.0 , 1.0)
System._out
.println(_Math._random());
输出结果是 0.732771777002569
System.out.println(_Math._random()*10);
输出结果是 5.366225775590823
System.out.println(_Math._random()100);
输出结果是 87.40453282233582
// 将结果强转为整数类型
System.out.println((_int) (Math._random()
100));
输出结果是 87
———————————————————————————————————

2、System:

2.1 System概述
System类包含几个有用的类字段和方法,它不能被实例化
public static void exit(int status) 禁止当前运行的Java 虚拟机,非零表示异常终止
System.exit(_0); 0表示终止
public static long currentTimeMillis() 返回当前时间(以毫秒为单位)
long start = System._currentTimeMillis()
;
for (_int i = 0; i < 10000; i++) { System._out.println(_i); }
long end = System._currentTimeMillis();
System.out.println(“共耗时:” + (_end - start) + “毫秒”)_;
共耗时:230毫秒

3、Object:

3.1 Object概述
类Object是类层次结构的根类,每个类都将Object作为超类,所有类都直接或者间接继承Object类。所有对象(包括数组)都实现类这个类的方法。
构造方法:public Object()
回想面向对象中,为什么说子类的构造方法默认访问的是父类的无参构造方法
3.1.1
public String toString() 返回对象的字符串便是形式
一般来说,toString方法返回一个”toString代表”这个对象的字符串。结果应该是一个简明概要的表达,让人容易阅读,建议所有子类重写toString()方法
public boolean equals(Object obj)
比较对象是否相同,默认比较地址,子类重写可以比较内容
子类都可以一键重写toString()和equals()方法 (alt + insert)
public class ObjectDemo {
_public static void main
(String[] args) {
Student s = new Student();
s.setName
(“林青霞”);
s.setAge
(20);
System._out
.println(_s); // com_05.Student@1b6d3586
System._out
.println(_s.toString()); // com_05.Student@1b6d3586
//子类Student重写父类Object的toString()后输出: Student{name=’林青霞’, age=20}
/
public void println(Object x) { println()方法,将s这个对象传递过来 x = s
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine(); } }
public static String valueOf(Object obj) { valueOf()方法,将s这个对象传递过来 obj = x
return (obj == null) ? “null” : obj.toString(); }
public String toString() { return getClass().getName() + “@” + Integer.toHexString(hashCode()); }
/
} }_

4、Arrays:

4.1 冒泡排序
普通排序: 将一组数据按照固定的规则进行排列
冒泡排序:一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将比较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序
总结:冒泡排序 如果有n个数据进行排序,总共需要比较n-1次,每一次比较晚,下次就会少一个数据参与

4.2 Arrays int[] _arr = {…}
Arrays类在util下需要进行导包
该类包含于操作数组的各种方法(如排序和搜索),该类还包含一个静态工厂,可以将数组视为列表
Arrays类包含用于操作数组的各种方法
public static String toString(int[] a) 返回指定数组的内容的字符串表示形式
public static void sort(int[] a) 按照数字顺序排列指定的数组冒泡
public class Arrary
{
// 定义一个数组
int
[] arr = {24,69,80,57,13};
// 定义一个数组的排序方法
public void sort
(){
// Arrays中sort()排序方法
Arrays._sort(_arr
);
// Arrays中toString()排序方法
System._out
.println(“排序后:” + Arrays.toString(_arr)); } }
—————————————————————-
public class ArrayDemo
{
public static void main(String[] args){
Arrary arrary = new Arrary();
arrary.sort
(); } }_
工具类的设计思想:
1、构造方法用private修饰
2、成员用public static修饰

5、基本类型包装类:

5.1 基本类型包装类概述
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一:用于基本类型与字符串之间的转换
基本数据类型:byte short int long float double char boolean
包装类: Byte Short Integer Long Float Double Character Boolean
5.2 Integer 包装类概述
包装一个对象中的原始类型int的值
public static Integer ValueOf(int i) 返回表示指定的int值的Integer实例
public static Integer VallueOf(String s) 返回一个保存指定值的Integer对象String
public class IntegerDemo {
// 判断数据是否再int范围内
public static void main(_String[] args) {
// public static final int MIN_VALUE
System._out
.println(_Integer._MIN_VALUE);
// public static final int MAX_VALUE
System.out.println(_Integer._MAX_VALUE);
// 方法已经过时
Integer integer = new Integer(_100);
Integer integer1 = new Integer
(“100”);
System._out
.println(_integer);
System._out
.println(_integer1);
// 目前使用方法
Integer integer2 = Integer._valueOf(_100
);
Integer integer3 = Integer._valueOf(
“100”);
System.out.println(_integer2);
System._out
.println(_integer3); } }
5.3 Int 和 String 的互相转换
基本数据类型包装类最常见的操作就是:基本类型和字符串之间的相互转换
1、int 转换为 String 类型
推荐使用静态方法:public static String valueOf(int i):返回int 参数的字符串表示形式。该方法是String 包装类的方法
int number = 100;
String s = String._valueOf(_number
);
2、String 转换为 int 类型
推荐使用静态方法:public static parseInt(String s): 将字符串解析为int类型,该方法是integer包装类中的方法
String s = “10”;
int i = Integer._parseInt(_s
);
public class IntegerDemo
{
// 判断数据是否再int范围内
public static void main
(String[] args) {
// Int 转换 String
int number = 100;
// 方式1:
String s = “” + number;
System._out
.println(_s);
// 方式2:String.valueOf(int i)
String s1 = String._valueOf(_number
);
System._out
.println(_s1);
// String 转换 Int
String s2 = “10”;
// Integer.valueOf(String s)
Integer integer = Integer._valueOf(_s2
);
// 方式1: String — Integer — int 使用Integer方法转换
// public int intValue() 因为该方法不是静态的,需要创建对象调用
int i = integer.intValue
();
System._out
.println(_i);
// 方式2: public static parseInt(String s)
int i1 = Integer._parseInt(_s2
);
System._out
.println(_i1); } }_

案例:字符串数据排序

需求:有一个字符串:’91 27 46 38 50’, 最终需要输出’27 38 46 50 91’
思路:
1、定义一个字符串
2、把字符串中的数字数据存储到一个int类型的数组中
3、对int数组进行排序
4、把排序后的int数组中的元素进行拼接得到一个字符串
5、输出结果
实现:
1、使用字符串String[].split方法
得到每一个数组:public String[] split(String regex)
2、定义一个int数组,把String[]数组中的每一个元素存储到int数组中
转换成int类型:public static int parseInt(String s)
// 判断数据是否再int范围内
public static void main(_String[] args) {
// 1、定义一个字符串
String s = “91 27 46 38 50”;
// 2、把字符串中的数字数据存储到一个int类型的数组中,regex是字符串“空格”
String
[] strArray = s.split(“ “);
// 3、对int数组进行排序,定义int数组的长度是strArray的长度
int
[] arr = new int[strArray.length];
for
(int i = 0;i< arr.length;i++){
arr[i] = Integer._parseInt(_strArray[i]);
}
// 4、 对int数组进行排序
Arrays._sort(_arr
);
for
(int i = 0;i < arr.length; i++){
// 5、输出结果
System._out
.println(_arr[i]); } }_

5.4 自动装箱和拆箱

1、装箱:把基本类型转换为对应的包装类类型
2、拆箱:把包装类类型转换为对应的基本类型
自动装箱: Integer i = 100;
i+= 200 // i = i +200; i+200 自动拆箱;i=i+200;是自动装箱
public static void main(_String[] args) {
// 装箱:把基本类型转换为对应的包装类类型
// 100是一个基本整数类型,通过Integer调用的valueOf转换为了对应的包装类类型 i —该过程就是装箱
Integer i = Integer._valueOf(_100
)_;
// 自动装箱,是默认调用了Integer.valueOf()方法
Integer ii = 100;

  1. // 拆箱:把包装类类型转换为对应的基本类型<br /> // 手动拆箱:将ii从引用包装类型通过intValue()方法转换为int类型,然后再实现自动装箱<br /> ii = ii.intValue_() _+ 200;<br /> // 实现自动拆箱:不但实现了intValue()方法,同时还实现了Integer.valueOf()方法<br /> ii += 200; _}_