第十二谈:常用类(1)

一、Object类

object类是Java中所有类的父类,Object类属于java.lang包下的类,不需要进行导包。

构造方法:Object() 无参构造方法

成员方法:

public int hashCode():返回对象的哈希码值。

public final Class getClass():获取一个类对应的Class对象。

public String toString():输出一个对象,实际上输出的是对象调用的toString()方法。

一个标准类的最终写法:

1.成员变量私有化

2.构造方法(无参/有参)

3.getXXX()和setXXX()

4.toString()

二、String类的构造方法 

/*
    String类的构造方法:
        public String()
        public String(byte[] bytes)
        public String(byte[] bytes,int offset,int length)
        public String(char[] value)
        public String(char[] value,int offset,int count)
        public String(String original)

 */
public class StringDemo2 {
    public static void main(String[] args) {
        String s7 = "hello";

        //public String()
        String s1 = new String(); // 相当于创建一个空的字符串
        System.out.println("s1: " + s1); // String类重写了toString()方法

        //public String(byte[] bytes) 将字节数组转化成字符串
        byte[] arr = {97, 98, 99, 100, 101, 102};
        String s2 = new String(arr);
        System.out.println("s2: " + s2); // "abcdef"

        //public String(byte[] bytes,int index,int length) 将字节数组的一部分转成字符串
        String s3 = new String(arr, 2, 3);
        System.out.println("s3: " + s3); //cde

        //public String(char[] value)  将字符数组转成字符串
        char[] arr2 = {'我', '爱', '中', '国'};
        String s4 = new String(arr2);
        System.out.println("s4: " + s4); //我爱中国

        //public String(char[] value,int index,int count) 将字符数组的一部分转成字符串
        String s5 = new String(arr2, 1, 2);
        System.out.println("s5: " + s5); //爱中

        //public String(String original)
        String s6 = new String("java");
        System.out.println("s6: " + s6); //java

    }
}

 三、String类中的判断功能



/*
String类中的判断功能:
    boolean equals(Object obj)
    boolean equalsIgnoreCase(String str)
    boolean contains(String str)
    boolean startsWith(String str)
    boolean endsWith(String str)
    boolean isEmpty()

 */
public class StringDemo3 {
    public static void main(String[] args) {
        String s1 = "hello WoRLd";
        String s2 = "Hello World";

        //boolean equals(Object obj) 判断两个字符串内容是否相同
        System.out.println(s1.equals(s2)); // false

        //boolean equalsIgnoreCase(String str)  判断两个字符串内容是否相同,忽略大小写比较
        System.out.println(s1.equalsIgnoreCase(s2)); // true

        //boolean contains(String str) 判断一个字符串中是否包含另一个字符串
        System.out.println(s1.contains("o World")); // false

        //boolean startsWith(String str) 判断字符串是否以某个字符串开头
        System.out.println(s1.startsWith("hew")); // false

        //boolean endsWith(String str) 判断字符串是否以某个字符串结尾
        System.out.println(s1.endsWith("Rld")); // false

        //boolean isEmpty() 判断字符串是否为空字符串
        s1 = "";

        System.out.println(s1.isEmpty()); // false
    }
}

 四、String类中的获取功能


/*
    String类中的获取功能:
        int length()
        char charAt(int index)
        int indexOf(int ch)
        int indexOf(String str)
        int indexOf(int ch,int fromIndex)
        int indexOf(String str,int fromIndex)
        String substring(int start)
        String substring(int start,int end)

 */
public class StringDemo4 {
    public static void main(String[] args) {
        String s1 = "hello WoeRLd";

        //int length() 获取字符串中的字符个数
        System.out.println(s1.length());

        //char charAt(int index) 根据索引获取索引对应的字符
        System.out.println(s1.charAt(0)); // StringIndexOutOfBoundsException

        //int indexOf(int ch) 获取字符的位置
        //101--ASCII码:e
        //判断'e'第一次出现在字符串中的位置索引
        System.out.println(s1.indexOf(200)); // -1

        //int indexOf(String str) 获取小字符串在大字符串中第一次出现的位置,返回小字符串第一个字符的位置索引
        System.out.println(s1.indexOf("o Wo"));

        //int indexOf(int ch,int fromIndex) //从fromIndex位置开始找,如果找到返回该字符在大字符串中的位置索引
        //"hello WoeRLd"
        System.out.println(s1.indexOf(101)); // 1
        System.out.println(s1.indexOf(101,4)); // 8

        //int indexOf(String str,int fromIndex)

        //String substring(int start) 字符串截取 从start索引位置截取,一直到末尾
        //"hello WoeRLd"
        System.out.println(s1.substring(3));

        //String substring(int start,int end) 子串开始于指定beginIndex并延伸到字符索引endIndex-1
        //[start,end)
        System.out.println(s1.substring(4,8));


    }
}

 五、字符串的转换功能



