`

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();
		}
	}
	
}

 

分享到:
评论

相关推荐

    Java数组练习题(带答案).doc

    Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

    Java数组与内存控制

    ### Java数组与内存控制 #### 一、Java数组在内存分配方面的知识 ##### 1.1 数组初始化 - **声明数组的时候如何分配内存:** - 在Java中,数组的声明并不直接分配内存,而仅仅是创建了一个数组引用变量。例如: ...

    Java数组版ATM

    在Java编程中,"Java数组版ATM"项目是一个典型的面向对象设计实例,它通过数组来模拟自动取款机(ATM)的功能。这个项目旨在教授如何利用Java语言中的类、对象、数组以及相关的面向对象设计原则来实现一个简单的银行...

    Java数组越界问题实例解析

    Java数组越界问题实例解析 在Java中,数组是一种非常重要的数据结构,它广泛应用于各种场景中。然而,在使用数组时,开发者最容易遇到的问题之一就是数组越界问题。数组越界问题是指在访问数组时,索引值超出了数组...

    java数组教案.pdf

    Java数组教案 Java数组是Java编程语言中的一种重要数据结构,用于存储和处理一组数据。在本教案中,我们将详细介绍Java数组的声明、表示、赋值和内存分配,帮助学生掌握数组的基本概念和应用。 一、数组的声明和...

    java 数组和字符串

    ### Java数组和字符串详解 #### 实验目标与背景 本次实验旨在深化理解Java中的数组与字符串操作,聚焦于`String`类与`StringBuffer`类的掌握,包括它们的常用方法、相等性判断的不同方式、数组的创建及引用机制,...

    java数组函数(摘自JAVA编程思想)

    通过`com.bruceeckel.util`包中的工具类,我们可以更加高效和便捷地处理Java数组,提高代码的可读性和维护性。学习和熟练掌握这些数组函数,对于提升Java编程能力是非常有帮助的。在实际开发中,我们应该充分利用...

    java 数组求和计算

    以上内容涵盖了Java数组求和计算的基本知识以及相关的扩展话题。理解并掌握这些知识点对于进行有效的Java编程至关重要。在实际应用中,根据具体需求,可能还需要考虑性能优化、异常处理等方面的问题。

    java数组扩容2

    Java数组扩容的原理  1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。  2)利用数组复制方法可以变通的实现数组扩容。  3)System.arraycopy()可以复制数组。  4)Arrays.copyOf()可以简便的...

    第03讲 JAVA数组.ppt

    【Java数组】是Java编程语言中基础且重要的数据结构,它允许存储固定数量的相同类型的数据。数组在Java中属于引用类型,也就是说数组本身是一个对象,数组中的每个元素相当于这个对象的成员变量。数组可以包含任何...

    Java数组倒置.rar

    Java数组倒置是一个常见的编程操作,它涉及到对数组元素顺序的反转。在Java中,数组是一种数据结构,用于存储同一类型的多个元素。数组倒置,也就是将数组中的元素顺序从后往前排列,使得原数组的第一个元素变为最后...

    46.java数组遍历1.zip

    46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip...

    43.java数组定义1.zip

    43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip...

    22.java数组的复制.zip

    22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组...

    20.java数组空间分配.zip

    20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间...

    java数组基础与典型应用

    ### Java数组基础与典型应用详解 #### 一、数组的概念及基本使用 数组是Java中最基本的数据结构之一,用于存储固定大小的同类型元素集合。它允许程序员在单个变量中存储多个相同类型的数据项,这极大地提高了数据...

Global site tag (gtag.js) - Google Analytics