数组作为函数的参数
数组作为函数的返回值

class A{public static int[] backarr(int[] arr){int[] resultarr = new int[arr.length];for (int i = 0,j=resultarr.length-1; i < arr.length; i++,j--) {resultarr[j] = arr[i];}return resultarr;}
}
public class TestArr2{  public static void main(String[] args){int[] arr = {1,2,3,4,5,6,7,8,9};for(int i:arr){System.out.print(i + " ");}System.out.println(" ");arr = A.backarr(arr);for (int i : arr) {System.out.print(i + " ");}}
}
输出结果:
1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1
arr数组既作为参数 又作为返回值!!!

多维数组

String str[][] =new String[3][4];理解:3行4列的矩阵
1.多维数组的初始化 格式:
type arrayName = new type[arraylength1][arraylength2];
int arr[][] =new int[3][4];
2.从最高维开始分别为每一维分配内存

Sting str[][] = new String[2[];声明二维数组str:两行 列数待定
arr[0] = new String[2];确定第一行含有2个元素
arr[1] = new String[3];确定第二行含有3个元素
数组结构 = {{"E1", "E2"}, {"E1", "E2", "E3"}}

Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的
1.给数组赋值 通过file方法
2.对数组排序 通过sort 方法 按升序
3.比较数组 通过equals 方法比较数组中元素值是否相等
4.查找数组元素 通过binarySearch 方法能对排序好的数组进行二分查找法操作

方法 说明
public static void fill(int[] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。
public static void sort(Object[] a) 对指定对象数组根据其元素的自然顺序进行升序排列
public static boolean equals(long[] a, long[] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。
public static int binarySearch(Object[] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象
import java.util.Arrays;public class TestArr2 {public static void output(int[] array) {if (array != null) {for (int i = 0; i < array.length; i++) {System.out.print(array[i] + " ");}}System.out.println();}public static void main(String[] args) {int[] arr = new int[5];Arrays.fill(arr, 5);//填充数组    TestArr2.output(arr);Arrays.fill(arr, 2, 4, 8);// 将数组的第2和第3个元素赋值为8TestArr2.output(arr);int[] arr1 = { 7, 8, 3, 2, 9, 6, 1, 5, 4 };       Arrays.sort(arr1, 2, 7);// 对数组的第2个到第6个进行排序进行排序TestArr2.output(arr1);Arrays.sort(arr1);// 对整个数组进行排序TestArr2.output(arr1);System.out.println(Arrays.equals(arr, arr1));// 比较数组元素是否相等int[] arr2 = arr1.clone();//克隆System.out.println(Arrays.equals(arr1, arr2));Arrays.sort(arr1);// 必须先排序好,否则会报错System.out.println(Arrays.binarySearch(arr1, 3));//二分搜索算法查找指定元素3所在的下标System.out.println(Arrays.binarySearch(arr1, 10));// 如果不存在就返回负数}
}
输出结果:
5 5 5 5 5
5 5 8 8 5
7 8 1 2 3 6 9 5 4
1 2 3 4 5 6 7 8 9
false
true
2
-10

转载于:https://blog.51cto.com/12431776/2060684

整理Java基础知识--数组2相关推荐

  1. java 基础知识-数组的7种算法(排序、求和、最值、遍历...)

    遍历 遍历就是把这个数组的每个元素 显示出来 遍历的方法就是先定义这个数组的大小,然后用FOR循环来完成数组,例如 double[] score = new double[5];Scanner inp ...

  2. 整理Java基础知识--输出格式知识

    输出数据的格式控制 输出控制符 针对的数据类型 %d int,long int,short,byte %x,%#x,%X,%#X int,long int %c char %f float,doubl ...

  3. 整理Java基础知识--NumberMath类

    Java Number 内置数据类型:byte int long short double 等 int i = 10: float i = 10.5f; 实际开发中,经常遇到使用对象,而不是内置数据类 ...

  4. 整理Java基础知识--Date Time2

    日期转换符的用法 import java.util.*; public class DateDemo{public static void main(String[] args){ Date date ...

  5. 【转】Java基础知识整理

    本博文内容参考相关博客以及<Java编程思想>整理而成,如有侵权,请联系博主. 转载请注明出处:http://www.cnblogs.com/BYRans/ PDF版下载链接:<Ja ...

  6. Java基础知识(五) 字符串与数组

    Java基础知识 字符串与数组 1. 字符串的创建与存储的机制是什么 2. "==".equals和hashCode有什么区别 3. String.StringBuffer.Str ...

  7. Java基础知识与集合部分面试题整理

    JAVA基础知识 一.JDK与JRE 1.JDK和JRE的区别 可从面向对象.主要作用和组成部分三方面对比.如下图所示: 2.JDK – Java Development Kit 1). 主要面向开发 ...

  8. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  9. 2022全新Java基础知识整理,阿里大牛纯手绘思维导图文档

    最近趁着年初空闲的时间,总结一下自己这么多年来使用Java的一些心得体会,主要是一些Java基础知识点相关的, 分享给刚刚入门的Java程序员和需要巩固Java基础的朋友们,希望可以给大家一些经验,能 ...

  10. 【java json基础】字符串转json json转字符串 json数组转换 【java基础知识】【实用】【一看就会】

    原文:[java json基础]字符串转json json转字符串 json数组转换 [java基础知识][实用][一看就会] 读书就是:从薄读厚,再从厚读薄的过程. 文比较长,各讲述如下: 若是新手 ...

最新文章

  1. Windows 脚本系列之四—映射网络盘脚本
  2. Codeforces Round #555 (Div. 3) AB
  3. private用法 java_关于android开发中如何正确使用Private Services安全用法及代码示例...
  4. python3.7使用pip install xxxx报错:UnicodeDecodeError: 'gbk' codec can't decode byte
  5. sql server browser启动不了_机器人、无人机惊艳亮相!内江市2020年“119”消防宣传月活动正式启动...
  6. 编译器原理笔录(2)-符号表示法的形式化
  7. ora-01034 / ORA-27101 错误.
  8. 欢乐纪中某B组赛【2019.1.24】
  9. h264的码率控制 JVT-G012
  10. C++学习笔记—srand()和rand()
  11. 视频预训练界的HERO!微软提出视频-语言全表示预训练模型HERO,代码已开源!...
  12. Atitit sumdoc everything index tech and index log 目录 1. 使用的tech 1 1.1. Atitit 日志记录的三个trace跟踪等级文件夹级
  13. java 开发ocx控件_Java调用ocx控件以及dll
  14. matplotlib的imshow函数显示灰度图像要设置vmin和vmax2个参数
  15. 【小程序】自定义组件设置样式失效使用外部样式类解决
  16. 【干货】电商知识图谱构建及搜索推荐场景下的应用.pdf(附下载链接)
  17. 用计算机做路由器,用笔记本做无线路由(笔记本电脑当无线路由器用怎么设置)...
  18. Python校园网定时自动登录-锐捷
  19. 金蝶K3案例教程销售管理前台操作
  20. windows edge页面显示status_stack_buffer_overrun的解决

热门文章

  1. 手把手图文并茂教你发布Android开源库
  2. python文件处理——文件读写
  3. 局域网用与管理计算机,计算机局域网的组建与管理.pdf
  4. ceph 存储 对比_对象存储cleversafe对比ceph有哪些优势?
  5. 刀塔霸业android如何更新_战斗麻将!V社自走棋《刀塔霸业》APP端上线了
  6. python实现多智能体一致性_多智能体深度学习算法MADDPG的PARL实践
  7. 订单编号的数据类型是什么_电商仓储是如何进行发货的?拣货的原则是什么?...
  8. Python让繁琐工作自动化——chapter7 模式匹配与正则表达式
  9. Python让繁琐工作自动化——chapter16 发送电子邮件和短信
  10. 实现一个本地的json访问地址优化版本--python