API 指官方给开发人员提供的说明文档,对语言有那些类,类中有哪些方法进行说明。
后面Java学习就是学习Java语言提供哪些类,在这些类的基础上进行开发提高开发效率。
Object类
Java.lang.Object 是Java类体系中根基类 ,可以表示Java中任意的类
自己可以Object类的toString
Object
toString:将信息以字符串的形式输出。
boolean equals (Object obj) 判断两个对象是否相等
Object类中的equals 默认是比较两队像的地址是否相等可用==代替
在其他类中一般重写equals(),将他改造成比较两对象是否相等
equals()重写:
public boolean equals(Object obj){
if(obj instanceof Object){
Person other=(Person)obj;
return this.name.equals(other.name)&&this.age==other.age;
}
return false;
}
== :比较等号两边是否相等,用于引用类性,比较的是对象的地址 用于基本类型 ,是比较对象是否相等
Arrays类
copyOf 数组复制
sort()对指定数组进行升序排列
我们一个类要进行排序,这个类需要实现comparable接口,指定一个排序方法
基本数据类型包装类 Java中基本数据类型使用8个关键字声明不是面向对象 Java语言是面向对象可以为每个基本类型进行定义
自动拆箱:将引用类型转换基本类型,自动默认调用intValue();方法
自动装箱:将基本类型转换为引用类型
默认调用valueOf()方法;在valueOf()中如果基本类型的值在-128-127之间会从缓存数中直接去除Integer对象,减少创建次数,如果两个值不在缓存区每次都创建一个Integer返回
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
String
int length() 获取字符串长度
char charAt(int index) 获取指定字符
itn indexOf(String str) 指定字符首次出现的位置
int lastindexOf() 从后向前找指定字符首次出现位置
String substring(int start) 从指定位置截取字符字串
String substing(int start ,int end) 从指定位置截取字符字串,到指定位置不包含结束位置String Str= "123"; 创建时先去字符常量池中查找,有没有相同值得对象 ,没有就从创建一个字符对象
String str =new String("123"); 每次则要创建新对象
正则表达式(简称regx)
是一种规则匹配语法,可以使用一些正则表达式中定义特殊符号来定义一种规则,然后用此匹配某些字符串 匹配则ture.否则为false,
math
java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型
abs 绝对值
sqrt 平方根
pow(double a, double b) a的b次幂
max(double a, double b)
min(double a, double b)
random() 返回 0.0 到 1.0 的随机数
long round(double a) double型的数据a转换为long型(四舍五入)
StringBuffer
package JavaApi.Str4;
public class StringBuffer1 {
public static void main(String[] args) {
/*
string声明的字符串对象值一旦给定就不能改变,每次拼接都会创建新的字符串对象,好事占空间
StringBuffer是内容可变字符串
char[] value; 没有final修饰,每次添加内容都是对此数组进行操作,不会创建新的字符串对像
*/
StringBuffer S1=new StringBuffer("acbd");//创建内容长度+16的char数组
// StringBuffer S1=new StringBuffer();//空参构造方法,指定底层数组长的为16
StringBuffer s=new StringBuffer(10);//指定数组容量
S1.append("12");
S1.insert(1,5);//向指定位置插入指定数字、
S1.insert(1,"C");
System.out.println(S1);
S1.deleteCharAt(0);//删除指定位置的字符
System.out.println(S1);
StringBuffer s2=new StringBuffer("abdefgrt");
s2.reverse();//逆序
s2.delete(0,3);//删除指定区间的元素,包括开头,不败含结尾
System.out.println(s2);
}
}
String : 值不能改变的字符串 StringBuffer:值可以改变且不需要创建新队象,方法上都加上锁在多线程执行是安全 StringBuider:值可以改变且不需要创建新队象,方法上没加上锁在线程执行是不安全,适合单线程
基本数据类型包装类
java中的基本数据类型使用八个关键字声明的,不是面向对象。
java语言是面向对象的,可以为每个基本类型定义一个类来进行表示,这样我们在类中还是保持有一个基本类型变量存储数据,同时还可以提供许多方法对变量进行操作(将十进制转化为二进制)
Integer
构造Integer对象,里面包着一个基本数据类型值,用该对象表示一个这个值
package Javaapi.Basedemo;
public class Integers {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Integer a=new Integer(18);
Integer b=new Integer("10");
System.out.println(a);
System.out.println(b);
//一类为静态方法 System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toHexString(17));
System.out.println(Integer.toOctalString(9));
}
System.out.println(Integer.compare(8,10));//可用来比较大小。返回0,1,-1,表示大小
//一类是非静态
System.out.println(a.equals(b));
System.out.println(a.compare(b));
//转换的方法 包装类型转换为基本类型
int aa=a.intValue();
int bb=Integer.parseInt("20");
//把基本类型转换为包装类型
int cc=10;
Integer dd=new Integer(cc);
Integer ee =Integer.valueof(cc);
}