常用类(上)
public final class Array
成员方法:
public static String toString(int[] a) 把数组转成字符串
public static void sort(int[] a) 对数组进行排序
public static int binarySearch(int[] a,int key) 二分查找
注意事项:
在调用二分查找之前应该先对数组进行排序
public final class Character
构造方法:
Character(char value)
成员方法:
判断功能:
public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符
public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符
public static boolean isDigit(char ch):判断给定的字符是否是数字字符
转换功能:
public static char toUpperCase(char ch):把给定的字符转换为大写字符
public static char toLowerCase(char ch):把给定的字符转换为小写字符
练习题:
统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
public final class Integer
成员变量:
public static final int MAX_VALUE int类型最大范围
public static final int MIN_VALUE int类型最小范围
构造方法:
public Integer(int value)
public Integer(String s)(字符串必须是数字组成)
成员方法:
进制转换功能:
public static String toBinaryString(int i)转二进制
public static String toOctalString(int i)转八进制
public static String toHexString(int i)转十六进制
public static String toString(int i,int radix)(radix在2到36之间):十转其他
public static int parseInt(String s,int radix)(前后类型一致):其他转十
类型转换:
String.valueOf(int number) int ->String
Integer.parseInt(String s) String->int
注意事项:
1.Integer在JDK5后有自动装拆箱功能
:Integer i=20;自动装箱
System.out.print(i);自动拆箱
2.Ingeger在直接赋值时,如果时赋的-128到127之间的值时直接在缓冲池中拿的。
public class Object
构造方法:
public Object()
成员方法:
public int hashCode():返回该对象的哈希码值。
public final Class getClass():返回此 Object 的运行时类。
Class类的方法:
public String getName():以 String 的形式返回此 Class 对象所表示的实体
protected Object clone():创建并返回此对象的一个副本,需要重写此方法,实现
Cloneable接口,此接口是标记接口,实现该接口就可以实现对象复制。
protected void finalize():当垃圾回收器确定不存在对该对象的更多引用时,由对象
的垃圾回收器调用此方法。用于垃圾回收,但是什么时候回收不确定。
public boolean equals(Object obj):判断两个对象地址值是否相当,如果子类想要判断
内容是否相当需要重写此方法。
public String toString():返回该对象的字符串表示,建议重写。
注意事项:
1.Object类是所有类的超类。
2.子类如果没有重写equals()方法是默认比较地址值。
3.子类如果没有重写toString()方法,默认返回
this.getClass().getName() + '@' + Integer.toHexString(this.hashCode())。
public final class Scanner
构造方法:
Scanner(InputStream source)
成员方法:
public boolean hasNextXxx():判断是否是Xxx类型元素。
public Xxx nextXxx():获取是否是Xxx类型元素。
常用成员方法:
int:
public boolean hasNextInt()
public int nextInt()
String:
public boolean hasNextLine()
public String nextLine()
示例:
public class Demo { public static void main(String[] args) { Scanner sc=new Scanner(System.in); if(hasNextLine) { String str=sc.nextLine(); System.out.println(str); } } }
注意事项:
1.先获取数字再获取字符串控制台是无法输入字符串的,因为直接把回车符号扫描成字符串了。可以重新创建Scanner对象,
或者全部用字符串NextLine()获取,再转为字符串。
public final class String
构造方法:
public String()
public String(byte[] bytes)
public String(byte[] bytes,int index,int length)
:从指定索引开始取length个字节转换
public String(char[] value)
public String(char[] value,int index,int count)
:从指定索引开始取count个字符转换
public String(String original)
成员方法:
判断功能:
public boolean equals(Object obj):区分大小写的比较内容是否相同
public boolean euqalsIgnoreCase(String str):不区分大小写比较内容是否相同
public boolean contains(String str):判断大字符串是否包含小字符串
public boolean startsWith(String str):判断字符串是否以某个字符开头
public boolean endsWith(String str):判断字符串是否以某个字符串结尾
public boolean isEmpty():判断字符串是否为空
获取功能:
public int length():获取字符串长度
public char charAt(int index):返回指定索引位置的字符
public int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
public int indexOf(String str):返回指定字符串在此字符串第一次出现处的索引
返回的是小字符串头一个字符在大字符串的位置
public int indexOf(int ch,int fromIndex): 返回指定字符在此字符串中从指定
位置后第一次出现处的索引,未找到则返回-1,从指定位置算起,包括指定位置。
public int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位
置后第一次出现处的索引。
public String substring(int start):从指定位置开始截取字符串,默认到末尾。
public String substring(int start,int end):从指定位置开始到指定位置结束
截取字符串,包含左边,不包含右边。
转换功能:
public byte[] getBytes():把字符串转换为字节数组。
public char[] toCharArray():把字符串转换为字符数组。
public static String valueOf(char[] chs):把字符数组转成字符串。
public static String valueOf(int i):把int类型的数据转成字符串。
public static String valueOf(Object obj):把任意类型的数据转成字符串。
public String toLowerCase():把字符串转成小写。
public String toUpperCase():把字符串转成大写。
public String concat(String str):把字符串拼接。
替换功能:
public String replace(char old,char new)
public String replace(String old,String new)
比较功能:
public int compareTo(String str)
public int compareToIgnoreCase(String str)
注意事项:
1.字符串一旦赋值不能被改变
2.String s=new String("Java")和String s="Java"区别
前者创建2个对象,后者创建1个对象。
3.String用==比较是比较地址值,比较内容用equals
4.字符串变量相加,先开空间,再拼接。
字符串常量相加,是先加,再在常量池中找,有则直接用,没有则创建空间存。
练习题:
1.模拟登录,给三次机会,并提示还有几次。
2.模拟登录,给三次机会,并提示还有几次。如果登录成功,就可以玩猜数字小游戏了。
3.遍历获取字符串中的每一个字符。
4.统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)。
5.把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)。
6.把数组中的数据按照指定个格式拼接成一个字符串。
7.统计大串中小串出现的次数。
8.字符串反转。
public final class StringBuffer
构造方法:
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
成员方法:
获截取功能:
public int capacity():返回当前理论值容量
public int length():返回实际值长度(字符数)
public String substring(int start):截取指定位置开始到结束的字符并返回String
public String substring(int start,int end)(包左不包右)
添加功能:
public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,
并返回字符串缓冲区本身。
public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插
入到字符串缓冲区里面,并返回字符串缓冲区本身。插入完成,指定字符串第一个字符
在此字符缓冲区的位置就是指定位置。
反转功能:
public StringBuffer reverse()
替换功能:
public StringBuffer replace(int start,int end,String str):从start开始到end用str
替换(包左不包右)
删除功能:
public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身
public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结
束的内容,并返回本身(包左不包右)
注意事项:
1.字符串缓冲区可变
2.两个截取功能返回的是字符串不是其本身
3.String、StringBuffer、StringBuilder区别?
:String内容不可变,后两者可变;StringBuffer同步数据安全效率低,StringBuilder
不同步数据不安全效率高.
4.StringBuffer与数组的区别?
:两者都是存放数据的容器,但前者最终是个字符串,后者可以存任意同种类型数据。
5.String作为参数传递时,传递的时字符串常量值,不是地址值。StringBuffer作为参数
传递的是地址值。
练习题:
1.String与StringBuffer相互转换
2.把数组拼接成字符串
3.把字符串反转
4.判断两个字符串是否是对此字符串
public final class System
成员变量:
public static InputStream IS;标准输入流
成员方法:
public static void gc():运行垃圾回收器。调用finalize()方法
public static void exit(int status):终止当前正在运行的 Java 虚拟机
参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
public static long currentTimeMillis():获取当前世界毫秒值
public static void arraycopy
(Object src,int srcPos,Object dest,int destPos,int length)数组复制
注意事项:
调用gc()实际是调用finalize(),并不确定JVM何时回收,当当前对象无引用时会被处理