java (数组操作)

1. String s = new String(" a string ");

创建了一个String的对象,用“ a string ”初始化这个对象,创建管理这个对象的变量s,让s管理这个对象。

// String s = "hello" ;


2.输入字符串

in.next(); //读入一个单词,  遇到空格、tab、换行 结束。

in.nextLine(); //读入一整行。


3.各类函数

s1.compareTo(s2);  //比大小


s1.starswith(s2); //一个字符串s1是否是以另一个子字符串s2开头或结尾的

s1.endswith(s2);


s.trim; //把字符串的两端的空格删掉

s.replace(c1,c2); //把s中的c1都换成c2

s.insert(pos,c); //在pos位置插入char c


s.toLowerCase; // 把整个字符串换成大写或小写

s.toUpperCase;


4.访问string里的字符

for(int i=0; i<s.length(); i++)

{

    System.out.println( s.charAt(i) ):// 第i个位置

}


5.得到子串

s1.subSring(2); //得到第三个位置到最后一个位置的子字符串

s2.subString(2,4); //得到第二个位置到第三个位置的子字符串


6.寻找字符

s.ndexOf('4'); //寻找s里是否有4, 有的话返回位置,没有返回-1


7.StringBuilder

    动态对象,可直接拼加上字符串;而string对象的步骤:先初始化对象并赋值了,而后在拼加字符串时,先要创建需要拼加的字符串,然后再拼加,所以这就是StirngBuild远比String效率高的原因!

       String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。

       如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。StringBuilder 运行速度听说是string 200倍。

  通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 

         StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 

StringBuilder 对象设置容量和长度
   StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,可以为它可容纳的最大字符数指定一个值。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);
另外,可以使用读/写 Capacity 属性来设置对象的最大长度。以下代码示例使用 Capacity 属性来定义对象的最大长度。
MyStringBuilder.Capacity = 25; 


static void Main(string[] args)
        {
            StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
            MyStringBuilder.Append(" My name is haoge !");  //添加数据添加到原有字符串末尾。
            MyStringBuilder.Capacity =100;  //写入最大容量;
            MyStringBuilder.Length = 0;      //清空数据
            MyStringBuilder.Remove(0,MyStringBuilder.Length);//清空数据
            MyStringBuilder.Insert(17,"222222");  //    第十八个字符后面插入222222
            MyStringBuilder.Replace("is","are");   //将is替换为are。
            Console.WriteLine(MyStringBuilder);

            int MyInt =45;
            StringBuilder MyStringBuilder1 = new StringBuilder("Your total is ");
            MyStringBuilder1.AppendFormat("{0:C} ", MyInt);
            Console.WriteLine(MyStringBuilder1);
            Console.ReadKey();



### 创建数组Java 中,数组的创建可以通过静态初始化或动态初始化实现。例如,静态初始化可以直接指定数组元素,而动态初始化则是在运行时确定数组的大小。以下是创建数组的示例代码: ```java // 静态初始化 int[] numbers = {1, 2, 3, 4, 5}; // 动态初始化 int[] dynamicNumbers = new int[5]; // 创建一个长度为5的数组 ``` ### 访问和修改数组元素 数组元素可以通过索引访问和修改。索引从0开始,直到数组长度减一。下面是如何访问和修改数组元素的例子: ```java // 修改数组元素 dynamicNumbers[0] = 10; // 将索引为0的元素值改为10 // 访问数组元素 System.out.println(dynamicNumbers[0]); // 输出索引为0的元素值 ``` ### 遍历数组 遍历数组通常使用循环结构,如 `for` 循环或者增强型 `for` 循环(for-each)。这使得可以轻松地访问数组中的每个元素: ```java // 使用 for 循环遍历数组 for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } // 使用增强型 for 循环遍历数组 for (int number : numbers) { System.out.println(number); } ``` ### 多维数组 Java 支持多维数组,最常见的是二维数组。创建和访问多维数组的方式与一维数组类似,但需要额外的索引来访问特定维度的元素: ```java // 创建二维数组 int[][] matrix = new int[3][3]; // 初始化二维数组 matrix[0][0] = 1; matrix[0][1] = 2; matrix[0][2] = 3; matrix[1][0] = 4; matrix[1][1] = 5; matrix[1][2] = 6; matrix[2][0] = 7; matrix[2][1] = 8; matrix[2][2] = 9; // 访问二维数组元素 System.out.println(matrix[0][0]); // 输出1 ``` ### 数组的长度 每个数组都有一个 `length` 属性,用于获取数组的长度,即数组中元素的数量: ```java // 获取数组长度 System.out.println(numbers.length); // 输出5 ``` ### 数组的复制 Java 提供了多种方式来复制数组,包括使用 `System.arraycopy()` 方法、`Arrays.copyOf()` 方法等: ```java import java.util.Arrays; // 使用 Arrays.copyOf() 复制数组 int[] copyOfNumbers = Arrays.copyOf(numbers, numbers.length); ``` ### 数组的排序 可以使用 `Arrays.sort()` 方法对数组进行排序: ```java import java.util.Arrays; // 对数组进行排序 Arrays.sort(numbers); ``` ### 数组的查找 使用 `Arrays.binarySearch()` 方法可以在已排序的数组中查找特定元素的位置: ```java import java.util.Arrays; // 在已排序的数组中查找元素 int index = Arrays.binarySearch(numbers, 3); ``` ### 数组的比较 使用 `Arrays.equals()` 方法可以比较两个数组是否相等: ```java import java.util.Arrays; // 比较两个数组是否相等 boolean isEqual = Arrays.equals(numbers, copyOfNumbers); ``` ### 数组的填充 使用 `Arrays.fill()` 方法可以将数组的所有元素设置为特定值: ```java import java.util.Arrays; // 将数组所有元素设置为特定值 Arrays.fill(dynamicNumbers, 5); ``` ### 数组的转换 可以将数组转换为字符串形式,以便于输出或调试: ```java import java.util.Arrays; // 将数组转换为字符串 String arrayString = Arrays.toString(numbers); System.out.println(arrayString); // 输出 [1, 2, 3, 4, 5] ``` ### 数组的注意事项 在使用数组时需要注意以下几点: - 数组的大小是固定的,一旦创建后不能改变。 - 数组只能存储相同类型的元素。 - 数组的索引是从0开始的。 - 在访问数组元素时,确保索引不越界,否则会抛出 `ArrayIndexOutOfBoundsException` 异常。 通过上述方法和技巧,可以在 Java 中有效地进行数组操作。这些方法和技巧不仅涵盖了数组的基本操作,还包括了一些高级功能,如排序、查找、复制等,这些都是处理数组时不可或缺的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值