java数组

Java中的数组 

① 含义: 相同数据类型的元素集合(使用时主要涉及到数组的定义、初始化、使用等问题);

② 声明:
         在使用某一数组之前,必须先声明出它(定义它)。
          要点F数组的声明只是表明有此数组,但并未真正地分配出内存空间,因而还必须对它实例化(分配出内存空间)。
③ 实例化数组:
          通过为数组分配指定的内存空间来实例化该数组,可采用new来实现(因为Java中的某一数组,其实是Array数组类的对象)。
               new  类型  [元素个数];      即:
            数组类型  [  ]  数组名=new 数组类型 [元素个数];
也可:       int [  ]  Array=new  int [10];    //将声明与实例化合二为一;
 
④ 初始化:
               在声明时,可以采用{ … }来赋初值,此时将自动创建出该数组,并将其元素成员赋初值。     

                 int  [  ]  Array={1,2,3,4,5};
 
⑤ 使用数组:
           使用下标(从0开始到元素个数-1),来引用元素之值。
    i         nt  [  ]=new  int[10];
会产生异常ArrayIndexOutofBceundsExcertion(这个错误数据越界)
a[5]=1; 
a[-1]=4;
a[10]=2;
 
⑥ 获取数组中元素个数(数组具有唯一的属性就是Length) 
      每一个数组即为Array数组类的子类,其父类Array中有一个成员变量length指示数组元素的个数。从而可以利用数组名•length来获得数组中的元素个数。 
     int   a[  ]=new   int[10];
       a. length;  //返回的值将为10;椐此可得到数组中的元素个数;并且可以动态地创建出数组。
       int a[]=new int [10] ;
    f or(int i=0; i < a.length; i++) 
{

System.out.print(a[]+" ");

}
⑦ Java中支持动态大小的数组:
数组的元素个数是通过计算而来的,而非预先定义的。
int arraySize=10;
int myArray[]=new int [arraySize];
 
⑧ 对象数组:
先定义出数组;再实例化各个元素对象。
Point p[]=new Point[10];   //先定义出数组
for(int i=0; i<10;i++)
{  
p[i]=new Point(10, 10);       //再实例化各个元素对象
}
⑨多维数组
int[][]  dayValue = new int[52][7];
dayValue[10][1]  =  100;
 
int totalLength=dayValue.length;
int rowLength=dayValue[0].length;
应用例:
        class TotalProduct 
{
           public static void main(String[] arguments) 
{
               int[] denver = { 
1             5000006, 18810000, 20752110 
};
        int[] philadelphia = { 
15020000, 18708000, 21348000 
};
               int[] total = new int[denver.length];
               int sum = 0;
            for (int i = 0; i < denver.length; i++) 
{
                   total[i] = denver[i] + philadelphia[i];
            System.out.println((i + 1993) + " production: " + total[i]);
            sum += total[i];
               }
               System.out.println("Average production: " + (sum / denver.length));
    }
}

import java.util.Random;

public class test1 {
  
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		// TODO Auto-generated method stub
        //
		 Student [] array=test1.creatArray(11);
		 test1.printArray(array);
			System.out.println("下边是排序后的结果");
			
		     test1.xuz(array);
		
			test1.printArray(array);
		 
		 
		
		
				
	}
	//x选择排序
	public static  void xuz(Student[] array) {
		
	        
		for(int i=0;i<=array.length-1;i++)
		{ int  min=i;

		   System.out.print("pp");
		    for(int j=i+1;j<array.length;j++)
		    	
		    	if(array[j].getScore() < array[min].getScore())
		    	
		    	min=j;
		    	
		    //jioahuanshuju 
		        Student  temp=array[min];
		        array[min]=array[i];
		        array[i]=temp;
		    
		        
		        
		         
	
	
		}   
	}
		    
		
		
	
	//获取姓名以及成绩
	public static Student[] creatArray(int length )
	{
		Student [] array= new Student[length];
		Random random= new Random();
               for(int i=0;i<array.length;i++){
			
			//实例化Student对象,存入到array数组中
			Student stu = new Student("姓名"+i,random.nextInt(10));
			//讲stu对象添加到数组中
			array[i] = stu;
               }
		return array;
	}
	//打印名单
	public static void printArray(Student [] array)
	{
		for(int i=0;i<array.length;i++){
			Student stu = array[i];//获取数组中的数据对象
			//输出
			System.out.println("姓名:"+stu.getName()+"  学分:"+stu.getScore());
		}
	}

}	



 
public class Student {

	/**
	 * @param args
	 */
	
	private String name;
	
	private int score;
	
	private String Number;
	
	public Student(String name, int score  ) {
		 			this.name=name;
		 			this.score=score;
		 		  this.Number=Number;
	}

	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getNumber() {
		return Number;
	}
	
	public void setNumber(String number) {
		Number = number;
	}
	
	public int getScore() {
		return score;
	}
	
	public void setScore(int score) {
		this.score = score;
	}
	//重写tostring
	public String toString()
	{
		return " 学号:"+Number+"姓名:"+name  +"学分"+score;
	}
	
	
}
 

 二维数组的代码

import java.util.Random;

/**
 * 二维数组的使用类
 * 
 *
 */
public class test2 {

    static int r;
	static int g;


	public static void main(String[] args) {
		//调用创建二维数组的方法
		int [][] array = test2.createArray(4,4);
		test2.printArray(array);
		//调用求取最大值的方法
		test2.maxArray(array);
		
		
	}

	/*
	 * 创建二维数组的方法
	 * @param row表示二维数组的行
	 * @param column表示二维数组的列
	 *
	 */
	public static int[][] createArray(int row,int column){
		//实例化一个int类型的数组对象
		int [][] array = new int[row][column];
		//实例化一个随机数类的对象
		Random random = new Random();
		//循环控制
		for(int i=0;i<array.length;i++){
			for(int j=0;j<array[i].length;j++){
				array[i][j] = random.nextInt(200)+300;
			}
		}
		return array;
	}
	 /**
	  * 关于寻找最大质值的坐标的
	  *设置对整个数组的查询
	  */
	public static void maxArray(int[][] array)
	{
		
		//实例化一个随机数类的对象
		int	max=array[0][0];
		//循环控制
		for(int i=0;i<array.length;i++){
		     
			for(int j=0;j<array[i].length;j++){
				if(max<array[i][j])
					max=array[i][j];
				 r=i;
				 g=j;
				
		}

			
		}
		System.out.print("最大值是"+max+"坐标是 "+r+g);
		
	}
		
	
	/**
	 * 打印二维数组的方法
	 * @param array要被打印的一位数组对象
	 */
	public static void printArray(int [][] array){
		//循环控制
		for(int i=0;i<array.length;i++){
			for(int j=0;j<array[i].length;j++){
				System.out.print(array[i][j]+"   ");
			}
			System.out.println();
		}
	}
	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值