A.数组
数组概念:表示一个相同数据类型的连续存储单元;
数组分类:
动态数组:他的长度已经定义好,他的数据由系统进行分配;
静态数组:他的数据给定好的,他的长度由系统进行分配;
数组在程序中的声明:
a.int[] arr;
b.int arr[];
//两种方式建议使用前者来声明数组;
定义动态数组使他的长度为5;
int[] arr = new int[5];
定义静态数组,使他的元素是1,2,3,4,5
int[] arr1=new int{1,2,3,4,5};
数组的遍历
例如遍历上面的数组
for(int i=0;i<arr.length;i++)
{
System.out.println(arr[i]);
}
上述可完成数组的遍历
在java中经常会出现的两种异常:
运行时期异常:Runtime Exception
java.lang.ArrayIndexOutOfBoundsException:数组角标越界异常!
出现这个异常的原因:访问了数组中不存在的索引
运行时期的异常:
java.lang.NullPointerException:空指针异常:
出现这个异常的原因:数组的对象为空,都不执行内存地址值,还要输出元素.
建议大家将常见的异常总结起来:(工作使用)
public class ArrayDemo6 {
public static void main(String[] args) {
//定义数组并且静态初始化
int[] arr = {1,2,3} ;//index = 0,1,2
// System.out.println(arr[3]);
arr = null ;//数组引用类型:引用类型的默认值位null:对象是空的
* //空指针异常的解决办法:非空判断
if(arr != null){
System.out.println(arr[0]);
}
}
}
方法的调用
一般格式
权限修饰符 返回值类型 方法名(形参类型 值1,形参类型 值2){
语句
return 返回值;
}
方法的重载(出现重名的方法)
与方法的其他值无关,方法的重载只与参数有关
要么参数类型不同,要么参数个数不同。
例如:有一个静态数组,请在方法中实现数组的逆转
int arr[]=new arr{3,5,7,8,9}
public class TurnArray{
public static void main(String[] args)
{
int arr[]=new arr{3,5,7,8,9};
//调用反转方法
turnArray(arr);
//输出
for(int i=0;i<arr.length;i--)
System.out.println();
}
//反转方法
public static void turnArray(arr[]){
for(int i=0,int j=arr.length-1;i<j;i++,j--){
int c=arr[i];
arr[i]=arr[j];
arr[j]=c;
}
}
}