一.一维数组
1.声明数组并且为它分配内存。
C++中:
int *a = new int[10];
JAVA中摒弃了指针的形式,变为
int a[] = new int [10];.//表示该数组可以存储十个元素
如果没有进行初始化的话,int里为0,String为null.
2取得数组的长度
a.length表示的是他的数组的元素个数,比如上例就是10.
3.数组练习(格式化打印输出)
***ToString的使用和random的使用方法,标要记箭头的为多注意的地方
例2:查找对应的姓名
eg:
String nameArr[]=new int[3];
for(int i=0;i<3;i++)
{
nameArr[i]=scan.next();//如果是整数位scan.nextInt();
}
//根据输入的内容查找对的名字
String name=scan.next();
for(int i=0'i<3;i++)
{
if(nameArr[i].equals(name)
{
输出
}
}
最主要的还是equals的用法
二.二维数组
1.二维数组的初始化
eg;
int arr[][] = {value1,value2,...valuen};
2.创建一个2*3二维数组
arr=new int[2][3];
length=2
//一横行长度为3
arr[0][0] |
arr[0][1] |
arr[0][2] |
arr[1][0] |
arr[1][1] |
arr[1][2] |
2.使用二维数组
2.1输出二维数组的for语句
int a[][]=new int [2][3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a[i].length;j++)
{
输出a[i][j];
}
}
解析:a.length指的是集合中的集合(后面的以此类推),第二行的for语句为在第一行的集合中进行的循环为a[i].length 。
eg:int a[] []={{1,2,3,4},{5,6,7,8},{10,11,12,13};
第一行就是在大集合的三个集合中的循环,为集合中的三个集合中循环
第二行额就是在大集合中小集合四个数中进行的循环,为a[0]的长度中循环,a[1]的循环中中,a[2]的循环中,所以要表示每个数组的长度时至少得加上下标。
2.2输出二维数组的foreach语句
首先回顾foreach用法
for(元素变量x(不必初始化):遍历对象obj){引用x的java语句;}
eg:int a[]={1,2,3};
for(int x:a){打印输出}//a指定要循环遍历的数组。
上面是一维,现在来看二维
public class Testforeach{
public static void main(String[] args){
int [][]num={{1,2,3},{11,22,33},{111,222,333}};
for(int a[]:num)
for(int b:a){
System.out.println(b);
}
}
}
}
可以看出第一行的for先是输出一个整形数组,联系上面的集合的部分
是大集合中的三个小集合,所以是一个数组,后面是对象(数组名)
然后第二行是先输出数组中的各部分,可以当程以一维数组来看待即 可。
2.2.1(数组的方法-填充)
fill(int[]a, int value)//对一般的空数组进行填充Array.fill(*,*)即可 fill(int[]a,int fromdex,int todex,int value)//填充数量(后面下标- 前面下标)
2.2.2(数组的方法-排序)
Array.sort(object)//结果是从小打大
2.2.3 (数组的方法-复制)
1.copyOf(arr,int newlength)//如果新的长度大则用0补 充,反之,则截取到哪就是哪
该1,2方法提供多种重载形式,用于满足不同类型的数组 的复制。
2.copyOfRange(arr,int fromdex,int todex)
2.24 (数组的方法-查询)