版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1、通过方法实现一个数组引用传递
对于引用数据类型,主要特点是与方法进行引用传递。
public class Array{
public static void main (String args[]){
int A []=new int [] {10,20,30,40,50};
print(A);//print方法传递数组
}
//要求接受一个int型地数组,定义print方法
public static void print(int b []){
for (int x=0;x<b.length ;x++ ){
System.out.print(b[x]+"、");
}
}
}
输出结果:10、20、30、40、50、
2、通过方法返回一个数组对象
此时只需要通过方法控制返回值类型即可。
public class Array{
public static void main (String args[]){
int A []=init ();
print(A);//print方法传递数组
}
//定义init方法初始化,返回值
public static int [] init(){
int arr []=new int [] {1,2,3,4,5};
return arr;
}
//要求接收一个int型地数组,定义print方法
public static void print(int b []){
for (int x=0;x<b.length ;x++ ){
System.out.print(b[x]+"、");
}
}
}
输出结果:1、2、3、4、5、
3、通过方法修改数组内容
public class Array{
public static void main (String args[]){
int A []=new int[] {1,2,3,4,5};
change(A);//修改数组内容
print(A);//print方法传递数组
}
public static void change (int arr[]){
for(int x=0;x<arr.length;x++){
arr[x]*=2;//每个数组元素乘以2保存
}
}
//要求接收一个int型地数组,定义print方法
public static void print(int b []){
for (int x=0;x<b.length ;x++ ){
System.out.print(b[x]+"、");
}
}
}
输出结果:2、4、6、8、10、
4、综合使用
定义一个double数组,计算出数组总和,最大值,最小值,平均值。
public class Array{
public static void main (String args[]){
int A []=new int[] {1,2,3,4,5};
int sum=0;
double avg=0.0;
int max=A[0];
int min=A[0];
for(int x=0;x<A.length;x++){
if(A[x] > max){
max=A[x];
}
if(A[x]<min){
min=A[x];
}
sum+=A[x];
}
avg=sum/A.length;
System.out.println("数组总和为:"+sum);
System.out.println("数组平均值:"+avg);
System.out.println("数组最大值:"+max);
System.out.println("数组平小值:"+min);
}
//要求接收一个int型地数组,定义print方法
public static void print(int b []){
for (int x=0;x<b.length ;x++ ){
System.out.print(b[x]+"、");
}
}
}
输出结果:
数组总和为:15
数组平均值:3.0
数组最大值:5
数组平小值:1
例子:改善设计
class Array{ //是一个操作工具类
private int sum; //保存总和
private double avg;//保存平均值
private int max;//保存最大值
private int min;//保存最小值
public Array(int A[]){ //进行数组计算
this.max=A[0];//假设最大值
this.min=A[0];//假设最小值
for(int x=0;x<A.length;x++){
if(A[x] > max){
this.max=A[x];
}
if(A[x]<min){
this.min=A[x];
}
this.sum+=A[x];
}
this.avg=this.sum/A.length;
}
public int getSum(){
return this.sum ;
}
public double getAvg(){
return this.avg ;
}
public int getMax(){
return this.max ;
}
public int getMin(){
return this.min ;
}
}
public class Array{
public static void main (String args[]){
int A []=new int[] {1,2,3,4,5};
Array z=new Array(A);//实例初始化,数据计算
System.out.println("数组总和为:"+z.getSum());
System.out.println("数组平均值:"+z.getAvg());
System.out.println("数组最大值:"+z.getMax());
System.out.println("数组平小值:"+z.getMin());
}
}
输出结果同上。