Object:是类层次结构的根类.每个类都使用 Object 作为超类(父类)
public int hashCode() : 返回该对象的哈希码值,把它理解地址值(不是实际意义的地址值)
public final Class getClass() : 返回此 Object 的运行时类
public String getName() : 以 String 的形式返回此Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。返回值是Class
public String toString(); 返回该对象的字符串表示
直接输出对象名称 : 实际执行了Object中的toString(),输出的全类名@十六进制数据
注意 : 如果不想让toString()直接输出的是一个地址值(对象的地址值),就需要重写Object中的toSring(),一般情况:自动生成即可 ,建议所有子类都重写此方法。
public boolean equals(Object obj) : 指示其他某个对象是否与此对象“相等”。
==:比较的值相等(地址值)
equals:本身属于Object类中的方法,默认比较的是地址值是否相同
按照正常情况:equals方法底层实际执行的两个对象在==,比较是地址值;假如:学生的年龄和姓名一致,看成同一个人, 在自定义的类中,重写Object中的equals()方法,比较是两个对象的成员变量的值是否相同. 自动生成即可
**rotected Object clone()**创建并返回此对象的一个副本, Object 类的 clone 方法执行特定的复制操作。首先,如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException。
注意 : 所有的数组都被视为实现接口 Cloneable
1、“=”,相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变
2、使用FOR循环,将数组的每个元素复制或者复制指定元素,不过效率差一点
3、使用clone()方法,得到数组的值,而不是引用,不能复制指定元素,灵活性差一点
int[] src={1,3,5,6,7,8};
int[] dest;
dest=(int[]) src.clone();//使用clone创建副本,注意clone要使用强制转换
4、使用System.arraycopy()方法,推荐使用,效率最高
int[] src={1,3,5,6,7,8};
int[] dest = new int[6];
System.arraycopy(src, 0, dest, 0, 6);
5、Arrays.copyOf(),不是System的方法,而是Arrays的方法,其效率比不上 arraycopy的.
Scanner类: 简单文本扫描器。
键盘录入的步骤:
1)需要创建键盘录入对象
Scanner scan =new Scanner(System.in);
2)导入包:import java.util.Scanenr; ctrl+shift+o
3)接收数据
XXX 变量名= sc.nextXXX();
构造方法:
public Scanner(InputStream source): 以输入流的形式录入数据的
InputStream:字节输入流:
InputStream in = System.in ; //底层执行返回的是一个字节输入流(标准输入流)
XXX 变量名 = 键盘录入对象.nextXXX();
在Scanner类中它提供一个判断功能:
public boolean hasNextXXX():当前扫描器判断是否有下一个可以录入的XXX类型数据
nextXXX();
java.util.InputMismatchException:录入的数据和接收的数据类型不匹配异常
String:表示字符串:
字符串是常量;它们的值在创建之后不能更改。
String是一种特殊的引用类型:
默认值:null
String字符串的最大的特点:
字符串一旦被赋值,其值不能被改变
String(byte[] bytes) :将字节数转换成字符串
public String(byte[] bytes, int index,int length) : 将字节数组的一部分转换成字符串
public String(char[] value):将字符数组转化成字符串
public String(char[] value, int index, int count):将字符数组的一部分转换成字符串
public String(String original):将一个字符串常量构造成一个字符串对象
public int length() : 返回此字符串的长度
boolean equals(Object obj):将此字符串与指定的对象比较
boolean equalsIgnoreCase(String str) : 将此 String 与另一个 String 比较,不考虑大小写
boolean contains(String str): 判断当前大川中是否包含子字符串 (重点)
boolean startsWith(String str): 以当前str字符串开头(重点)
boolean endsWith(String str): 以当前str字符串结尾(重点)
boolean isEmpty():判断字符串是否为空
public String concat(String str):字符串的特有功能:拼接功能和+拼接符是一个意思
public int length():获取字符串的长度
public char charAt(int index) 返回指定索引处的 字符
public int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引
'a’和97 都表示a
public int indexOf(int ch,int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
public int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引
public int indexOf(String str,int fromIndex) 回在此字符串中第一次出现指定字符串处的索引,从指定的索引开始搜索。
public String substring(int beginIndex):从指定位置开始截取,默认截取到末尾,返回新的字符串
public String substring(int beginIndex, int endIndex):从指定位置开始到指定位置末尾结束,包前不包含
public byte[] getBytes() : 将字符串转换为字节数组
toCharArray() : 将字符串转换成字符
public char[] toCharArray() : 将字符串转换成字符数组(重点)
public static String valueOf(int i) : 将int类型的数据转换成字符串(重点),这个方法可以将任何类型的数据转化成String类型
public String toLowerCase() : 转成小写
public String toUpperCase() : 字符串中所有的字符变成大写
public String replace(char oldChar,char newChar) : 将大字符串中的某个字符替换掉成新的字符
public String replace(String oldStr,String newStr) : 将大串中的某个子字符串替换掉
public String trim() : 去除字符串两端空格
public int compareTo(String anotherString) : 按字典顺序比较两个字符串