Java深入浅出数组的定义与使用下篇
作者:K媾? 发布时间:2022-12-04 10:27:38
标签: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数组的列号可以不写,因为我们可以手动指定
这叫做不规则的二维数组
打印结果:
总结:
本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
来源:https://blog.csdn.net/m0_64397675/article/details/123298701


猜你喜欢
- 首先安装consul环境,参照之前的文章:https://www.jb51.net/article/141789.htm项目规划,2个服务端
- 本文实例讲述了Java模拟死锁发生之演绎哲学家进餐问题。分享给大家供大家参考,具体如下:一 点睛常见的死锁形式:当线程1已经占据资源R1,并
- JPA是什么? JPA(Java Persistence API)是Sun官方提出的Java持久化规范. 为Java开发人员提供了一种对象/
- 项目中看到了有埋点监控、报表、日志分析,有点兴趣想慢慢捣鼓一下1. 数据埋点监控机器环境的性能和业务流程或逻辑等各项数据,并根据这些数据生成
- 反射实例化类public class Person{ public string Name { get; set; }publi
- package com.test; import java.io.FileNotFoundException;&nbs
- 准备工具:IDEAjdk1.8Navicat for MySQLPostman一、新建Project选择依赖:mybatis Web Mys
- 前言上周末我们一起分析了ArrayList的源码并进行了一些总结,因为最近在看Collection这一块的东西,下面的图也是大致的总结了Co
- 一、淘宝商品详情页效果我们的效果二、实现思路 使用两个scrollView,两个scroll
- 二叉树是一种非常重要的数据结构。本文总结了二叉树的常见操作:二叉树的构建,查找,删除,二叉树的遍历(包括前序遍历、中序遍历、后序遍历、层次遍
- 下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。某公司高级面试题(20
- 我们知道 Spring Boot 已经提供了一套默认的异常处理机制,但是 Spring Boot 提供的默认异常处理机制却并不一定适合我们实
- 前言解释:之前用的ScreenToGif录屏,因为上传的.gif最大不超过5MB,所以做了不少删帧和色彩弱化等处理,这才导致色彩看上去不是很
- Java多线程深入理解本文主要从三个方面了解和掌握多线程:1. 多线程的实现方式,通过继承Thread类和通过实现Runnable接口的方式
- 本文实例为大家分享了Android开发实现抽屉菜单的具体代码,供大家参考,具体内容如下实现效果点击菜单图表即可进入抽屉代码实现1、打开app
- java 请求跨域问题解决方法实例详解新建Util类,在Util中添加下面方法: /* * response请求跨域公共设置
- 对象的读写使用ObjectInputStream和ObjectOutputStream读写对象(序列化与反序列化)。只有字节流没有字符流.类
- 我们还是用一个小例子来看看自定义View和自定义属性的使用,带大家来自己定义一个带进度的圆形进度条,我们还是先看一下效果吧从上面可以看出,我
- 1.引言在开发过程中,我们经常会遇到需要显示或隐藏View视图的情况,如果在隐藏或显示View的过程中加上动画,能让交互更加的友好和动感,本
- 这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.背景自适应且不失真问题的存在制作自适应背景图