8.Object类 Math类 String类 中的方法

 

Object类:

每个类都默认直接或者间接继承了Object类(所以说每个类都可以调用这两种方法)

1.toString()方法:把对象以字符串形式返回,当我们直接打印对象的引用时,该引用会输出地址

2.equals()方法:使用"=="来比较对象的地址值

==比较

1.用于基本是据类型,比较的是数据值

2.用于引用数据类型,比较的时地址

Object类

public class ObjectDemo {
    public void test(){
    }
    public static void main(String[] args) {
        Student stu=new Student("zhangsan",1,101);
        System.out.println(stu.toString());//默认有.toString() {姓名:zhangsan,年龄:1,学号:101}
        
        Student stu2=new Student("lisi",18,101);
        System.out.println(stu2);//{姓名:lisi,年龄:18,学号:101}
        
        System.out.println(stu.equals(stu2));//stu==stu2 false 两个是不同对象,地址值不同
        //当两个学生对象一致时,调用equals判断返回true
        Math.abs(1);//方法名相同,参数不同 ----重载
    }
}

Math类

public class MathTest {
    public static void main(String[] args) {

        //输出-5的绝对值
        int i=Math.abs(-5);
        System.out.println(i);//5
        //向上取整
        System.out.println(Math.ceil(2.5));//3.0
        //向下取整
        System.out.println(Math.floor(-4.5));//-5.0
        //随机数 随机生成0~1之间的小数
        double ranNum=(int)(Math.random()*11);//[0,11)
        System.out.println(ranNum);//随机生成double类型[0,11)的整数

        System.out.println(Math.min(10, 12));//10


        //1.使用Math相关的API,计算在-5.8到5.9之间.绝对值大于3或者小于1.1的整数有多少个||
        //-5,-4,-3,-2,-1,0,1,2,3,4,5
        int m=(int)Math.ceil(-5.8);//-5
        int n=(int)Math.floor(5.9);//5
        int count=0;
        for(int a=m;a<=n;a++){
            //求绝对值
            int c=Math.abs(a);
            if (c>3||c<1.1){
                count++;
            }
        }
        System.out.println("有"+count+"个");//有7个

        String str="abc";
        String str2="Abc";
        System.out.println(str.equalsIgnoreCase(str2));//true
        
    }
}

String类中的常用方法:

1.equalsIgnoreCase / equals 比较字符串的内容是否相同,忽略大小写

2.starWith startsWith(String prefix):判断字符串对象是否以指定的字符开头(区分大小写) startsWith(String prefix,int toffset):判断字符串对象是否以指定的字符开头,参数toffset为指定从哪个下标开始

3.length 获取字符串的长度,其实也就是字符个数

4.charAt 获取指定索引处的字符

5.indexOf 返回指定字符第一次出现的字符串内的索引。

6.subString 从start开始截取字符串 String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end

7.toCharArray 把字符串转换为字符数组

8.trim 去除字符串两端空格

9.replace 将指定字符替换成另一个指定的字符

10.split 去除字符串中指定的的字符,然后返回一个新的字符串地址

String类

public class StringTest {
    public static void main(String[] args) {
        String str="abc ";
        String str2="b";

        System.out.println(str.indexOf("b"));//第一个b的下标//1
        System.out.println(str.length());//字符串的长度//4
        System.out.println(str.charAt(1));//获取指定索引处的字符 括号里是下标//b
        System.out.println(str.substring(1));//输出截取的字符串//bc
        System.out.println(str.toCharArray());//转换成字符数组// abc
        System.out.println(str.trim());//去掉前后空格//abc
        System.out.println(str.replace('b','d'));//括号中直接输引号,不用写数据类型//abc
        System.out.println(str.split("b"));//返回字符串返回的是地址[Ljava.lang.String;@74a14482
        System.out.println(str.toString());//以字符串形式输出//abc
        System.out.println(str);//toString可省略//abc
        System.out.println(str.equalsIgnoreCase(str2));//false
    }
}

注:

子类可以重写Object父类的toString方法

也可以重写父类Object类中的equals方法


import java.util.Objects;

public class Student {
    String name;
    int age;
    int stuNo;

    //构造器默认属性值

    public Student(String name, int age, int stuNo) {
        this.name = name;
        this.age = age;
        this.stuNo = stuNo;
    }

    //重写Object父类的toString方法
    @Override
    public String toString() {
        return "{姓名:"+name+",年龄:"+age+",学号:"+stuNo+"}";
    }

    //重写父类Object类中的equals方法
    //当两个学生学号一致时,调用equals判断返回True
    @Override
    public boolean equals(Object obj) {
        //判断传递过来的是否是Student类型
        if (obj instanceof Student){
            //将obj强转城Student类型 向下转型
            Student stu=(Student) obj;
            return stu.stuNo==this.stuNo;
        }
        return false;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值