• String练习


    package com.java.api;


    public class StringCreate {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
    //字符串是常量,一单创建,其内容和长度是不可以改变的。如果需要对一个字符串进行修改,则只能创建新的字符串
    //string创建方式,有序的字符。0。1。2。3。4。56。
    //无参数构造方法
    /*String str1=new String();
    //有参构造方法
    String str2=new String("abce");
    char[] chars=new char[]{'2','3','3'};
    String str3=new String(chars);
    System.out.println(str1);
    System.out.println(str2);
    System.out.println(str3);*/

    //
    String str="Hello welcome to china,welcome to java";
    System.out.println(str.length());//字符串的长度。个数
    System.out.println(str.charAt(0));//第一个字符是什么
    System.out.println(str.indexOf('c'));//字符c出现的第一次的位置索引是
    System.out.println(str.lastIndexOf('c'));//字符c最后一次出现的位置索引
    System.out.println(str.indexOf("we"));//字符串we第一次出现的位置
    System.out.println(str.lastIndexOf("we"));//字符串we最后一次出现的位置

    //把字符串拆分,
    char[] charss=str.toCharArray();
    for(char value:charss){
    System.out.print(value+"\t");
    }
    System.out.println("------");
    //把字符串全部变成大写哦。
    System.out.println(str.toUpperCase().hashCode());//字符串一但创建,就不能变化。这些方法都是又创建了一个新的对象
    System.out.println(str.hashCode());
    //将java替换称python
    System.out.println(str.replace("java","python"));
    //去掉空格
    String stt=" hell hlll ";
    System.out.println(stt.trim());
    System.out.println(str.hashCode());

    StringCreate a=new StringCreate();
    System.out.println(a);
    System.out.println(a.hashCode());

    String str21="String hello";
    String str22="String hello";
    System.out.println(str21.startsWith("Str"));//字符的开头是不是。
    System.out.println(str21.endsWith("hk"));//字符串的结尾是不是
    System.out.println(str21.equals(str22));//是否等于str22 。字符中的equals比较的 object中的equals比较的是对象,是否是同一个对象。跟==一样。
    System.out.println(str21.contains("h"));//中间是否包含
    System.out.println(str21.isEmpty());//是否是空的。


    String sttt="羽毛球-篮球-乒乓求";
    //对字符串进行截取,substring 2个参数的形式,是左边包,右边不包含

    System.out.println(sttt.substring(4));//截取从4到结尾的
    System.out.println(sttt.substring(4,6));//截取从4到5的/左边包含,右边不包含的。
    //split是切割作用 。不包含切割符号。返回值是一个string类型的数组。
    String[] stttp=sttt.split("-");
    for (int i = 0; i <stttp.length ; i++) {
    System.out.print(stttp[i]+",");

    }

    // System.out.println(sttt.charAt(sttt.length()));这个超出了字符串的长度,就是会报错StringIndexOutOfBoundsException。通过序号找到字符。当访问的字符串中的字符时,如果字符的索引不存在,就会发生
    StringIndexOutOfBoundsException 超过边界。(字符串角标越界异常)运行时异常。

    /*

    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 10
    at java.lang.String.charAt(String.java:658)
    at com.java.api.StringCreate.main(StringCreate.java:72)

    */







    }
    }

    5.1 String和StringBuffer
    5.1.1 String
    创建方式:2种 直接使用字符串常量 调用String类构造函数
    实例方法:
    与序号相关 可以通过序号获取相应字符 也可以通过字符获取序号
    字符串对象不可变 但是通过转换可以生成新的对象
    逻辑判断
    subString 两个参数的形式 包含开头 不包含结尾
    split 切割机 切割结果不包含切割符号
    通过偏移访问字符串 当大于等于字符串长度时 发生运行时异常 程序中断
    5.1.1 StringBuffer
    特点:长度 内容 可以变化
    实例方法:
    添加 尾部追加 中间插入
    删除:单个删除 区间删除
    转换:单个替换 区间替换


    5.1.3
    相同点:一串有序的字符
    不同点:
    长度内容不可变 可变
    重写equals方法 没重写
    可以使用+ 不能


    5.2 System和Runtime
    5.2.1 System
    系统属性相关:getProperties getProperty(String key)
    时间相关:返回值long 代表从19**到现在的时间间隔
    数组copy:可能发生数组越界异常
    5.2.2:Runtime
    功能:对应当前JAVA程序对应的虚拟机环境,可以获取JAVA虚拟机占据的内存等信息


    5.3 Math和Random
    5.3.1:Math
    功能:你叫复杂的数学运算
    5.3.2:Random
    功能:用于产生随机数
    注意:固定种子 生成随机数的序列是一样的(序列中的数字是不一样的)


    5.4 包装类
    定义:和基本数据类型对应的Class
    功能:让一切皆对象的编程思想进一步得到体现
    相互转换:
    装箱
    拆箱


  • 相关阅读:
    ZOJ 3949 Edge to the Root( 树形dp)
    CCF201812-3 CIDR合并
    CF700E E. Cool Slogans
    BZOJ4552: [Tjoi2016&Heoi2016]排序
    BZOJ3238: [Ahoi2013]差异
    BZOJ4566: [Haoi2016]找相同字符
    Codeforces Global Round 1 A~F
    (HDU)1555-- How many days? (多少天)
    (HDU)1491-- Octorber 21st (校庆)
    (HDU)1465-- 不容易系列之一
  • 原文地址:https://www.cnblogs.com/swiftycc/p/16016019.html
Copyright © 2020-2023  润新知