常用类
Object
如果一个类没有指明父类,则默认父类为java.lang.Object类。
常用方法:
-
toString()
-
equals()
-
hashCode():哈希值:是一个十进制的整数,由系统计算得出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)
注意:两个对象的hashCode()返回值相同,两对象不一定相同,还需要通过equals()再次判断。
String
字符串常用方法:
构造
-
public String()
-
public String(String value)
-
public String(char[] value)
-
String(char[] value, int offset, int count)
-
String(byte[] bytes)
-
String(byte[] bytes, int offset, int length)
比较
-
public boolean equals (Object anObject) :将此字符串与指定对象进行比较。
-
public boolean equalsIgnoreCase (String anotherString) :将此字符串与指定对象进行比较,忽略大小写。
长度
-
public int length():返回该字符串的长度
求字符串某一位置字符
-
public char charAt(int index):返回字符串中指定位置的字符;注意字符串中第一个字符索引是0,最后一个是length()-1。
提取子串
-
public String substring(int beginIndex):该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回。
-
public String substring(int beginIndex, int endIndex):该方法从beginIndex位置起,从当前字符串中取出到endIndex-1位置的字符作为一个新的字符串返回。
连接
-
public String concat(String str):将参数中的字符串str连接到当前字符串的后面,效果等价于"+"。
查找
-
public int indexOf(int ch/String str):用于查找当前字符串中字符或子串,返回字符或子串在当前字符串中从左边起首次出现的位置,若没有出现则返回-1。
-
public int indexOf(int ch/String str, int fromIndex):改方法与第一种类似,区别在于该方法从fromIndex位置向后查找。
-
public int lastIndexOf(int ch/String str):该方法与第一种类似,区别在于该方法从字符串的末尾位置向前查找。
-
public int lastIndexOf(int ch/String str, int fromIndex):该方法与第二种方法类似,区别于该方法从fromIndex位置向前查找。
大小写
-
public String toLowerCase():返回将当前字符串中所有字符转换成小写后的新串
-
public String toUpperCase():返回将当前字符串中所有字符转换成大写后的新串
替换
-
public String replace(char oldChar, char newChar):用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。
-
public String replaceFirst(String regex, String replacement):该方法用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串,应将新的字符串返回。
-
public String replaceAll(String regex, String replacement):该方法用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串,应将新的字符串返回。
其他
-
String trim():截去字符串两端的空格,但对于中间的空格不处理。
-
boolean statWith(String prefix):用来比较当前字符串的起始字符或子字符串prefix是否和当前字符串相同
-
boolean endWith(String suffix):用来比较终止字符或子字符串suffix是否和当前字符串相同
-
String[] split(String str):将str作为分隔符进行字符串分解,分解后的字字符串在字符串数组中返回。
String是不可变的!!!不可变对象,顾名思义就是创建后的对象不可以改变。
String s1 = "ABC";
String s2 = "ABC";
String s1 = "ABC";
String s2 = new String("ABC");
String s1 = "ABC";
String s2 = "AB"+"C";
String s1 = "ABC";
String s2="AB";
String s3 = s2+"C";
StringBuffer
常用方法:
-
append(String s):将指定的字符串追加到此字符序列。
-
delete(int start, int end):移除此序列的子字符串中的字符。
-
insert(int offset, int i):将 int 参数的字符串表示形式插入此序列中。
-
replace(int start, int end, String str):使用给定 String 中的字符替换此序列的子字符串中的字符。
-
Reverse():将此字符序列用其反转形式取代。
注意:StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)
System
system中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。
常用方法:
-
public static long currentTimeMillis():获取当前系统时间与1970年01月01日00:00点之前的毫秒差值,我们可以用它来测试程序的执行时间。
-
public staitc void exit(int status):结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其它为异常状态。
-
public static void gc():用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。注意:当我们调用System.gc()的时候,其实并不会马上进行垃圾回收,甚至不一定会执行垃圾回收。
-
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):复制数组
注意:native 是可以调用当前操作系统来实现数组拷贝的。
public static void main(String[] args) {
int[] src = {1,22,333,4444,5555,666666,7777777};
int[] dest = {10,20,30};
System.arraycopy(src, 2, dest, 0, 2);
for(int i=0;i<dest.length;i++) {
System.out.println(dest[i]);
}
}
Date
Date类表示特定的瞬间,精确到毫秒。
常用方法:
- Date()
- Date(long date)
- public int compareTo(Date anotherDate)比较两个日期的顺序。如果参数Date等于此Date,则返回值0;如果此 Date在Date参数之前,则返回小于0的值;如果此Date在 Date 参数之后,则返回大于0的值。
- getXx()和setXxx() :已过时。
Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
常用方法:
- public static Calendar getInstance():使用默认时区和语言环境获得一个日历。返回的 Calendar 基于当前时间,使用了默认时区和默认语言环境。
- public int get(int field):返回给定日历字段的值。
- public void set(int field,int value):将给定的日历字段设置为给定值。
- public final void set(int year,int month,int date)
- public final void set(int year,int month,int date,int hourOfDay,int minute)
- public final void set(int year,int month,int date,int hourOfDay,int minute,int second)
- public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
SimpleDateFormat
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
常用方法:
- public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
- public final String format(Date date):将一个 Date 格式化为日期/时间字符串。
- public Date parse(String source)throws ParseException从给定字符串的开始解析文本,以生成一个日期。
Math
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常用属性:
- public static final double E比任何其他值都更接近 e(即自然对数的底数)的 double 值。
- public static final double PI比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
常用方法:
- public static double abs(double a):返回double值的绝对值。
- public static float abs(float a):返回float值的绝对值。
- public static int abs(int a)返回int值的绝对值。
- public static long abs(long a)返回long值的绝对值。
- public static double max(double a,double b)
- public static float max(float a,float b)
- public static int max(int a,int b)
- public static long max(long a,long b)
- public static double min(double a,double b)
- public static float min(float a,float b)
- public static int min(int a,int b)
- public static long min(long a,long b)
- public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
- public static long round(double a)返回最接近参数的long。
- public static int round(float a)返回最接近参数的int。
- public static double floor(double a)返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
Random
此类的实例用于生成伪随机数流。
常用方法:
- public Random()创建一个新的随机数生成器。
- public Random(long seed)使用单个 long 种子创建一个新的随机数生成器。
- public int nextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
- public int nextInt(int n)返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。nextInt 的常规协定是,伪随机地生成并返回指定范围中的一个 int 值。
- public boolean nextBoolean()返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
- public double nextDouble()返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
- public float nextFloat()返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
- public long nextLong()返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
包装类
Java 是号称面向对象的语言,所有的类型都是引用类型。Object 类是所有类的父类,而且是唯一不用指定明确继承的类。但是基本类型如 int 不是引用类型,也不是继承自 Object,所以 Java 需要一个这样的包装类来使其面向对象的完整性。
Java 就提供了8 种基本数据类型及对应的8种包装数据类型。
以Integer为例,其他包装类操作都类似。
常用属性:
- public static final int MAX_VALUE值为 231-1 的常量,它表示 int 类型能够表示的最大值。
- public static final int MIN_VALUE值为 -231 的常量,它表示 int 类型能够表示的最小值。
常用方法:
- public Integer(int value)构造一个新分配的 Integer 对象,它表示指定的 int 值。
- public Integer(String s)throws NumberFormatException构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
- public static int parseInt(String s) throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。
- public String toString()返回一个表示该 Integer 值的 String 对象。
- public int intValue()以 int 类型返回该 Integer 的值。
自动装箱:基本类型自动变成包装类类型。装箱时,调用 valueOf 方法实现,比如 Integer.valueOf(100);
Integer i = 100;
//相当于编译器自动作以下的语法编译:Integer i = Integer.valueOf(100);
自动拆箱:包装类类型自动变成基本类型。 拆箱时,调用对应的 xxxValue 方法,比如 intValue() 方法。
Integer i = new Integer(10);
int t = i;
//拆箱,实际上执行了 int t = i.intValue();