zoukankan      html  css  js  c++  java
  • Java字符串和常用类

    字符串

    (一) "==" 和 equals() 的区别

    " == " :判断两个字符串在内存首地址是否相同,即判断是否是同一个字符串对象。

    equals() :比较存储在两个字符串对象中的内容是否一致。

    (二) 获取字符串中特定位置的字符

    s.charAt(i) == 'a' (统计 a 出现的字数)
    
    String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
            // 出现次数
            int num = 0;
             // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
            for ( int i=0; i<s.length(); i++)
            {
                // 获取每个字符,判断是否是字符a
                if ( s.charAt(i)=='a') {
                    // 累加统计次数
                    num++; 
                }
            }

     

    (三) StringBuilder 和 StringBuffer 类

    当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

    // 创建一个StringBuilder对象,用来存储字符串
    StringBuilder hobby=new StringBuilder("zzp");

    StringBuilder 类的常用方法

    append():追加内容;insert():插入内容到指定位置;toString():将StringBuilderd对象转换为String对象;length():获取字符串长度。

    //创建一个空的StringBuilder对象
    StringBuilder str = new StringBuilder();
    //1.追加字符串
    str.append("zzpzzpcdhcdh");
    //2.从后往前每隔三位插入逗号
    for (int i = str.length(); i >= 0; i = i -3)
    {
        str.insert(i,',');
    }
    //3.将StringBuilder对象转换为String对象并输出
    System.out.println(str.toString());
     

    Java中的常用类

    (一) Java中的包装类

    为了让基本数据类型也具备对象的属性,Java为每个基本数据类型提供了一个包装类,使得可以像操作对象那样操作基本数据类型。

    基本类型对应的包装类
    byte Byte
    short Short
    int Integer
    long Long
    char Character
    float Float
    double Double
    boolean Boolean

    包装类主要提供了两大类方法:

    1. 将本类型和其他基本类型进行转换的方法

    2. 将字符串和本类型及包装类互相转换的方法

    以Integer包装类为例:

    //定义int类型变量,值为99
    int score1 = 99;
    //创建Integer包装类对象,表示变量score1的值
    Integer score2 = new Integer(score1);
    //将Integer包装类转换为double类型
    double score3 = score2.doubleValue();
    //将Integer包装类转换为float类型
    float score4 = score2.floatValue();
    //将Integer包装类转换为int类型
    int score5 = score2.intValue();
     

    (二) Java 中基本类型和包装类之间的转换

    装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱(基本类型--->包装类)

    //定义double类型变量
    double a = 99.5;
    //手动装箱
    Double b = new Double(a);
    //自动装箱
    Double c = a;
     

    拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱(包装类--->基本类型)

    //定义一个Double类包装对象
    Double d = new Double(87.0);
    //手动拆箱
    double e = d.doubleValue();
    //自动拆箱
    double f = d;
     

    (三) Java 中基本类型和字符串之间的转换

    基本类型转换为字符串有三种方法:

    1. 使用包装类的 toString() 方法

    2. 使用String类的 valueOf() 方法

    3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

    int c = 10;
    String str1 = Integer.toString(c);
    String str2 = String.valueOf(c);
    String str3 = c + "";
     

    字符串转换成基本类型有两种方法:

    1. 调用包装类的 parseXxx 静态方法

    2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

    //将字符串转换为基本类型
    String str = "8";
    int d = Integer.parseInt(str);
    int e = Integer.valueOf(str);
     

    (四) 使用 Date 和 SimpleDateFormat 类表示时间

    日期和文本转换方法:

    1. 使用 format() 方法将日期转换为指定格式的文本

    2. 使用 parse() 方法将文本转换为日期

    (调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理)

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Main {
    
        public static void main(String[] args) {
            //使用format()方法将日期转换为指定格式的文本
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
            SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    
            //创建Date对象,表示当前时间
            Date now = new Date();
    
            //调用format方法,将日期转换为字符串并输出
            System.out.println(sdf1.format(now));
            System.out.println(sdf2.format(now));
            System.out.println(sdf3.format(now));
    
            //使用parse()方法将文本转换为日期
            String d = "2019-7-5 15:55:22";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //调用parse()方法,将字符串转换为日期
            try {
                Date date = sdf.parse(d);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    }

    (五) Calendar 类的应用

    由于Date本身设计的问题,推荐使用Calendar进行时间和日期的处理

    // 创建Calendar对象
    Calendar c = Calendar.getInstance();
    // 将Calendar对象转换为Date对象
    Date date = c.getTime();
    // 创建SimpleDateFormat对象,指定目标格式
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // 将日期转换为指定格式的字符串
    String now = sdf.format(date);
    System.out.println("当前时间:" + now);

    (六) 使用 Math 类操作数据

    返回值方法名解释
    long round() 返回四舍五入后的整数
    double floor() 返回小于参数的最大整数
    double ceil() 返回大于参数的最小整数
    double random() 返回 [ 0, 1 )之间的随机浮点数

    Math类中的所有方法都是静态的,所以可以用类名.方法()的方式使用,如:Math.round()


    Java字符串的使用和常用类。

  • 相关阅读:
    Yii调试插件yii-debug-toolbar的使用
    IE8不支持indexOf的解决办法
    使用wkhtmltopdf的一些事情
    mac sourcetree 启用 Beyond compare
    Java基础学习之(5)--impact和package
    Java基础学习之(3)--面向对象2--重载
    Java基础学习之(4)--面向对象3--this+static关键字
    Java基础学习之(2)--面向对象1
    Java基础学习之(1)--标识符、关键字、数据类型
    java学习(7)iterator迭代器
  • 原文地址:https://www.cnblogs.com/zpzheng/p/11149904.html
Copyright © 2011-2022 走看看