数组声明

语法格式

数据类型[] 数组名;
数组类型 数组名[];
例:

int[] myIntArray;
int myIntArray[];
char[] ch;
String [] strArray;

数组创建

语法格式一:先声明后创建

数据类型[] 数组名;
数组名 = new 数据类型[数组长度];
例:

int[] arr;
arr = new int[10];

创建了一个长度为10的整型数组

语法格式二:声明的同时创建数组

数据类型[] 数组名 = new 数据类型[数组长度];

int[] arr = new int[10];

创建长度为10的整型数组arr
注意:数组长度必须指定

数组在内存中的存储

数组会被分配连续的内存空间

数组的初始化

1.声明数组的同时给数组赋值,叫做数组的初始化
例:

int[] arr = {1,2,3,4,5,6,7,8,9,10};
//数组的长度就是初始化时所给数组元素的个数

数组元素的引用

1.语法格式:
数组名[下标];
注意:下标从0开始

2.数组长度

int[] a = {1,2,3,4,5,6,7,8,9,10};

属性length表示数组的长度,如a.length

int[] intArray;                 //声明一个整型数组

String strArray[];                //声明一个字符串类型的数组

intArray=new int[5];

strArray=new String[10];        //创建数组

float[] floatArray=new float[4];  //声明数组的同时进行创建

char[] ch={'a','b','c','d'};        //初始化数组

System.out.println("ch数组的长度为:"+ch.length);

System.out.println("intArray数组的第2个元素为:"+intArray[1]);

System.out.println("strArray数组的第5个元素为:"+strArray[4]);

System.out.println("floatArray数组的最后一个元素为:"+floatArray[floatArray.length-1]);
//循环为整型数组赋值
for(int i=0;i<5;i++){
    intArray[i]=i+1;
}
//循环输出整型数组中的元素
System.out.println("整型数组intArray的元素为:");
for(int i=0;i<5;i++){
    System.out.print(intArray[i]+"    ");
}

整型数组的默认值为0;

字符串类型数组的默认值为null;

浮点型数组的默认值为0.0;

package imoocProj;

import java.util.Scanner;

public class ArrayDemo {

public static void main(String[] args) {
    // 求整型数组的累加和
    //定义整型数组
    int[] a=new int[5];
    Scanner sc=new Scanner(System.in);
    //从键盘接收数据,为数组元素赋值
    for(int i=0;i<a.length;i++) {
        System.out.println("请输入第"+(i+1)+"个元素:");
        a[i]=sc.nextInt();
    }
    System.out.println("数组元素的内容为:");
    for(int i=0;i<a.length;i++) {
        System.out.println(a[i]+"    ");
    }
    //求数组累加和
    int sum=0;
    for(int i=0;i<a.length;i++) {
        sum=sum+a[i];
    }
    System.out.println();
    System.out.println("数组元素的累加和为:"+sum);

}

}

编程练习

求数组中能被3整除的元素并打印输出。效果如下:

能被3整除的数组元素为:
3
6
9
12
15
public class ArrayDemo {
    public static void main(String[] args) {
        int[] intArray=new int[15];//定义一个整型数组,并初始化
        for(int i=0;i<intArray.length;i++){
            intArray[i]=i+1;
        }
        
    System.out.println("能被3整除的数组元素为:");
    for(int i=0;i<intArray.length;i++){
        if(intArray[i]%3==0){
            System.out.println(+intArray[i]);
        }
    }
    
    //循环遍历数组,找出能被3整除的元素并打印输出
    
}

}
package imoocProj;

public class ArrayDemo1 {

public static void main(String[] args) {
    // 求数组元素的最大值
    int[] a= {34,23,78,56,31};
    int max=a[0];
    for(int i=1;i<a.length;i++) {
        if(max<a[i]) {
            max=a[i];
        }
    }

}

}

增强型for循环

又称foreach循环

foreach循环应用:

int[] arr={1,2,3,4,5};
for(int n:arr)
    System.out.println(n);

冒泡排序

对一组整数按从小到大的顺序排列

package imoocProj;

public class SortDemo {

public static void main(String[] args) {
    // 冒泡排序
    int[] a= {34,53,12,32,56,17};
    System.out.println("排序前的数组元素为:");
    for(int n:a) {
        System.out.print(n+"   ");
    }
    System.out.println();
    int temp;
    for(int i=0;i<a.length-1;i++) {
        //内重循环控制每趟排序
        for(int j=0;j<a.length-i-1;j++) {
            if(a[j]>a[j+1]) {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
    System.out.println("从小到大排序后的数组元素为:");
    for(int n:a) {
        System.out.print(n+"   ");
    }
}

}

排序前的数组元素为:
34 53 12 32 56 17
从小到大排序后的数组元素为:
12 17 32 34 53 56

编程练习2

定义一个字符数组并初始化,统计字符’a’或’A’出现的次数(结果:字符数组中字符'a'或'A'的个数为:4)

public class ArrayDemo {
    public static void main(String[] args) {
        char[] ch={'a','A','b','c','a','A','r','t','i','q'};
        int count=0;
        for(int i=0;i<ch.length;i++){            //循环遍历数组,统计字符’a’或’A’出现的次数
            if((ch[i]=='a')|(ch[i]=='A')){
                count++;
            }
        }
        System.out.println("字符数组中字符'a'或'A'的个数为:"+count);    //打印输出统计数据
    
}

}
最后修改:2019 年 12 月 31 日 11 : 15 PM
如果觉得我的文章对你有用,请随意赞赏