JavaBase 数组

数组: 

       1.在内存中存储一组相同数据类型的集合

       2.数组会在内存中开辟一块连续的空间来保存数据

       3.数组的长度一旦被定义不能被改变

       4.数组下标的最大值是,数组长度-1

数组中的相关概念:

       1.定义数组  

            int[] nums;声明一个数组

            nums=new int[5];在内存中开辟了5个空间,会给所有元素赋予初始值

            num[0]=50;给数组中的第一个位置赋值

             因为数组是int类型,那么数组中的其他四个空间默认值是0;

       2.数组的基本要素:

            nums  标识符/数组的名称   用于区别不同的数组

            我们通过nums只能获得数组整体,通过下标获取数组的元素

            数组元素:数组中真实存在的数据 

            元素下标:对数组元素进行的编号

            元素类型:数组中每个元素的数据类型

冒泡排序:

                       实现数值类型数组中的数据从小到大排列

         双重循环:外层循环执行一次,内层循环执行一遍

                     

    分析:

           1.根据数组的长度,我们可以断定比较几轮

           2.每轮中比较几次?

              外层循环控制几轮,内层循环控制一轮几次

           3.真正比较数值大小的是内层循环

           4.内层循环比较的时候使用等量转换

           5.灯亮转换的条件是下一个值小于上一个值

       口诀:

          两两相比小靠前

          外层循环N-1

          内层循环N-1-i

          等量转换

插入算法:

          1.先定义一个升序数组 预留一个位置

          2.获取用户输入的数值

          3.定义一个变量用来接收插入数字的下标

          4.循环和数组中的每一个元素进行比较

          5.循环后移

          6.插入数字

 Arrays;操作数组的工具类

        类中提供了很多方法

        我们可以直接通过类名访问

     例:

       创建数组int[] nums = { 10, 50, 30, 20, 80, 70 };

       增强for循环

           System.out.println("***********排序之前***********");
               for (int num : nums) {
                   System.out.println(num);
            }

       1.排序

         Arrays.sort(nums);       

         System.out.println("***********排序之后***********");
            for (int num : nums) {
               System.out.println(num);
           }

        2.把数组转换成一个字符串

           String result = Arrays.toString(nums);

           System.out.println("数组转换成字符串之后======》" + result);

        3.将数组中所有的元素改变成同一个值

           Arrays.fill(nums, 100);

           result = Arrays.toString(nums);

           System.out.println("数组元素替换之后======》" + result);

       4.复制数组 形成新的数组

          int[] newNums = Arrays.copyOf(nums, 10);

          result = Arrays.toString(newNums);

          System.out.println("数组复制之后======》" + result);

      5. 查询元素在数组中存在的位置 前提 必须先排序

           int[] nums2 = { 10, 50, 30, 20, 80, 70 };

           Arrays.sort(nums2);// 先排序

           int index = Arrays.binarySearch(nums2, 80);

           System.out.println("80存在的位置:" + index);

      6.把String类型的字符串转换成 一个 char类型的数据

           String hello = "hello BigData";

           char[] array = hello.toCharArray();

           for (char i : array) {

               System.out.println(i);

            }

         

增强for循环:

        int:需要遍历集合的数据类型

        num:变量,可以自定义

        nums:需要遍历的集合

  二维数组:

        注意事项:

          1.创建二维数组的时候必须指定外围数组的长度

          2.如果没有设置内层数组的长度,元素的默认值是null

          3.外围数组的长度就是整个数组的长度

          4.内层循环中遍历的次数依据内层数组的长度

           

原文地址:https://www.cnblogs.com/s10-/p/7890045.html