数组
一维数组
创建一维数组
数组作为对象,允许使用new关键字进行内存分配。语法格式如下:
数组元素类型 数组名字[ ];
数组元素类型[ ] 数组名字;
例如:
int arr[ ];
String[ ] str;
数组声明后,还不能访问它的任何元素,因为声明数组仅仅是给出了数组名字和数组的数据类型,要想真正使用数组还要为其分配内存空间,且分配内存空间时必须指明数组的长度。语法如下:
数组名 = new 数组元素类型[数组元素的个数];
例如:
arr = new int[5];
创建数组和分配内存不一定要分开执行,语法如下:
数组元素类型 数组名[ ] =new 数组元素类型[数组元素的个数];
例如:
int arr[] = new int[5];
初始化一维数组
数组的初始化有两种形式。
例如:
int arr[ ] = new int[ ]{1,2.3,4};
int arr2[ ] = {23,45,434,32};
求一维数组的和:
public class SumNum{ public static void main(String[] args){ int[] num = {1,2,3,4,5,6,7,8,9,10}; int sum = 0; System.out.println("一维数组中个元素的和是:"); for(int i=0;i<num.length;i++){ if(i==num.length-1){ System.out.println(num[i]+"="); }else{ System.out.println(num[i]+"+"); } sum = sum+num[i]; } System.out.print(sum); } }
多维数组
二维数组
1.1.1二维数组的创建
数组元素类型 数组名[ ] [ ];
数组元素类型[ ] [ ] 数组名;
例如:
int arr[ ] [ ];
int[ ] [ ] arr;
int arr = new int[2] [4];
1.1.2 二维数组的初始化
例如:
int arr[ ] [ ] ={ {2,3},{3,4}};
遍历二维数组:
public class Matrix{
public static void main(String[] args){
int a[][] = new int[3][4];
System.out.println("输出3行4列的数组:");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.println(a[i][j]+" ");
}
System.out.println();
}
}
}
三维数组
数组声明和赋值:
例如:
int a[ ] [ ] [ ] = new int[ ] [ ] [ ]{ {1,2,3},{5,6,7},{9,10,11}};
数组的基本操作
遍历数组
public class SumNum{
public static void main(String[] args){
int[] num = {1,2,3,4,5,6,7,8,9,10};
int sum = 0;
System.out.println("一维数组中个元素的和是:");
for(int i=0;i<num.length;i++){
if(i==num.length-1){
System.out.println(num[i]+"=");
}else{
System.out.println(num[i]+"+");
}
sum = sum+num[i];
}
System.out.print(sum);
}
}
public class Matrix{
public static void main(String[] args){
int a[][] = new int[3][4];
System.out.println("输出3行4列的数组:");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.println(a[i][j]+" ");
}
System.out.println();
}
}
}
填充替换数组元素
2.1 fill(int[ ] a,int value)方法,该方法可以将指定的int值分配给int类型数组的每个元素。
a:要进行元素替换的数组 ;value:要存储数组中的所有元素的值;返回值:填充后的数组。
2.2 fill(int[ ] a,int fromIndex,int toIndex,int value)方法,该方法将指定的int值分配给int型数组指定范围中的每一个元素。填充范围从索引fromaiandex(包括fromIndex)一直到索引toIndex(不包括),如果fromIndex==toIndex,则填充范围为空。
对数组进行排序
3.1 通过Arrays类的静态sort()方法可以实现对数组的排序,语法如下:
Arrays.sort(object); object:指定进行排序的数组名称,返回值:排序后的数组。
复制数组
4.1 copyOfRange()方法
4.1.1 copyOfRange(arr,int fromIndex,int toIndex); arr:要进行复制的数组对象;fromIndex:指定开始复制数组的索引位置;toIndex:要复制范围的最后索引位置。
4.2 copyOf()方法
4.2.1 copyOf(arr ,int newlength); arr:要进行复制的数组;newlength:int 型常量,指复制后的新数组的长度,如果新数组的长度大于数组arr的长度,则用0填充(根据复制数组的类型来决定填充的值,int用0,char用null);如果复制后的长度小于数组arr的长度,则会从数组arr的第一个元素开始截取至满足新数组的长度为止。
字符串
创建字符串
String()
String s = new String();
String(char a[ ])
String s = new String("good");
String(char a[ ],int offset,int length)
提取字符数组a[ ]中的一部分创建一个字符串对象,offset表示开始截取字符串的位置,length表示截取字符串的长度。
char a[ ] = {'d','d','e','g','f',g','r'}; String s = new String(a,2,4); =>String s = new String("deg");
字符串连接
多个字符串连接
连接多个字符串时,在每两个连接的字符串之间用“+”相连,连接后生成一个新的字符串。
连接其他数据类型
在字符串与其他数据类型连接时,同样使用“+”连接符。
获取字符串信息
获取字符串长度
str.length(); str:指定的字符串对象;返回值:返回指定字符串的长度。
获取指定字符的索引位置
-
indexOf()方法
调用字符串的indexOf()方法搜索s时,会从字符串的起始位置依次搜索,返回s首次出现位置的索引,如果没有检索到字符串s,返回-1。
str.indexOf(substr); str:任意字符串对象;substr:要搜索的字符;
-
lastIndexOf()方法
调用字符串的lastIndexOf()方法搜索s时,会从字符串的起始位置依次搜索,返回s最后出现位置的索引,如果没有检索到s,返回-1。
str.lastIndexOf(substr); str:任意字符串对象;substr:要搜索的字符;
获取指定索引位置的字符
-
charAt()方法
str.charAt(int index); str:任意字符串;index:整型值,用于指定要返回字符的下标;返回值:返回指定索引位置的字符。
去除字符串中的空格
去除字符串的前导、尾部空格
-
trim()方法
str.trim();
去除字符串中的所有空格
-
StringTokenizer()方法
该方法利用分割和追加实现除去空格的目的
StringTokenizer(String str,String delim); str:要除去空格的字符串;delim:从字符串str中除去的字符串;返回值:去掉所有空格后的字符串。
-
replaceAll(