数组,方法调用

一。一维数组

1.数组的创建三种方式

(1)。数据类型[] 数组名 = new 数据类型[元素个数或数组长度];

int[] arr=new int[4];
//赋值
arr[0]=99;
arr[1]=98;
arr[2]=97;
int sum=0;
for(int i=0;i<arr.length;i++){      
sum=sum+arr[i];
}
System.out.println(sum);        //求数组中的数的和

(2)。类型[] 数组名 = new 类型[]{元素,元素,……};

String[] brr=new String[]{"abc","456","小红"};
for(int i=0;i<brr.length;i++){
System.out.println(brr[i]);
}

(3)。类型[] 数组名 = {元素,元素,元素,……};       //一般用的比较多

double[] crr={1.2,3.4,5.6};
double max=crr[0];
for(double i:crr){//遍历数组
if(i>max){
max=i;
}

}
System.out.println(max);

2.数组越界,空指针异常

数组越界异常,访问了不存在下标对应的数组织,(数组里有值但访问的元素超出了范围)

报错显示:ArrayDemo06.java

int[] arr={1,2,5};

System.out.println(arr[3]);

 


空指针异常,用null调用了方法或属性,或数组下标(数组无值)

报错显示:NullPointerException。

 int[] arr=null;

System.out.println(arr[0]);

3.数组遍历

(1),简写遍历求最值

double[] crr={1.2,3.4,5.6};
double max=crr[0];
for(double i:crr){//遍历数组,数组可以这么写
if(i>max){
max=i;
}

}
System.out.println(max);

(2)。正常写法遍历求最值

double[] crr={1.2,3.4,5.6};
double max=crr[0];
for(double i=0;i<crr.length;i++){//遍历数组
if(crr[i]>max){
max=crr[i];
}

}
System.out.println(max);

二。二维数组

1.写法

(1)数据类型【】【】 数组名=new 数据类型【二维数组长度】【每个元素长度】

定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组

int[][] arr = new int[3][4];

arr[0][0]=99;
arr[0][1]=100;
arr[2][0]=88;
System.out.println(arr[0][0]);//99
System.out.println(arr[1][0]);//0,默认
System.out.println(arr[0]);//二维数组地址
System.out.println(arr);//一维数组地址

 

 

 

(2)数据类型【】【】 数组名=new 数据类型【二维数组长度】【】

double[][] arr=new double[3][];
double[] arr1={1.2,1.4,1.8};
double[] arr2={7.7,5.6};
double[] arr3={1.3};
arr[0]=arr1;
arr[1]=arr2;
arr[2]=arr3;
System.out.println(arr[0][0]);//输出1.2
System.out.println(arr[2]);//二维数组地址

 

 

(3)数据类型【】【】 数组名={{},{},{}}

int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}

 

 //数组遍历求和

int[][] arr={{1,2,3},{4,5,6,7},{8,9,10,11}};
int sum=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum=sum+arr[i][j];
}

}
System.out.println(sum);

三。数组默认值

 

 

四。方法


//类中一般只包含两种东西,方法和属性(变量)
//方法中不能写方法

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){

    执行语句

    ………

    return 返回值;

}

l  修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍public

l  返回值类型:用于限定方法返回值的数据类型void(不用写返回值)

l  参数类型:用于限定调用方法时传入参数的数据类型

l  参数名:是一个变量,用于接收调用方法时传入的数据

l  return关键字:用于结束方法以及返回方法指定类型的值

l  返回值:被return语句返回的值,该值会返回给调用者

//打印三个数求平均数

public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个数");
int a=sc.nextInt();
System.out.println("请输入第二个数");
int b=sc.nextInt();
System.out.println("请输入第三个数");
int c=sc.nextInt();
aa(a,b,c);

}
public static int aa(int x,int y,int z){
int i=(x+y+z)/3;
System.out.println(i);
return i;
}

 
 
 
 
posted @ 2020-06-29 16:28  wangmeihao  阅读(2357)  评论(0编辑  收藏  举报