好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java深入浅出数组的定义与使用下篇

接着 上一篇 继续,老铁们

1.检查数组的有序性

给定一个整型数组, 判断是否该数组是有序的(升序)

 public static boolean isUp(int[] array){
      for (int i = 0; i <array.length-1 ; i++) {
          if(array[i]>array[i+1]){
              return false;
          }
      }
      return true;
  }

  public static void main(String[] args) {
      int[] array = {12,13,14,15,16,17,18};
      System.out.println(isUp(array));

  }
}

打印结果:

 

2.数组排序(冒泡排序)

public class TestDemo {
  public static void bubbleSort(int[] array){
      for (int i = 0; i <array.length-1 ; i++) {
          boolean flg = false;
          for (int j = 0; j <array.length-1-i ; j++) {
              if(array[j]>array[j+1]){
                  int tmp = array[j];
                  array[j] = array[j+1];
                  array[j+1]= tmp;
                  flg = true;
              }
          }
          if(flg = false){
              return;
          }

      }
  }
  public static void main(String[] args) {
      int[] array = {12,1,23,15,16,13,17};
      bubbleSort(array);
      System.out.println(Arrays.toString(array));


  }
}

打印结果:

Java对数组排序函数:

填充函数:

这个函数后面还能跟三个参数:

一般情况都是左闭右开的 [2,6)形式

 

3. 给定一个整型数组

将所有的偶数放在前半部分, 将所有的奇数放在数组后半部分

  public static void func(int[] array){
      int i = 0;
      int j = array.length - 1;
      while(i <j){
          while(i < j && array[i] % 2 == 0){
              i++;
          }
          while (i < j && array[j] % 2 != 0){
              j--;
          }
          int tmp = array[i];
          array[i] = array[j];
          array[j] = tmp;
      }
  }

  public static void main(String[] args) {
      int[] array = {1,4,3,6,8,5,9};
      func(array);
      System.out.println(Arrays.toString(array));
  }

打印结果:

 

4.数组的拷贝 

第一种:

把一个数组的值拷贝到另一个数组
public static int[] copyArray(int[] array){
      int[] copy = new int[array.length];
      for (int i = 0; i <array.length ; i++) {
          copy[i] = array[i];
      }
      return copy;
  }

  public static void main(String[] args) {
      int[] array = {1,4,6,3,8,9};
      int[] ret = copyArray(array);
      System.out.println(Arrays.toString(ret));


  }

打印结果:

第二种:

拷贝数组(本身)函数

 打印结果:

还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象

拷贝数组(一部分 )函数:

所有的Java里面的源代码from,to都是左闭右开区间的 

第三种:

 打印结果:

第四种拷贝:

 

5. 定义二维数组

二维数组的三种定义方法:

2行3列的二维数组 

 

6.打印二维数组

二维数组相当于一个特殊的一维数组

 第一种:

 第二种:

第三种:

打印结果:

Java二维数组的特殊化

第一种:

 打印结果:

第二种:

 分析原因:

第三种:

为什么Java数组的列号可以不写,因为我们可以手动指定

 这叫做不规则的二维数组

打印结果:

 

总结:

本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!

到此这篇关于Java深入浅出数组的定义与使用下篇的文章就介绍到这了,更多相关Java 数组内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://blog.csdn.net/m0_64397675/article/details/123298701

查看更多关于Java深入浅出数组的定义与使用下篇的详细内容...

  阅读:16次