day06数组、数组声明和赋值、数组复制、数组排序

复习

1.do-while

1)语法

  do{

     //循环体

  }while(<条件>);

2.whiledo-while

1)while

  先判断,后执行

  初始条件不满足,一次都不执行

2)do-while

  先执行,后判断

  初始条件不满足,也会至少执行一次

 

3.for循环

1)语法

  for(表达式1;表达式2;表达式3){

     //循环体

  }

 

4.循环流控

1)break

  跳出,终止循环

2)continue

  跳过本次循环,继续下次循环

 

5.循环嵌套

1)什么是循环嵌套

2)循环嵌套的注意事项

 

笔记

1.数组

1)什么是数组

  数组就是一种能够保存

  多个相同数据类型数据的变量

2)为什么使用数组

  在处理较多同类型数据时

  可以使用数组减少代码冗余

3)数组的组成

  3.1)数组名称

  3.2)数组元素

  3.3)数组长度

  3.4)数组下标

4)数组的声明

  <类型>[] <数组名>;

  int[] nums;

  int nums[];//不推荐

5)数组的初始化

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

  nums=new int[5];

  合二为一

  int[] nums=new int[5];

6)数组的使用

  使用原则:使用元素的下标来指定元素

  <数组名>[<下标>]=...;

  nums[0]=12;

  System.out.println(nums[0]);

  nums[1]=nums[0]+8;

 

7)数组的遍历

  遍历就是访问数组中所有元素一遍

  只要是对数组的遍历

  就使用循环(for循环)

 

8)数组长度的获取

  <数组名>.length;

  一个数组第一个元素的下标:

                 0

 

  一个数组最后一个元素的下标:

                 <数组名>.length-1

 

 

2.使用数组的注意事项

1)数组初始化之后

  元素都有默认值

  (0\0.0\false)

2)数组初始化后

  长度不能修改

3)使用数组下标时

  要小心数组下标越界

 

3.数组声明时赋值;

1)int[] nums={9,3,6,4,7,1,8};

  必须声明后立即使用{}赋值

2)int[] nums;

  nums=new int[]{5,7,1,9,3,6,3,8};

  数组声明后,可以使用new int[]{}

  来赋值

 

4.数组的引用类型特征

  当一个数组通过=赋值给另一个数组时

  这两个数组是相同的引用

  会造成修改A数组同时影响B数组的情况

  为了避免这种情况要掌握数组

  复制的操作

 

5.数组复制

1)复制一个和数组完全相同或部分相同的新数组

2)数组复制的方法

  2.1)手动编写for循环复制数组

  2.2)System.arraycopy(1,2,3,4,5);

      1源数组

      2从源数组复制的起始位置

      3新数组

      4新数组起始位置

      5复制元素的个数

 

  2.3)Arrays.copyOf(1,2);

      1.源数组

      2.复制几个

      Arrays.copyOf()的特性导致

      在程序中

      需要数组扩容或缩容时

      优先使用该方法

 

6.数组排序

1)将数组中的元素按照顺序排列的操作

2)使用java提供的排序方法

  Arrays.sort(1);

  1.要排序的数组

  排序之后,数组中的元素

  会以升序方式排列

 

  如果想得到降序数组

  需要使用"逆序输出"

3)我们也可以自己编写代码来对数组进行排序

 

 

 

 

 

 

 

作业

1)有5个学生成绩分别为75,92,63,70,88

  将这5个成绩放入数组后遍历输出

        int[] nums={75,92,63,70,88};
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]);
        }
View Code

 

2)有5个商品价格分别为25.7 , 12.4 , 8.0 , 3.6 , 6.8

  将这个5个价格放入输出后遍历输出,并计算5个商品价格之和

        double total = 0;
        double[] prices = { 25.7, 12.4, 8.0, 3.6, 6.8 };
        for (int i = 0; i < prices.length; i++) {
            System.out.println(prices[i]);
            total += prices[i];
        }
        System.out.println("价格之和:" + total);
View Code

 

3)定义一个长度为8的数组, 输出这个数组中的最大值

        int[] nums = { 8, 7, 3, 9, 5, 4, 1, 6 };
        int max = nums[0];// 默认第一个最大
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] > max) {
                max = nums[i];
            }
        }
        System.out.println("最大值: " + max);
View Code

 

数组复制

1)int[] num={7,6,3,9,8,4,1,2};

  想通过数组复制,得到以下数组内容

  arr  :    {0,0,9,8,4,0,0};

        int[] nums= {7,6,3,9,8,4,1,2};
        
        //1.定义一个新数组,用于接收源数组的数据
         int[] arr=new int[nums.length-1];
                   //{0,0,0,0,0,0,0,0};
         
        //2.进行数组复制
         System.arraycopy(nums,3,arr,2,3);
         
        //3.输出
        for(int i=0;i) {
            System.out.print(arr[i] +" ");
        }
View Code

 

2)Arrays.copyOf():

  int[] nums={1,2,3,4,5,6};

  通过数组扩容, 得到以下数组

  arr:       {1,2,3,4,5,6,0,0,0}

        int[] nums = { 1, 2, 3, 4, 5, 6 };
        // 1.复制数组并赋给新的数组变量
        int[] arr = Arrays.copyOf(nums, nums.length + 3);
        // 2.输出数组数据
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
View Code

 

转载于:https://www.cnblogs.com/hxun/p/11544296.html

你可能感兴趣的:(day06数组、数组声明和赋值、数组复制、数组排序)