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
0
投稿
猜你喜欢
- 一、工具类代码public class TaskHelper {#region 多线程操作 &nbs
- Java实现按行读取大文件String file = "F:" + File.separator + "a.t
- 在servlet中,转发和重定向是由request和response完成的。两者之间的区别请看我之前的文章。那么在springMVC中是如何
- 概述:App几乎都离不开与服务器的交互,本文主要讲解了flutter网络请求三种方式 flutter自带的HttpClient、 第三方库h
- 1 简介项目越做越发觉得,任何一个系统上线,运维监控都太重要了。关于Springboot微服务的监控,之前写过【Springboot】用Sp
- 本文实例讲述了C#设计模式之Facade外观模式解决天河城购物问题。分享给大家供大家参考,具体如下:一、理论定义外观模式 &nbs
- 使用datatables自带后台查询 前台代码:<!DOCTYPE html><html><head>&
- 在一些电子商务网站上经常能够看到一些滚动的广告条,许多软件在首次使用时也有类似的广告条,如图:其实在github上有实现这种效果的控件,不过
- Android 应用坐标系详解:
- 大多数浏览器会对同一域名的请求限制请求数量,一般是在8个以内。每次最多可以同时请求8个,要是资源多于8个,那么剩下的就要排队等待请求了。所以
- 概述在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法。示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页、下页、上
- 本文实例为大家分享了C#实现简单点餐系统的具体代码,供大家参考,具体内容如下实现简单点餐系统剖析1、设计界面(给菜品的序号(index),名
- 在 Nacos 中,服务调用主要是通过 RestTemplate + Ribbon 实现的,RestTemplate 是 Spring 提供
- 具体解释请仔细看注释里已经讲解的很细致了,这里就不多废话了using UnityEngine;using System.Collection
- 本文实例为大家分享了SpringBoot整合BCrypt实现密码加密的具体代码,供大家参考,具体内容如下一. 首先在pom依赖中加入依赖:&
- 用Android studio做一个简易计算器,供大家参考,具体内容如下长话短说,先建立一个Android项目;创建完成后打开activit
- 本文实例讲述了C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法。分享给大家供大家参考,具体如下:Windo
- 初看 cgaolei 翻译的 Java技巧之双括弧初始化 一文,走马观花,只知用法,未细看后面的解释。蔚为惊艳,心里想 Java 竟然有这么
- FileInputStream流的三种read()函数对比首先我们先创建FileIputStream流对文件进行读取public stati
- 本文实例为大家分享了java WebSocket实现聊天消息推送功能的具体代码,供大家参考,具体内容如下环境:JDK.1.7.0_51apa