Object类:
概念:
所有类的直接或间接父类,位于继承树的最顶层,类中所定义的方法,是所有对象都具备的方法;
作为参数,可接受任何对象,作为返回值,可返回任何对象。
常用方法:
getClass() //返回引用中存储的实际对象类型,通常用于判断两个引用中实际存储对象类型是否一致。
hashCode() //一个对象的整数表现形式,返回该对象的十进制的哈希码值(地址)
//哈希码并不唯一,可保证相同对象返回相同哈希码,尽量保证不同对象返回不同哈希码。
toString() //返回该对象的字符串表,可以重写该方法,如:展示对象各个属性值。
equals(Object obj) //比较两个对象地址是否相同,可进行覆盖,比较两个对象的内容是否相同。
覆盖equals的顺序:判断是否同一对象、参数非空判断、类型判断、拆箱、依次比较属性,共五步
protected void finalize() throws Throwable // 没有有效引用指向此对象时,为垃圾对象,由JVM自动调用此方法,进入回收队
// 列,自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象。手动回收机制:
//使用System.gc(); 通知JVM执行垃圾回收。
String:
概念:
字符串是常量,创建之后不可改变,字符串字面值存储在字符串池中,可以共享。
字符串首次出现且直接声明时在池中开辟一次,创建时另在堆中开辟一次
inter()手动调用则满足首次出现就在池子开辟
StringBuilder:
可变长字符串,创建时默认16位,可更改参数达到更改长度,
BigDecimal:
精确运算,不变的任意精度十进制数字,声明时传参得到精确值,小数做参数修饰乘String类型
加:add.() 减:subtract.() 乘:multiply.() 除:divide.()
做除法运算时,应明确保留位数,是否使用四舍五入,即额外添加两个参数( i ,保留位数,调用R…H…U)
作业:
7、
import java.util.Scanner;
public class TestConvert {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.next();
int i1 = s.indexOf(s);
System.out.println(s);
int i2 = Integer.parseInt(s);
System.out.println(s);
Integer I1 = Integer.valueOf(s);
int i3 = I1.intValue();
System.out.println(i3);
}
}
8、
public class TestStudent {
public static void main(String[] args) {
Student stu1 = new Student(18 , "tom");
System.out.println(stu1 + " " + 100);
System.out.println(100 + " " + stu1);
System.out.println(" " + stu1 + 100);
// System.out.println(stu1 + 100 + " ");
System.out.println(stu1.toString());
}
}
class Student{
private int age;
private String name;
public Student() {}
public Student(int age , String name) {
this.age = age;
this.name = name;
}
public String toString() {
return name + " "+age;
}
}
11、12、13
public class TestSubString {
public static void main(String[] args) {
String s = new String("zhengcg@zparkhr.com");
System.out.println(s.substring(0 , 7));
if(s.contains("@") == s.contains(".") == true) {
if(s.indexOf("@") != -1 && (s.indexOf("@") < s.indexOf("."))) {
System.out.println("邮箱名正确");
}
}
System.out.println("邮箱错误");
String s1 = java.util.UUID.randomUUID().toString();
String s2 = s1.replace("-", "");
System.out.println(s2);
}
}
14、
import java.util.Random;
public class TestConvert {
public static void main(String[] args) {
Random ran = new Random();
StringBuilder sb = new StringBuilder();
String s1 = "ABCDEFGhijklmn1234567";
for (int i = 0; i < 4; i++) {
sb.append(s1.charAt(ran.nextInt(s1.length())));
}
System.out.println(sb);
}
}
15、
public class TestCount {
public static void main(String[] args) {
String s = "1239586838923173478943890234092";
char[] c = s.toCharArray();
for (int i = 0; i < 10; i++) {
int count = 0;
for(int j = 0 ; j <c.length ; j++) {
if(i == c[j]-48) {
count++;
}
}
System.out.println(i + "出现的次数是:" + count);
}
}
}