常用类和方法

本文介绍了Java中常用的几个类,包括String、getClass、toString、BigDecimal、Calendar和System。String类提供了多种操作字符串的方法,如length、charAt、contains等。StringBuffer适合于字符串的频繁修改。getClass方法用于获取对象的类信息,toString方法默认返回对象的地址值,但常常需要重写以显示对象的属性。BigDecimal类用于高精度的数学运算,Calendar类则涉及日期和时间的处理,而System类则提供了获取系统属性和进行系统操作的功能。
摘要由CSDN通过智能技术生成

常用的有:

  1. String类和StringBuffer类。
  2. getClass方法。
  3. toString方法。
  4. BigDecimal类。
  5. Calendar类。
  6. System类。

在这里插入图片描述
在这里插入图片描述


1.String类

在Java中定义了String和SringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法,它们都位在java.lang包中,因此不需要导包就可以直接使用。

1.1.String类的初始化

在操作String类之前,首先需要对String类进行初始化。在Java中可以通过以下两种方式对String类进行初始化:

  • 使用字符串常量直接初始化一个String对象
String str1 = "abc";
  • 使用String的构造方法初始化字符串对象
方法声明功能描述
String()创建一个内容为空的字符串
String(char[] value)根据指定的字符数组创建对象
String(String value)根据指定的字符串内容创建对象
public class Demo06 {
    public static void main(String[] args) throws Exception {
        //创建一个空的字符串
        String s1 = new String();
        //创建一个内容为abcd的字符串
        String s2 = new String("abcd");
        //创建一个内容为字符数组的字符串
        char[] charArray = new char[]{'A','B','C'};
        String s3 = new String(charArray);
        System.out.println("a"+s1+"b");  //ab
        System.out.println(s2);         //abcd
        System.out.println(s3);         //ABC
    }
}

1.2.String常用方法

1.public int length():
返回字符串的长度

2.public char charAt(int index);
根据下标获取字符

3.public boolean contains (String str):
判断当前字符中是否包含str

4.public char [] toCharArray():
将字符 转换成数组

5.public int indexOf(String str):
查找str首次出现的下标,存在,则返回改下标;不存在,则返回-1

6.public int lastIndexOf(String str):
查找字符串在当前字符串中最后一次出现的下表索引

7.public String trim ():
去掉字符串前后的空格

8.public String toUpperCase():
将小写转成大写

9.public boolean endWith(String str):
判断字符串是否以str结尾

10.public String replace(hcar oldChar,char newChar);
将旧字符替换成新字符串

11.public String [] split(String str):
根据str做拆分。

在这里插入图片描述

public class Demo05 {
    public static void main(String[] args) {
        String str = "this is a text";
        //1.将str中的单词单独获取出来了
        String[] arr = str.split(" ");
        for (String s : arr) {
            System.out.println(s);
        }
        //2.在str中的text替换为practice
        String s1 = str.replace("text","practice");
            System.out.println(s1);  //this is a practice
        //3.在text前面插入一个easy
        String s2 = str.replace("text","easy text");
        System.out.println(s2);   //this is a easy text
        //4.在每个单词的首字母改为大写
        for (int i = 0; i < arr.length; i++) {
            char first = arr[i].charAt(0);
            //把第一个字符转成大写
            char upperfirst = Character.toUpperCase(first);
            String news = upperfirst + arr[i].substring(1);
            System.out.print(news+" "); //This Is A Text
        }

    }
}

1.3.String类和StringBuffer类的区别

(1)StringBuffer类也称为字符串缓冲区:便于对字符串的修改,StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的Stringuffer 对象。针对添加和删除字符的操作,StringBuffer类提供了一系列的方法。

(2)主要区别:

1.String: 对象不可变的字符序列,对象是常量,在常量池。

2.String 作为参数传递类似于基本数据类型作为参数传递 (对象的不可改变性)。

3.StringBuffer: 对象可变的字符序列,对象是变量,在堆上。

4.StringBuffer 作为参数传递就是引用数据类型传递(对象可以改变)。

(3)针对添加和删除字符的操作,StringBuffer类提供了一系列的方法,具体如下表示。

方法声明功能描述
StringBuffer append(char c)添加参数到StringBuffer对象中
StringBuffer insert( int offset,String str)将字符串中的offset位置插人字符串str
StringBuffer deleteCharAt(int index)移除此序列指定位置的字符
StringBuffer delete(int start,int end)删除StringBuffer对象中指定范围的字符或字符串序列
StringBuffer replace( int start,int end,String s)在Stringuffer对象中替换指定的字符或字符串序列
void setCharAt(int index, char ch)修改指定位置index处的字符序列
String toString()返回StringBuffer缓冲区中的字符串
StringBuffer reverse()将此字符序列用其反转形式取代

2.getClass方法

(1)getClass()方法是获得调用该方法的对象的类;getClass().getName()可以得到该类的路径;

(2)通过getClass()方法得到该对象类Class后,可以通过Class获取这个类中的相关属性和方法;

public class Demo07 {
   int id;
   private String name;
   public Demo07(int id,String name){
       super();
       this.id = id;
       this.name = name;
   }
}
public class Text {
    public static void main(String[] args) {
        Demo07 d = new Demo07(1,"demo");
        System.out.println(d.getClass());
        System.out.println(d.getClass().getName());
        System.out.println(d.getClass().getSimpleName());
        System.out.println(d.id);
    }
}

运行结果:

class com.oop.demo13.Demo07
com.oop.demo13.Demo07
Demo07
1

3.toString方法

(1)拼接对象的地址值

public class Demo08 {
    private String name = "hjx";
    private int age = 18;
    private char gender = '男';
    private boolean married = false;

    public static void main(String[] args) {
        Demo08 d = new Demo08();
        System.out.println(d.toString());
    }
}

运行结果:

com.oop.demo13.Demo08@1b6d3586

(2)在实际开发中,通常希望toString()方法返回的不只是基本信息,所以Object的toString()方法通常会被重写。为了获取的是对象的属性值需要重写toString()方法

public class Demo08 {
    private String name = "hjx";
    private int age = 18;
    private char gender = '男';
    private boolean married = false;
    //重写toString方法
    @Override
    public String toString() {
        return "作者/Demo08{"+"姓名:"+name+",年龄:"+age+",性别:"+gender+",是否结婚:"+married+"}";
    }

    public static void main(String[] args) {
        Demo08 d = new Demo08();
        System.out.println(d.toString());
    }
}

运行结果:

作者/Demo08{姓名:hjx,年龄:18,性别:男,是否结婚:false}

4.BigDecimal类

在这里插入图片描述

在这里插入图片描述


5.Calendar类

在这里插入图片描述


6.System类

System系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花落未眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值