【6】Java数组之一维数组

一、数组概念

定义数组是相同类型的数据按顺序组成的一种引用类型数据
 
要学习的内容:
一维数组 - 声明 - 创建 - 初始化 - 元素的引用 - 长度 - 数组的应用
 

1. 数组声明

1)数据类型[] 数组名;   --常用形式
2)数据类型 数组名[];
3)举例
int[] arr;
int arr[] ;
char[] ch;
String[] ch;
 

2. 数组创建

1)格式一:先声明后创建
 
数据类型[] 数组名;
数组名 = new 数据类型[数组长度];
举例:
int[] arr;
a = new int[10]; // 创建一个长度为10的整型数组
 
2)格式二:声明的同时创建数组
数据类型[] 数组名 = new 数据类型[数组长度];
举例:
int[] a = new int[10]; // 注意:数组长度必须指定!

3. 数组的存储

在内存中的存储 数组在内存中会被分配连续的内存空间。
举例:
int[] a = new int[10];//10个连续的内存空间,int类型每个值默认都是0。

4. 数组的初始化

定义:声明数组的同时给数组赋值,叫做数组的初始化。new不叫初始化,叫创建对象。
举例:
int[] a = {1,2,3,4,5,6,7,8,9,10};

5. 数组元素的引用

1)语法格式:
数组名[下标]
 
2)注意:数组下标从0开始
举例:
int[] a = {1,2,3,4,5,6,7,8,9,10};
a[0] =1;a[1]=2;a[2]=3;a[3]=4;

6. 数组长度

1)定义:数组长度就是数组元素的个数;
 
2)求数组长度:属性length表示数组的长度,usage:a.length

二、数组应用

1)案例
public class demo {
    public static void main(String[] args) {
        //声明一个整型数组
        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]);//长度减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]+" ");

        }
    }

}

//ch数组的长度为:4
//intArray数组的第2个元素为:0
//strArray数组的第5个元素为:null
//floatArray数组的第最后一个元素为:0.0
//整型数组intArray的元素为:
//1 2 3 4 5
View Code

 2)案例:求数组元素的累加和

package com.fiona.javaBasis.day7array_1;
//求数组元素的累加和
import java.util.Scanner;

public class _02ArrayDemo {

    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.print(a[i]+" ");
        }
        //求数组元素的累加和
        int sum=0;
        for(int i=0;i<a.length;i++) {
            sum=sum+a[i];
        }
        System.out.println("\n数组元素的累加和为:"+sum);
    }

}
//请输入第1个元素:
//1
//请输入第2个元素:
//2
//请输入第3个元素:
//3
//请输入第4个元素:
//4
//请输入第5个元素:
//5
//数组元素的类容为:
//1 2 3 4 5
//数组元素的累加和为:15
View Code
3)案例:求数组中能被3整除的元素并打印输出。
package com.fiona.javaBasis.day7array_1;
//2-6编程练习:求数组中能被3整除的元素并打印输出。
public class _03ArrayDemo2_6 {
    public static void main(String[] args) {
        //定义一个整型数组,并初始化
        int [] arr=  new int[15];
        System.out.println("数组元素为:");
        for (int a=0;a<15;a++){
            arr[a]=a+1;
            System.out.print(arr[a]+"  ");
        }

        //循环遍历数组,找出能被3整除的元素并打印输出
        System.out.println("\n能被3整除的数组元素为:");
        for (int i=1;i<=arr.length-1;i++){
            if (arr[i]%3==0){
                System.out.print(arr[i]+"  ");
            }
        }
    }
}
View Code

 4)案例:求元素最大值

package com.fiona.javaBasis.day7array_1;

public class _04ArrayMax {
    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];
                System.out.println("此数组中最大值为:"+max);
            }

        }
    }
}
View Code

 三、增强型for循环、变量值交换

1)增强型for循环又叫foreach循环,循环的终止条件:把数组中的内容遍历一遍。❤常用

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

 

 2)如何对变量a,b的值进行交换❤常用
int temp;
temp=a;
a=b;
b=temp;

 四、冒泡排序

❤重点

1)冒泡排序

package com.fiona.javaBasis.day7array_1;

public class _06maopaopaixu {
    //冒泡排序法:从小到大排序
    public static void main(String[] args) {
        int[] a = { 34, 42, 33, 45, 6, 7 };
        System.out.println("排序前的内容是:");
        for (int n : a) {//使用增强型for循环输出数组
            System.out.print(n + " ");
        }
        int temp;//定义中间变量,用来交换两个变量的值
        for (int i = 0; i < a.length - 1; i++) {//外层循环控制循环几次
            for (int n=0;n<  a.length-i-1; n++) {//内层循环控制每趟排序
                if (a[n]> a[n + 1]) {
                    temp = a[n + 1];
                    a[n + 1] = a[n];
                    a[n] = temp;
                }
            }
        }
        System.out.println( '\n'+ "排序后的内容是:");
        for (int j : a) {
            System.out.print(j+" ");
        }
    }
}
View Code

 

 2)案例:统计字符出现次数
package com.fiona.javaBasis.day7array_1;

public class _07ArrarDemo4_4 {
    public static void main(String[] args) {
        //定义一个字符数组ch并初始化
        char [] ch =  {'c','a','i','d','e','x','A'};
        //循环遍历数组,统计字符’a’或’A’出现的次数
        int sum=0;
        for(int i:ch){
            if (i=='a'||i=='A'){
                sum++;
            }
        }
        //打印输出统计数据
        System.out.println("字符’a’或’A’出现的次数为:"+sum);

    }

}
View Code

 

 
 

 

posted @ 2020-04-02 09:22  柠檬不萌!  阅读(577)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end