Java常用类

Java.lang包

 想要使用一个包里的类,必须首先使用import语句来引入改包中的类。但Java.lang包是由Java虚拟机自动引入的包,所以即使程序没有任何“import java.lang.*”语句来引入此包,它也会被自动引入。

String类和StringBUffer类

 在程序设计中,字符串类型是常用的数据类型之一,如:姓名、家庭地址、国籍等,这些属性都是字符串类型。在Java中,任何字符串都是一个对象,所以String类型并不是基本数据类型。Java提供了三个用于字符串操作的类,其中二个类是最长用的:String类和StringBuffer类。String类提供了一系列操作字符串的方法,从而使字符串的生成、访问和修改等操作更简单、更规范。而StringBuffer类的对象都是可以扩充和修改的字符串变量。

String类
 String类的创建语法:

//1.字符串常量方式创建字符串
String str1 = "你好,世界!";
//2.new 方式创建字符串
String str2 = new String("你好,世界!");

 二种创建方式的区别:
示例:

/**
 * 二种创建方式的区别:
 * */
public class Demo_one {
    public static void main(String[] args) {
      System.out.println("字符串常量方式创建字符串");
      String str1 = "你好";
      String str2 = "你好";
      System.out.println("==号比较:"+(str1 == str2));
      System.out.println("equals()比较:"+(str1.equals(str2)));
      System.out.println("new 方式创建字符串");
      String str3 = new String("你好");
      String str4 = new String("你好");
      System.out.println("==号比较:"+(str3 == str4));
      System.out.println("equals()比较:"+(str3.equals(str4)));
    }
}

运行效果:

在这里插入图片描述这是因为==比较的是二个引用对象是否相同,即是否指向同一个内存空间;而equals()比较字符串的时候,比较的是二个字符串的内容是否相等。

String类的常用方法

方法功能描述
length()返回此字符串的长度
substring(int beginIndex)返回一个新的字符串,它是当前字符串的子字符串
equals(Object anObject)比较二个字符串是否相等
endsWith(String suffix)测试字符串是否指定的后缀结束
indexOf(int ch)返回指定字符在字符串第一次出现的索引(索引从0开始)
trim()清除字符串左右二端的空格
str.substring(int index1,int index2)截取字符串str中从index1开始到index2结束的子字符串,省略index2表示截取到字符串末尾
str.replace()方法有多个重载,用来把字符串中与参数1匹配的字符(串)替换为参数2指定的字符(串)
compareTo()比较二个字符串的大小,当调用字符串对象小于参数字符串时,返回结果为-1,如果相等返回结果0

示例:

/**
 * String类的方法
 * */
public class Demo_one {
    public static void main(String[] args) {
       String str1 = "hello word!";
       System.out.println("常量str1是:"+str1);
       System.out.println("length():"+str1.length());
       System.out.println("substring():"+str1.substring(2,5));
       System.out.println("indexOf(int ch):"+str1.indexOf("word"));
       String str2 = "abc";
       String str3 = "abc";
       String str4 = "    hello word        ";
       System.out.println("调用trim()之前的字符串长度"+str4.length());
       System.out.println("调用trim()之后的字符串长度"+str4.trim().length());
       System.out.println("str2.compareTo(str3):"+str2.compareTo(str3));
    }
}

运行效果:
在这里插入图片描述
StringBuffer类
 String的实例为不可变得对象,一旦被创建就不能修改它得值,对于已经存在得String对象得修改都是重新创建一个新的对象。StringBuffer得实例对象是可变对象,与String不同,对StringBuffer进行修改时不会重新创建对象。

StringBuffer类得构造方法
 StringBuffer类和普通类一样,只能通过构造方式来创建字符串对象。常用得构造方法如下表:

语法说明
StringBuffer创建一个空的可变字符串
StringBuffer(String str)创建一个可变字符串,初始化为str

语法:

//创建一个空的字符串,默认长度为16
StringBuffer str1 = new StringBuffer();
//初始化为“hello word”
StringBuffer str2 = new StringBuffer("hello word");

StringBuffer类得常用方法

方法功能描述
append(String str)将指定得字符串追加到此字符串列
insert(int offset,String str)将字符串插入此字符串序列中
reverse()将此字符序列用其反转序列代替

示例:

/**
 * StringBuffer类的方法
 * */
public class Demo_one {
    public static void main(String[] args) {
       StringBuffer str1 =new StringBuffer("hello word!");
       System.out.println("StringBuffer的str1值时:"+str1);
       System.out.println("append()追加:你好结果是:"+str1.append("你好"));
       str1.insert(11,"世界,");
       System.out.println("insert追加后的结果是:"+str1);
       str1.reverse();
       System.out.println("字符串反转结果是:"+str1);
    }
}

运行效果:
在这里插入图片描述

String和StringBuffer的区别:

 String类与StringBuffer类的区别在于:String的长度不可变,StringBuffer的长度可变。当String类型的内容被修改(如调用concat()方法)时,将产生一个新的String对象。如果需要将StringBuffer类型的字符串转换为String类型,可以调用StringBuffer的toString()方法。

java.util包

 与java.lang包相同,java.util包也是SUN公司提供的。该包提供各种日期格式、数据格式转换的类等。

Date类的使用

 Java在Date类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或者设置日期和时间。其全称是java.util.Date类,需要注意的是,Date类的大部分方法已过时,一般表示时间,都需要配合Calendar类使用。

SimpleDateFormat类的使用——格式化日期

 SimpleDateFormat类的全称是:java.text.SimpleDateFormat,用于对日期型和特殊式的日期字符串之间进行转换。SimpleDateFormat类主要使用parse方法和format方法来实现字符串和Date类型数据的相互转换。

示例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期格式
 * */
public class Demo_one {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        //其中:hh是12小时制,kk是24小时制,a表示是上午还是下午
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss a");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd kk:mm:ss a");
        System.out.println("系统当前时间是:"+sdf1.format(date));
        System.out.println("系统当前时间是:"+sdf2.format(date));
        //将字符串转换成日期类型
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = sdf3.parse("2020-01-01");
        Date date2 = sdf3.parse("1997-03-14");
        System.out.println(date1);
        System.out.println(date2);
    }
}

运行效果:

在这里插入图片描述我们在 public static void main(String[] args) {}main方法中后使用了语句throws ParseException声明了此处main方法将会抛出一个ParseException类型的异常。当我们在程序中使用了SimpleDateFormat的parse()方法后,就一定要抛出或者捕获ParseException类型的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值