/*
字符串的转换功能:
    byte[] getBytes()
    char[] toCharArray()
    static String valueOf(char[] chs)
    static String valueOf(int i)
    String toLowerCase()
    String toUpperCase()
    String concat(String str)
 */
public class StringDemo5 {
    public static void main(String[] args) {
        String s1 = "我爱中国我";

        //byte[] getBytes() 将字符串转换成字节数组
        byte[] bytes = s1.getBytes();
//        System.out.println(bytes); // [B@4554617c
//        for (int i = 0; i < bytes.length; i++) {
//            System.out.println(bytes[i]);
//        }

        // char[] toCharArray() 将字符串转换成字符数组
        char[] charArray = s1.toCharArray();
//        for (int i = 0; i < charArray.length; i++) {
//            System.out.println(charArray[i]);
//        }

        //static String valueOf(char[] chs) //将字符数组转成字符串
        String s2 = String.valueOf(charArray);
        System.out.println(s1 == s2); // false

        //static String valueOf(int i)  将数值转成字符串  100-->"100"
        String s3 = String.valueOf(100);
        System.out.println(s3);

        //String toLowerCase()  转小写
        String s4 = "Hello WORLD";
        String s5 = s4.toLowerCase();
        System.out.println(s5);

        //String toUpperCase() 转大写
        System.out.println(s5.toUpperCase());

        //String concat(String str) 字符串拼接
        System.out.println("s5: " + s5);
        String s6 = "s5: " + s5;
        String s7 = "s5: ".concat(s5);
        System.out.println(s6);
        System.out.println(s7);


    }
}

六、替换、去空格、比较



/*
    替换功能
        String replace(char old,char new)
        String replace(String old,String new)
    去除字符串两空格
        String trim()
    按字典顺序比较两个字符串
        int compareTo(String str)
        int compareToIgnoreCase(String str)

 */
public class StringDemo6 {
    public static void main(String[] args) {
        String s1 = "Hello WorLD";

        System.out.println(s1);
        //String replace(char old,char new)  使用新字符替换旧字符
        System.out.println(s1.replace('o', '_'));

        //String replace(String old,String new) 使用字符串替换旧字符串
        System.out.println(s1.replace("ll","非法正义"));

        //String trim() 去除字符串两边的空格
        String s2 = "  Hello WorLD  ";
        System.out.println(s2.trim());
        System.out.println(s2);


        //比较两个字符串内容是否相同,在java中有两种方法可以实现
        //boolean equals(String s)
        String s3 = "hello";
        String s4 = "world";
        System.out.println(s3.equals(s4));
        //int compareTo(String str)
        System.out.println(s3.compareTo(s4)); // -15
        String s5 = "hel";
        System.out.println(s3.compareTo(s5)); // 2
        String s6 = "hello";
        System.out.println(s3.compareTo(s6)); // 0
    }
}

七、StringBuffer(添加,删除,替换,反转)

/*
    添加功能
        public StringBuffer append(String str)
        public StringBuffer insert(int offset,String str)
    删除功能
        public StringBuffer deleteCharAt(int index)
        public StringBuffer delete(int start,int end)
    替换功能
        public StringBuffer replace(int start,int end,String str)
    反转功能
        public StringBuffer reverse()

 */
