数组可以存放多个同一类型数据。
1、数组定义
数据类型 数组名[]=new 数据类型[大小];
int a[]=new int[5];
2、数组引用(使用)
数组名[下标]
a[2]
第一步:声明数组
数据类型 数据名[]; 也可以 数据类型[] 数据名;
int a[]; 或者 int[] a;
第二步:创建数组
语法:数组名=new 数据类型[大小];
a=new int[10];
第三步:数组引用(使用)
语法:数组名[下标]
a[7]
第一步:初始化数组
语法:数据类型 数组名[]=(元素值,元素值...)
int a[]={2,5,6,7,8,89,90,34,56}
第二步:数组的引用(使用)
语法:数组名[下标]
a[7]
请思考,既然int,float,double...等都可以有数组,那么可不可以有对象数组呢?
对前面的养鸡场的问题进行升级,题目要求如下:
一个养狗场有4只狗,分别是:
名字 |
重量 |
花花 |
4.5kg |
白白 |
5.6kg |
黑黑 |
78kg |
红红 |
9.0kg |
请编写一个程序,可以计算它们的平均体重,可以找出体重最大和最小的狗的名字,可以通过输入狗的名字,查找它的体重。
对象数组使用演示代码如下:
1 /**日期:2016-03-05 2 * 功能:对象数组使用演示 3 */ 4 package test; 5 import java.io.*; 6 public class Demo1 { 7 8 public static void main(String[] args) throws Exception { 9 // TODO Auto-generated method stub 10 11 //定义一个可以存放四只狗的对象数组 12 Dog dogs[]=new Dog[4]; 13 /* //常规方法 14 //给各个狗赋初值 15 dogs[0]=new Dog(); //这个语句非常重要,因为内存中dogs[0]等默认为null,必须新开辟一个内存区 16 dogs[0].setName("花花"); 17 dogs[0].setWeight(4.5f); */ 18 19 //从控制台输入各个狗的信息 20 InputStreamReader isr=new InputStreamReader(System.in); 21 BufferedReader br=new BufferedReader(isr); 22 for(int i=0;i<4;i++) 23 { 24 dogs[i]=new Dog(); 25 System.out.println("请输入第"+(i+1)+"个狗的名字:"); 26 String name=br.readLine(); //异常 27 dogs[i].setName(name); 28 System.out.println("请输入第"+(i+1)+"个狗的重量:"); 29 String s_weight=br.readLine(); //异常 30 float weight=Float.parseFloat(s_weight); //java默认输入的是字符串,需要转换 31 dogs[i].setWeight(weight); 32 } 33 34 int allWeight=0; 35 for(int i=0;i<4;i++) 36 { 37 allWeight+=dogs[i].getWeight(); 38 } 39 float aveWeight=allWeight/dogs.length; 40 System.out.println("平均体重为:"+aveWeight); 41 } 42 43 } 44 45 class Dog 46 { 47 public String getName() { 48 return name; 49 } 50 public void setName(String name) { 51 this.name = name; 52 } 53 public float getWeight() { 54 return weight; 55 } 56 public void setWeight(float weight) { 57 this.weight = weight; 58 } 59 private String name; 60 private float weight; 61 }
运行结果如下:
1 请输入第1个狗的名字: 2 花花 3 请输入第1个狗的重量: 4 12 5 请输入第2个狗的名字: 6 白白 7 请输入第2个狗的重量: 8 13 9 请输入第3个狗的名字: 10 黑黑 11 请输入第3个狗的重量: 12 11 13 请输入第4个狗的名字: 14 红红 15 请输入第4个狗的重量: 16 12 17 平均体重为:12.0
原文:http://www.cnblogs.com/PistonType/p/5246218.html