java数组

1,什么是数组?

    在广义上说,数组是一个容器,用来存储同一类的数据。同时,数组还是一种线性的数据结构。也就是说,数组在堆内存中是连续存放的。
    而在java中,数组是一个类。且数组只定义了唯一的一个属性length,用来获取数组的长度。

2,怎样定义一维,二维数组?

    实例化一维数组:
数据类型 [] 数组名 = new 数据类型[length];
数据类型 [] 数组名 = {数据,...};
   实例化二维数组:
数据类型 [][] 数组名 = new 数据类型[row][column];
数据类型 [][] 数组名 = {{数据,...},...};
 

3,怎样使用一维,二维数组?

     获取一维数组的元素总数:数组名.length
    设置获取数组中某一个位置的元素:数组名[下标]
 
    获取二维数组的行数:数组名.length
    获取二维数组某一行有多少列:数组名[下标].length
    获取二维数组的元素总数:数组名.length*数组名[下标].length

package Arry;

public class Text1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 * 初始化一维数组
		 */
		int age[] = new int[10];
		String name[] = {"张三","李四","王五"};
		/*
		 * 初始化二维数组
		 */
		char grade[][] = new char[5][6];
		double number[][] = {
				{12, 13.55},
				{15, 23.1, 8.6},
				{14, 22.6}
		};
		/*
		 * 一维数组的使用
		 */
		System.out.println("age数组的长度为:" + age.length);
		System.out.println("name数组的长度为:" + name.length);
		System.out.println("age数组的第三个元素值为:" + age[2]);
		System.out.println("name数组的第三个元素值为:" + name[2]);
		/*
		 * 二维数组的使用
		 */
		System.out.println("grade数组的行数为:" + grade.length);
		System.out.println("number数组的行数为:" + number.length);
		System.out.println("grade数组第三行有" + grade[2].length + "列");
		System.out.println("number数组第三行有" + number[2].length + "列");
	}

}

4,一维数组中数据的排序:

       见下一篇博客《排序 Sorting(java实现)》

5,二维数组应用举例:

          找出二维数组中的最大数据,并输出所对应的行数和列数:
package Arry;

import java.util.Random;

public class DoubleDimensionalArry {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int arry[][] = new int[6][6];
		int max = 0;
		
		Random ran = new Random();
		for(int r = 0;r < arry.length;r++){
			for(int c = 0; c< arry[r].length;c++){
				arry[r][c] = ran.nextInt(50);   //0 - 49
				System.out.print(arry[r][c] + "  ");
				}
			System.out.println();
			}
		
		for(int r = 0;r < arry.length;r++){
			for(int c = 0;c < arry[r].length;c++){
				if(max < arry[r][c]){
					max = arry[r][c];
					r++;
					c++;
				}	
			}
			
		}
		
		
		for(int r = 0;r < arry.length;r++){
			for(int c = 0;c < arry[r].length;c++){
				if(max == arry[r][c]){
					System.out.println("max = " + max);
					System.out.println("在第" + r + "行,第" + c + "列");
				}
			}
		}
		
	
		
	}

}






     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值