Java深入浅出数组的定义与使用下篇
作者:K媾? 时间:2022-12-04 10:27:38
接着上一篇继续,老铁们
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数组的列号可以不写,因为我们可以手动指定
这叫做不规则的二维数组
打印结果:
总结:
本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
来源:https://blog.csdn.net/m0_64397675/article/details/123298701
标签:Java 数组,定义
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android 滑动小圆点ViewPager的两种设置方法详解流程
2023-08-05 03:18:58
![](https://img.aspxhome.com/file/2023/8/138578_0s.jpg)
java8新特性-lambda表达式入门学习心得
2021-09-26 17:14:33
![](https://img.aspxhome.com/file/2023/9/76489_0s.jpg)
解决IDEA克隆代码后在右下角没有git分支的问题
2021-11-23 09:43:19
![](https://img.aspxhome.com/file/2023/2/63112_0s.jpg)
RecyclerView实现侧滑拖拽功能
2023-03-10 16:09:50
Mybatis-plus多数据源配置的两种方式总结
2023-07-24 05:22:48
![](https://img.aspxhome.com/file/2023/3/57613_0s.png)
Java实现接口的枚举类示例
2023-06-18 01:22:04
MyBatis分页插件PageHelper的使用与原理
2021-06-15 09:24:35
![](https://img.aspxhome.com/file/2023/5/101985_0s.png)
WPF使用DrawingContext实现二维绘图
2021-06-08 15:04:27
Android 实现调用系统照相机拍照和录像的功能
2021-12-05 10:58:51
SpringMVC请求数据详解讲解
2021-09-13 08:56:56
Unity 如何通过反射给gameObject添加组件
2022-06-14 20:58:34
Opencv EigenFace人脸识别算法详解
2023-07-21 19:30:17
![](https://img.aspxhome.com/file/2023/5/101075_0s.png)
Java IO流—异常及捕获异常处理 try…catch…finally
2023-03-14 07:35:52
![](https://img.aspxhome.com/file/2023/1/62401_0s.png)
详解Android 中的文件存储
2023-12-21 17:44:44
Java集合框架Collections原理及用法实例
2021-12-04 18:10:20
WCF如何使用动态代理精简代码架构
2023-09-17 16:25:42
Android获取热点主机ip和连接热点手机ip的代码
2021-07-07 06:14:32
Java中break、continue、return在for循环中的使用
2023-03-21 23:36:05
快速了解Java中NIO核心组件
2023-01-01 12:21:13
![](https://img.aspxhome.com/file/2023/8/91538_0s.jpg)
apllo开源分布式配置中心详解
2022-01-25 22:39:01