Java 数组
K媾 人气:01.检查数组的有序性
给定一个整型数组, 判断是否该数组是有序的(升序)
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数组的列号可以不写,因为我们可以手动指定
这叫做不规则的二维数组
打印结果:
总结:
本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
加载全部内容