Day24.1.数组入门

Day24.1.数组入门

1.定义

  • 数组是相同数据的有序集合

  • 每个数据为一个数组元素,每个数组元素可以通过一个下标来访问他们

2.数组的声明创建

  1. 声明:

     //方法一
     dataType[] arrayRefVar; //建议
     //int[] a;
     //方法二
     dataType arrayRefVar[];//C/C++中的写法,java也可以
     //int a[];
     
     

     

  2. 创建:Java语言使用new操作符来创建数组

     dataType[] arrayRefVar=new dataType[arraySize];
     //int[] a=new int[5];
     //上面已经声明了a[],所以只需赋值大小
     a=new int[10];
     public class Test {
         public static void main(String[] args){
             int[] a=new int[5];
             int sum=0;
             for (int i = 0; i < 5; i++) {
                 a[i]=i;
            }
             for (int j = 0; j < a.length; j++) {
                 sum+=a[j];
            }
             System.out.println(sum);
     
        }
     }

3.数组的特点

  • 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

  • 其元素必须是相同类型,不允许出现混合类型。

  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型

  • 数组变量属于引用类型,数组可以看成对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象。Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

4.数组初始化

  1. 静态初始化

     int[] a={0,1,2,3,4};

    静态初始化,数组的大小是确定的,且无法改变

  2. 动态初始化

     int[] b=new int[10];
     b[0]=10;

    动态初始化包含默认初始化,即其他未赋值的数组元素会默认为0,String为null

  3. 默认初始化

    未赋值的数组元素会默认为0,String为null

5.数组边界

  1. 数组下标合法区间[0,length-1],若越界会报错

ArrayIndexOutOfBoundsException:数组下标越界

6.数组的使用

基本例题

 public class Demo01 {
     public static void main(String[] args) {
         int[] a={0,1,2,3,4,5};//静态初始化数组元素
         //遍历输出数组元素
         for(int i=0;i<a.length;i++){
             System.out.println(a[i]);
        }
         //输出所有元素的和
         int sum=0;
         for(int j=0;j<a.length;j++){
             sum+=a[j];
        }
         System.out.println(sum);
         //找出数组元素中的最大值
         int max=a[0];
         for (int i=1;i<a.length;i++){
             if(a[i]>max){
                 max=a[i];
            }
        }
         System.out.println(max);
    }
 }

1.For-Each循环

 public class Demo02 {
     public static void main(String[] args) {
         int[] a={1,2,3,4,5};
         //省去了下标,适用遍历输出数组元素
         for (int i : a) {
             System.out.println(i);
        }
    }
 }

增强型For循环

2.数组做方法入参

 public class Demo02 {
     public static void main(String[] args) {
         int[] a={1,2,3,4,5};
         //省去了下标,适用遍历输出数组元素
         for (int i : a) {
             System.out.println(i);
        }
         printArray(a);
         System.out.println();
         printArray(reverse(a));
    }
     //打印数组元素
     public static void printArray(int[] arrays){
         for(int i=0;i<arrays.length;i++){
             System.out.print(arrays[i]+" ");//将arrays数组的第一个赋值给result的最后一个
        }
    }
 }

3.数组做返回值

public class Demo02 {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
//省去了下标,适用遍历输出数组元素
for (int i : a) {
System.out.println(i);
}
printArray(a);
System.out.println();
printArray(reverse(a));
}
//将数组反转
public static int[] reverse(int[] arrays){
int[] result=new int[arrays.length];
for(int i=0,j= result.length-1;i<result.length;i++,j--){
result[j]=arrays[i];
}
return result;
}
//打印数组元素
public static void printArray(int[] arrays){
for(int i=0;i<arrays.length;i++){
System.out.print(arrays[i]+" ");//将arrays数组的第一个赋值给result的最后一个
}
}
}
 
posted @   武义一中梁朝伟  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示