关于数组

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
1.数组概念理解
【1】数组是一个容器,用来存储相同类型的数据;这个容器的数据存储是根据它的索引进行存储的。
【2】数组是属于数据结构的一种;这是一种线性的数据结构。
【3】它在内存中是以一个连续的存储空间进行存储的。
注意:
int [] array = new int[2]; //数组名array和两个int类型在不同的内存空间
int a = 10; //变量名a和10在一个内存空间
数组名中存储的是数据在内存中的首地址。


数组属于类类型(对象类型,引用类型)
数组只有一个唯一的属性length。
一维数组中要获取数组的能存储多少个元素:数组名.length
二维数组中要获取数组有多少行数据:数组名.length
二维数组中要获取每一行有多少列:数组名[行下标].length
二维数组在内存中的存储方式
每一行都是一个独立的存储空间


2.数组的定义与使用
一维数组的定义方式:
数据类型 [] 数组名 = new 数据类型[length];
数据类型 [] 数组名 = {值,...};
数据类型 [] 数组名 = new 数据类型[]{值,...};
数据类型 [] 数组名;
数组名 = new 数据类型[length];
数组名 = new 数据类型[]{值,...};

二维数组的定义方式:
数据类型 [][] 数组名 = new 数据类型[row][column];
数据类型 [][] 数组名 = {{值,...},...};
数据类型 [][] 数组名 = new 数据类型[][]{{值,...},...};
数据类型 [][] 数组名;
数组名 = new 数据类型[row][column];
数组名 = new 数据类型[][]{{值,...},...};




3.找出二维数组中最大值,输出最大值,个数以及行列下角标
import java.util.Random;

public class ArrayDemo {


//随机
private static Random rand = new Random();

public static void main(String[] args) {
int [][] array = creatArray(5,5);
printArray(array);
max(array);
}

//建立二维数组,利用随机数生成
public static int [][] creatArray(int row,int column){
int [][] array = new int[row][column];
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
array[i][j] = rand.nextInt(50); //取值范围0-50
}
}
return array;
}

//打印数组
public static void printArray(int[][] array) {
//array.length表示二维数组的行数
for (int i = 0; i < array.length; i++) {
//array[i].length表示二维数组每一行对应的列数
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}

//找出二维数组的所有最大值以及它们的下角标,并且打印[包括显示最大值个数]
public static void max(int[][]array){
int count=0; //用来标记最大值的个数
int maxnum=array[0][0]; //用来标记最大值,初始设置为a[0][0];

//先利用第一趟循环找出最大值,并且赋给maxnum
for(int i=0;i<array.length;i++)
for(int j=0;j<array[i].length;j++){
if(array[i][j]>maxnum){
maxnum=array[i][j];
}

}

//再循环一趟,与最大值相等即输出下角标,并且count加1
for(int i=0;i<array.length;i++)
for(int j=0;j<array[i].length;j++){
if(array[i][j]==maxnum){
System.out.print(i);
System.out.println(j+" ");
count+=1;
}

}
System.out.println("the max number is "+maxnum+" ");
System.out.print("the count is "+count);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值