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 数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot shardingjdbc与druid数据源冲突问题及解决
这篇文章主要介绍了springboot shardingjdbc与druid数据源冲突问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
解决idea npm:无法将“npm”项识别为cmdlet、函数、脚本文件或可运行程序的名称问题
在IDEA中运行npm命令时出现无法识别的错误,通常是由于npm环境变量配置不正确引起,解决方法包括以管理员身份运行IDEA,确认node和npm是否正确安装及配置环境变量,需要在系统环境变量中添加node.js的安装路径,并设置npm的全局模块和缓存路径2024-10-10
springboot整合spring-data-redis遇到的坑
使用springboot整合redis,使用默认的序列化配置,然后使用redis-client去查询时查询不到相应的key.问题出在哪,怎么解决呢?下面小编给大家带来了springboot整合spring-data-redis遇到的坑,需要的的朋友参考下吧2017-04-04


最新评论