动态初始化:
初始化时只指定数组长度,
由系统为数组分配初始值
静态初始化:
初始化时指定每个数组元素的初始值,
由系统决定数组长度。
格式:
m:长度值
动态:
数据类型 数组名 = new 数据类型;
静态:
数据类型 数组名 = new 数据类型{元素值,…};
静态简化写法:
数据类型 数组名 = {元素值,…};
推荐使用简化写法
*/
class ArrayDemo01{
public static void main(String args) {
int arr = new int{1,2,3};
System.out.println(“arr:”+arr);//地址值
System.out.println(“arr:”+arr);//1
System.out.println(“arr:”+arr);//2
System.out.println(“arr:”+arr);//3
int arr2 = {4,5,6};
System.out.println(“arr2:”+arr2);//地址值
System.out.println(“arr2:”+arr2);//4
System.out.println(“arr2:”+arr2);//5
System.out.println(“arr2:”+arr2);//6
}
}
图解:
/*
ArrayIndexOutOfBoundsException:数组越界异常
原因:访问了不存在的数组索引元素
NullPointerException:空指针异常
原因:数组引用没有指向实体,
却在操作实体中的元素时
*/
class ArrayDemo02{
public static void main(String args) {
int arr = new int;
arr=10;
arr=20;
arr=30;
System.out.println(arr);//10
System.out.println(arr);//20
System.out.println(arr);//30
//System.out.println(arr);//数组越界了
int arr2 = null;
System.out.println(arr2);
System.out.println(arr2);
}
}
/*
*数组遍历(依次输出数组中的每一个元素)
*
* 分析:
* 1一个数组,你要访问每一个元素
* 那么就得通过访问数组的每一个元素的
* 索引下标
*
* 2而索引下标是变幻的且有规律的
* 从0开始,每次+1
*
* 3所以索引的值就可以用循环中的变量控制
*
*
*/
class ArrayTest01{
public static void main(String args) {
int arr = {1,2,3,4};
printArray(arr);
printArray2(arr);
printArray3(arr);
//访问每一个元素,必须能做到
// System.out.println(arr);
// System.out.println(arr);
// System.out.println(arr);
// System.out.println(arr);
// System.out.println(“—–“);
// // 这种方法不太好,代码重复度太高,
// // 如果数组中有一万个元素呢?
// //
// // 代码重复高的时候,我们就要考虑循环了
// //
// // 循环第一版:
// for (int i=0;i<=3 ;i++ ) {
// System.out.println(arr);
// }
// //在这儿我们是知道数组的长度,
// //如果我们 不知道数组的长度呢?
// //java中提供一个东西,叫做length
// //length就能够拿到数组的长度
// System.out.println(“arr的数组长度:”+arr.length);
// // for循环改进版:
// for (int i=0;i<arr.length ;i++ ) {
// System.out.println(arr);
// }
}
public static void printArray(int arr){
// 这是纯碎的输出数组中的每一个元素
for (int i=0;i<arr.length ;i++ ) {
System.out.println(arr);
}
}
public static void printArray2(int arr){
// 这是输出数组元素+格式
System.out.print(“{“);
for (int i=0;i<arr.length ;i++ ) {
if (i==arr.length-1) {
System.out.println(arr+”}”);
}else{
System.out.print(arr+”,”);
}
}
}
public static void printArray3(int arr){
// 输出数组中索引值为偶数的元素值
for (int i=0;i<arr.length ;i+=2 ) {
System.out.println(arr);
}
}
}
/*
数组获取最值(获取数组中的最大值)
分析:
1.首先要一个数组int arr ={1,2,3,4}
2.这个数组中每一个元素都要拿来对比
3.先定义一个变量用来保存最大值
假设:这个最大值就是0
o<1,那么我就要把1赋值给这个最大值变量
4.循环比较每一个值
5.最终输出最大值
*/
class ArrayTest02{
public static void main(String args) {
int arr ={-11,-22,-3,-4,-10};
int max=getMax(arr);
System.out.println(“数组最大值:”+max);
}
// 方法两个明确:
// 返回值类型:int
// 参数列表:
public static int getMax(int arr){
//int max=0;定义0不好,无法比较负数
int max=arr;//那数组第一个元素做初始最大值
for (int i=0;i<arr.length ; i++) {
if (arr>max) {
max=arr;
}
}
return max;
}
}
本文【java动态初始化数组_Java数组初始化】由作者: Web服务 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4118.html