常用类介绍

outline
常用类介绍_第1张图片


String类

字符串对象操作:
1. length();
2. charAt();
3. equals(), equalsIgnoreCase()
equals(); //不忽略大小写
equalsIgnoreCase(); //忽略大小写
4. compareTo(); && compareToIgnoreCase();
5. indexOf(); //搜索字符串
6. startsWith(); && endsWith(); //是否以某个前缀后缀,开头或者结束
7. regionMatches(); //测试两个字符串区域是否相等

字符串对象修改:

  1. subString。。。获得子串
  2. replace。。。代替,并返回新字符串
  3. trim。。。忽略前后空白
  4. contact。。。将指定字符串连接到该字符串的结尾,,,常用”+”取代这个方法
  5. split。。。根据给定的正则表达式匹配来拆分此字符串

类型转换

  1. String 》整型
int x;
String s = "2068";
x = Integer.parseInt(s);
  1. String 》float||double
String s = new String("1234.5678");
float n = Float.parseFloat(s);
  1. 数值 》字符串
float x = 1234.5678f; //float没有toString方法
String s = String.valueOf(x);
  1. 将字符串中字符复制到字符数组
        String s1 = "mynameisxmh";
        char[] temp = new char[6];
        s1.getChars(2, 8, temp, 0);

        for (char c : temp) {
            System.out.print(c);
        }

StringBuffer

一个String对象的长度是固定的,不能改变它的内容。
编程中使用的“+”会产生一个新的String对象。
如果程序对这种字符串的操作很频繁,建议使用StringBuffer。

stringBuffer是字符串缓冲区。
是一个容器.

特点:
1,长度是可变化的。
2,可以一次操作多个数据类型.
3,最终会通过toString方法变成字符串。
C create U update R read D delete

1,存储.
StringBuffer append():将指定数据作为参数添加到己有数据结尾处. StringBuffer insert (index,数据):可以将參据插入到指定index位置

2,刪除.
StringBuffer delete(start, end):删除缓冲区中的数据,包含start,不包含end. StringBuffer deleteCharAt(index);删除指定位置的字符.

3,获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start, int end)

4,修改.
StringBuffer replace(start,end,string);
StringBuffer sb = new StringBUffer(“abcde”);
Sb.replace(1, 4, “java”);//ajavae 替换1~4位的字符(!!!不包括4)
void setCharAt(int index, char ch);

5,反转.
StringBuffer reverse();

        //StringBuffer号称是字符串缓冲区,比String方便
        StringBuffer buf = new StringBuffer("Java");

        //附加
        buf.append(" Guide Ver1/");
        buf.append(3);

        //插入
        buf.insert(5, "Student ");

        //将给定索引处的字符设置为 ch
        buf.setCharAt(23, '.');

        //替换相应的字符串
        buf.replace(24, 25, "4");

        //转换为字符串
        String s = buf.toString();
        System.out.println(s);

StringBuilder

StringBuilder类是一个可变的字符序列。它提供一个与StringBuiffer类兼容的API,但不保证同步。


StringBuffer, StringBuilder,String的性能差别


        long beginTime = 0l;
        long endTime = 0l;

        StringBuffer buffer = new StringBuffer("");
        beginTime = System.currentTimeMillis();
        for(int i=0; i<20000; i++){
            buffer.append(String.valueOf(i));
        }
        endTime = System.currentTimeMillis();
        System.out.println("StringBuffer执行时间: " + (endTime-beginTime));

        StringBuilder builder = new StringBuilder("");
        beginTime = System.currentTimeMillis();
        for(int i=0; i<20000; i++){
            builder.append(String.valueOf(i));
        }
        endTime = System.currentTimeMillis();
        System.out.println("StringBuilder执行时间: " + (endTime-beginTime));

        String text = "";
        beginTime = System.currentTimeMillis();
        for(int i=0; i<20000; i++){
            text = text + i;
        }
        endTime = System.currentTimeMillis();
        System.out.println("String执行时间: " + (endTime-beginTime));

日期类

  1. java.util.System类
    System类提供的public static long currentTime()用来返回当前时间与1970年1月1日0时0分0秒之前以毫秒为单位的时间差(不太精确)。
    这个方法只适用于计算时间差。
        //测试我的循环间隔多长时间

        //返回最准确的可用系统计时器的当前值,以毫微秒为单位。
        long startTime = System.nanoTime();

        System.out.println("开始起跑的时间是:" + startTime);

        for (int i = 0; i < 100; i++) {
            System.out.println("我已经跑了 " + i + "圈");
        }

        long endTime = System.nanoTime();

        System.out.println("共花了" + (endTime-startTime) + "毫微秒");
  1. java.util.Date类
    听说,与SimpleDateFormat一起用,效果更佳哦
  2. java.util.Calendar类
    calendar类是一个抽象类,主要用于完成日期字段之间相互操作的功能。
    可以获取和设置日期数据的特定部分。
    获取Calendar类实例方法有:

    使用Calendar.getInstance()方法
    或调用它的子类GregorianClendar的构造方法。
    一个Calendar的实例是系统时间抽象的表示
    可以同过这个实例上的get(int field)方法来获取想要的时间信息。
    public int get(int field)方法根据给定的日历字段获得当前时间中国相应字段的值

        //创建一个calendar对象
//      Calendar icalendar = Calendar.getInstance();
        Calendar icalendar = new GregorianCalendar();

        //显示Date 和 Time的各个组成部分
        System.out.println("Date 和 Time的各个组成部分:" );
        System.out.println("年: " + (icalendar.get(Calendar.YEAR)));

        //一年中的第一个月是JANUARY,它为0
        System.out.println("月: " + (icalendar.get(Calendar.MONTH)));
        System.out.println("日: " + (icalendar.get(Calendar.DATE)));

        //Calendar的星期常数从星期日Calendar.SUNDAY1
        //到星期六Calendar.SATURDAY7
        System.out.println("星期: " + (icalendar.get(Calendar.DAY_OF_WEEK)));
        System.out.println("小时: " + (icalendar.get(Calendar.HOUR_OF_DAY)));
        System.out.println("分钟: " + (icalendar.get(Calendar.MINUTE)));
        System.out.println("秒:" + (icalendar.get(Calendar.SECOND)));


        //从一个Calendar对象中获取Date对象
        Date date = icalendar.getTime();

        //用给定的Date设置此Calendar的时间
        icalendar.setTime(date);
        icalendar.set(Calendar.DAY_OF_MONTH, 8);
        System.out.println("当前时间日设置为8后,时间是:" + icalendar.getTime());

        icalendar.add(Calendar.HOUR, 2);
        System.out.println("当前时间加2小时后,时间是:" + icalendar.getTime());

        icalendar.add(Calendar.MONTH, -2);
        System.out.println("当前日期减2个月后,时间是:" + icalendar.getTime());

Random类和Math

  1. random
    Random(); 创建一个新的随机数生成器
    int nextInt(int n); 返回一个伪随机数,它是从此随机数的生成器中取出来,在0~n之间正态分布的int值
  2. math
    数学类
    详细方法在API上

你可能感兴趣的:(java)