美文网首页
Java StringBuffer/StringBuilder

Java StringBuffer/StringBuilder

作者: 西贝巴巴 | 来源:发表于2021-02-25 11:57 被阅读0次
package com.company;

import java.lang.reflect.Array;
import java.util.Arrays;

/*
 * Java StringBuffer 和 StringBuilder 类
 *
 * 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
 * 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
 *
 * 由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
 *
 * Java 数组
 * 声明数组变量
 * dataType[] arrayRefVar;   // 首选的方法
 * dataType arrayRefVar[];  // 效果相同,但不是首选方法
 * 创建数组
 * arrayRefVar = new dataType[arraySize];
 * 一、使用 dataType[arraySize] 创建了一个数组。
 * 二、把新创建的数组的引用赋值给变量 arrayRefVar。
 *
 * dataType[] arrayRefVar = new dataType[arraySize];//数组变量的声明,和创建数组可以用一条语句完
 * dataType[] arrayRefVar = {value0, value1, ..., valuek};
 *
 * For-Each 循环:它能在不使用下标的情况下遍历数组。
 *  语法格式如下:
 * for(type element: array)
 * {
 *   System.out.println(element);
 * }
 * 数组作为函数的参数 数组可以作为参数传递给方法。
 *
 * 多维数组
 * 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:
 *
 * String str[][] = new String[3][4];
 *
 * 多维数组的动态初始化(以二维数组为例)
 *  1. 直接为每一维分配空间,格式如下:
 * type[][] typeName = new type[typeLength1][typeLength2];
 * int a[][] = new int[2][3];
 *
 * Arrays 类
 * java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
 *
 * 给数组赋值:通过 fill 方法。
 * 对数组排序:通过 sort 方法,按升序。
 * 比较数组:通过 equals 方法比较数组中元素值是否相等。
 * 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
 *
 * */
public class StringBuffer {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder(10);
        sb.append("西贝大军");
        System.out.println(sb);
        sb.append("!!!!!");
        System.out.println(sb);
        sb.insert(2, "你好哈");
        System.out.println(sb);
        sb.delete(2, 4);
        System.out.println(sb);

        //数组
        int size = 3;//定义数组大小
        double[] myList = new double[size];
        myList[0] = 1;
        myList[1] = 33;
        myList[2] = 2.2;
        //计算所有元素和
        double total = 0;
        for (int i = 0; i < size; i++) {
            total = total + myList[i];

        }
        System.out.println(total);

        double[] testV1 = {11, 22, 3.4, 55.3, 44};
        // 打印所有数组元素
        for (int i = 0; i < testV1.length; i++) {
            System.out.println("testV1 打印所有数组元素" + testV1[i]);
        }

        // 查找最大元素
        double max = testV1[0];
        for (int i = 0; i < testV1.length; i++) {
            if (testV1[i] > max) max = testV1[i];
        }
        System.out.println("testV1 查找最大元素" + max);


        //For-Each
        for (double element : testV1) {
            System.out.println("For-Each" + element);
        }

        int[] intArray = {11, 22, 333, 444};
        Arrays.fill(intArray, 1, 2, 3121212);
        Arrays.sort(intArray);
        System.out.println("new intArray:"+Arrays.toString(intArray));
        printArray(intArray);

        int[] intArray2 = {33,22,111,333,666};
        int[] intarray3 = intArray2.clone();
        System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):"  + Arrays.equals(intArray, intArray2));
        System.out.println("比较数组元素是否相等:Arrays.equals(intarray3, intArray2):"  + Arrays.equals(intarray3, intArray2));


        //多维数组
        String[][] moreArray = new String[2][];
        moreArray[0] = new String[3];
        moreArray[1] = new String[3];
        moreArray[0][0] = "a";
        moreArray[0][1] = "b";
        moreArray[0][2] = "b";
        moreArray[1][0] = "A";
        moreArray[1][1] = "B";

        System.out.println(Arrays.toString(moreArray));
        System.out.println(Arrays.toString(moreArray[0]));
        System.out.println(Arrays.deepToString(moreArray));

    }


    //数组可以作为参数传递给方法。
    public static void printArray(int[] array) {
        for (int element : array) {
            System.out.println("array :" + element);
        }

    }
}

相关文章

网友评论

      本文标题:Java StringBuffer/StringBuilder

      本文链接:https://www.haomeiwen.com/subject/sbjsfltx.html