public class StringBufferDemo2 {
    public static void main(String[] args) {
        StringBuffer sb1 = new StringBuffer(); // 16
        System.out.println("sb1: " + sb1);

        System.out.println("---------------------------------");
        //public StringBuffer append(String str) 追加
        //无论添加的是什么类型的元素值,只要进入到StringBuffer中,它就是一个一个的普通字符
        sb1.append("java")
                .append(100)
                .append(12.34)
                .append(true);
        System.out.println("sb1: " + sb1);
        //java10hello012.34true

        //public StringBuffer insert(int index,String str) 在StringBuffer容器中指定位置添加字符串
        sb1.insert(6,"hello");
        System.out.println("sb1: " + sb1);
//        System.out.println(sb1.capacity()); // 34
//        System.out.println(sb1.length());

        //public StringBuffer deleteCharAt(int index) 删除指定位置索引上的字符
//        sb1.deleteCharAt(10);
//        System.out.println("sb1: " + sb1);

        //public StringBuffer delete(int start,int end) [start,end)
        //java10hello012.34true
//        sb1.delete(8,14);
//        System.out.println("sb1: " + sb1);

        //public StringBuffer replace(int start,int end,String str) [start,end)
        //java10hello012.34true
        sb1.replace(8,12,"非法正义");
        System.out.println("sb1: " + sb1);

        //public StringBuffer reverse() 反转
        StringBuffer sb2 = new StringBuffer("abcdef");
        System.out.println("sb2: "+sb2);
        sb2.reverse();
        System.out.println("sb2: "+sb2);


    }
}

八、StringBuffer截取功能


/*
    截取功能
    public String substring(int start)
    public String substring(int start,int end)

 */
public class StringBufferDemo3 {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("hello world");
        System.out.println("sb: " + sb);
        System.out.println("---------------------------");
//        String s1 = sb.substring(4);
//        System.out.println("sb: " + sb);
//        System.out.println("s1: " + s1);

//        public String substring(int start,int end)
        String s2 = sb.substring(4, 8);
        System.out.println("sb: " + sb);
        System.out.println("s2: " + s2);

    }
}

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: CalendarJava常用的日期时间处理之一,它提供了一系列的方法来操作日期和时间。通过Calendar,我们可以获取当前的日期时间、设置日期时间、计算日期时间之间的差值等等。它是一个抽象,不能直接实例化,需要通过getInstance()方法获取一个实例。在使用Calendar时,需要注意它的月份是从开始计数的,即表示1月,11表示12月。 ### 回答2: calendarJava中很重要的一个日期和时间处理,它提供了一些方法用于处理日期和时间的操作。calendar被广泛应用于日程表、电子邮件、计时器和其他需要处理日期和时间的应用程序中。 calendar可以帮助我们完成一系列的操作,如获取当前日期和时间、计算多少天后的日期、计算两个日期之间相差的天数等等。同时,它还可以用来计算时差,处理日期和时间的格式等。calendar支持许多不同的日历系统,例如公历、阴历、农历等,因此可以实现不同地区或文化背景下的日期和时间计算。 在实际应用中,我们使用calendar可以先创建一个calendar对象,通过对该对象进行设置和计算,我们可以轻松地做出我们需要的日期和时间处理结果。calendar提供了一些常用的方法,例如set()方法用于设置年、月、日、时、分、秒等各个时间分量的值, get()方法用于获取特定时间分量的值,还有add()方法用于在当前日期上增加或减少指定时间分量的值等等。 总之,calendarJava日期和时间处理中扮演着十分重要的角色,它可以帮助我们轻松处理各种复杂情况下的日期和时间操作,使我们的开发工作更加高效和精确。熟练掌握calendar的使用,对于Java开发人员来说是必不可少的技能之一。 ### 回答3: CalendarJava提供的表示日历日期的,它是抽象,不能被实例化,但是可以通过不同方式获取日历实例,如getInstance()。 Calendar提供了很多方法用于获取或设置日期、时间和日历字段。支持的日历字段包括年、月、日、时、分、秒、毫秒等。可以通过add()和roll()方法对日期进行加减或滚动操作。可以通过getTime()方法将Calendar对象转换成Date对象。 Calendar还提供了很多常量,如SUNDAY、MONDAY、JANUARY、FEBRUARY等,用于表示星期几、月份等。 使用Calendar可以方便地进行日期计算和处理,比如计算某个日期的下一天、某个日期所在的周是几号等。 需要注意的是,Calendar存在一些问题,如它的性能较低且不够灵活,Java 8引入了新的时间API(java.time包),提供了更好的性能和更丰富的功能。 综上所述,CalendarJava常用的日期之一,可以用于表示和处理日期、时间和日历等相关操作。但是在实际开发中,我们也应该根据具体需求选择合适的日期库。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值