数组动静态初始化



/*
数组的静态初始化操作
数组元素类型[] 数组名 = new 数组元素类型[]{元素1,元素2,元素3,....}
*/
class ArrayInitDemo1
{
public static void main(String[] args)
{
int[] nums=new int[]{1,2,3,4,5,6,7,8,9};
//简单写法
int[] nums1={1,2,3,4,5,6,7,8,9};
System.out.println(nums1.length);//数组的长度,数组中有几个元素.
}
}



class ArrayInitDemo2
{
public static void main(String[] args)
{
//初始值为3
int [] ages = new int [3];
System.out.println(ages.length);
//修改初始值为5
ages = new int [5];
System.out.println(ages.length);
//ages为null,表示没有引用任何内存空间
ages = null;
System.out.println(ages.length);
}
}

//数组的基本操作
class ArrayOptrateDemo1
{
public static void main(String[] args)
{
int [] nums = new int []{1,3,5,7,9};
//数组长度 int len = 数组名.length是属性,不是方法
System.out.println("数组的长度="+nums.length);
//获取元素
System.out.println("获取第一个元素="+nums[0]);
System.out.println("获取最后一个元素="+nums[4]);
//设置元素
nums[0] = 100;
System.out.println("获取最后一个元素="+nums[0]);
System.out.println("----------------------------");
//遍历数组元素
for (int i = 0;i < nums.length ;i ++ )
{
System.out.println("获取的元素="+nums[i]);
}
}
}

两种常见的异常操作
空指针异常(引用异常)

索引越界异常

获取数组中最大最小值和打印数组
class ArrayOptrateDemo2
{
//获取数组中最大元素
static int getMax(int[] nums)
{
int j = nums[0];//假设数组第一个值为最大值
for (int i = 1;i < nums.length ;i ++ )
{
if (nums[i] > j)
{
j = nums[i];//就把最大值存储在j变量中
}
}
return j;
}
//获取数组中最小元素
static int getMin(int[] nums)
{
int k = nums[0];//假设数组第一个值为最小值
for (int i = 1;i < nums.length ;i ++ )
{
if (nums[i] < k)
{
k = nums[i];//就把最大值存储在k变量中
}
}
return k;
}
//打印数组
static void printArray(String[] arr)
{
//思路:先打印数组"[]",再获取arr数组里面的元素,然后再做if判断,判断如果当前i的值不是最后一个索引,则拼接
if (arr == null)
{
System.out.println("null");
return;
}
String ret = "[";
for (int i = 0;i < arr.length ;i ++ )
{
ret = ret + arr[i];
//如果当前i不是最后一个索引,则拼接", "
if (i != arr.length - 1)
{
ret = ret + ", ";
}
}
ret = ret + "]";
System.out.println(ret);
}
public static void main(String[] args)
{
int [] nums = new int []{20,15,5,79,100};
System.out.println(ArrayOptrateDemo2.getMax(nums));
System.out.println(ArrayOptrateDemo2.getMin(nums));
String [] arr = {"A","B","C","D","E"};
ArrayOptrateDemo2.printArray(arr);
}
}
网友评论