zoukankan      html  css  js  c++  java
  • 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.内层循环中遍历的次数依据内层数组的长度

               

  • 相关阅读:
    自我介绍
    java web 学习计划
    团队-团队编程项目中国象棋-代码设计规范
    团队-中国象棋游戏-设计文档
    团队-象棋游戏-开发环境搭建过程
    结对-贪吃蛇游戏-开发环境搭建过程
    结对-结对编项目贪吃蛇-设计文档
    20170912-构建之法:现代软件工程-阅读笔记
    课后作业-阅读任务-阅读提问-1
    团队-团队编程项目中国象棋-成员简介及分工
  • 原文地址:https://www.cnblogs.com/s10-/p/7890045.html
Copyright © 2011-2022 走看看