标签:空指针 ring rgs 访问 pointer 访问权限 学习过程 一个 null
一。一维数组
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;
}
标签:空指针 ring rgs 访问 pointer 访问权限 学习过程 一个 null
原文地址:https://www.cnblogs.com/111wdh/p/13206890.html