美文网首页学习路线--Java SE
Chapter6 Java数组之一维数组

Chapter6 Java数组之一维数组

作者: Mr董先森 | 来源:发表于2018-02-12 13:27 被阅读0次

    Lecture1 一维数组概述

    • 数组:相同类型的数据按顺序(会在内存中开辟一段连续的空间)组成的一种引用数据类型
    • 数组的声明:语法格式
    数据类型[] 数组名;
    //或者
    数组类型 数组名[];
    
    • 数组的创建:语法格式(数组长度必须指定)
    //格式1--先声明后创建
    数据类型[] 数组名;
    数组名 = new 数据类型[数组长度];
    //格式2--声明的同时创建数组
    数据类型[] 数组名 = new 数据类型[数组长度];
    
    • 数组和局部变量的默认值问题:数组有默认值,局部变量没有默认值
    • 数组的初始化:声明的同时给数组赋值,叫做数组的初始化;数组的长度(即属性length)就是初始化时赋值给数组的元素个数
    • 数组元素的引用:语法格式
    数组名[下标];
    //数组下标从0开始
    

    Lecture2 一维数组应用

    • 一维数组案例:
    public class ArrayDemo {
        public static void main(String[] args) {
            //声明一个整型数组
            int[] intArray;
            //声明一个字符串类型的数组
            String strArray[];
            //创建数组
            intArray = new int[5];
            strArray = new String[10];
            //声明数组的同时进行创建
            float[] floatArray = new float[4];
            //初始化数组
            char[] charArray = {'a', 'b', 'c', 'd'};
            System.out.println("charArray数组的长度为:" + charArray.length);
            System.out.println("intArray数组的第二个元素为:" + intArray[1]);
            System.out.println("strArray数组的第五个元素为:" + 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] + "  ");
            }
        }
    }
    
    • 一维数组的应用:

    案例一:

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

    案例二:

    /**
     * 求数组元素的最大值
     */
    public class MaxDemo {
        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);
        }
    }
    
    • 增强型for循环:又叫foreach循环;案例:
    int[] intArray = {1, 2, 3, 4, 5};
    //使用增强型for循环输出数组元素
    for(int n : intArray){
      System.out.println(n+"  ");
    }
    
    • Lecture3 一维数组应用--进阶
    • 前置案例:如何对变量a、b的值进行交换
    int a = 3, b = 5;
    int temp; 
    temp = a;
    a = b;
    b = temp;
    
    • 冒泡排序:
    /**
     * 使用冒泡排序将一组整数按照从小到大的顺序进行排序
     */
    public class SortDemo {
        public static void main(String[] args) {
            //定义需要排序的整形数组
            int[] array = {34, 53, 12, 32, 56, 17};
            System.out.println("排序前的数组为:");
            for (int n : array) {
                System.out.print(n + "  ");
            }
            System.out.println();
    
            int temp;
            //外重循环控制循环几次
            for (int i = 0; i < (array.length - 1); i++) {
                //内重循环控制每次排序
                for (int j = 0; j < (array.length - i - 1); j++) {
                    if (array[j] > array[j + 1]) {
                        temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                }
            }
            System.out.println("排序后的数组为:");
            for (int n : array) {
                System.out.print(n + "  ");
            }
        }
    }
    

    以后会补上一篇《常见排序算法》

    相关文章

      网友评论

        本文标题:Chapter6 Java数组之一维数组

        本文链接:https://www.haomeiwen.com/subject/xrmctftx.html