首页 > 编程语言 >Java数组

Java数组

时间:2024-10-03 10:00:35浏览次数:7  
标签:Java int System Arrays 数组 new array

数组

数组概述

  • 数组是相同类型数据的有序集合

数组声明创建

  • 首先必须声明数组变量,才能在程序中使用数组。

    dataType[] array //首选方法

    dataType array[]//效果相同,但不是首选方法

  • Java语言使用new操作符来创建数组

    dataType[] array=new dataType[arraySize];

  • 获取数组长度:array.length

    int[] nums;
    nums=new int[10];

    int[] nums=new int[10];

数组使用

  • 初始化:静态初始化int[] a=(1,2,3); 动态初始化int[] a=new int[2];a[0]=1;

数组默认初始化

  • 快捷输出数组:

    for (int array:arrrays){
    System.out.println(array);
    }

  • 反转数组

    public static int[] reverse(int[] arrays){
    int[] result=new int[array.length];
    for (int i=0,j=result.length-1;i<arrays.length;i++,j--){
    result[j]=arrays[i];
    }return result;
    }

多维数组

  • 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素是一个一维数组

  • 二维数组

    int a[][]=new int[2][3];
    int[][] a={{1,2},{2,3}};
    for(int i=0;i<arrays.length;i++){
    for(int j=0;j<arrays[i].length){
    System.out.println(arrays[i][j]);}
    }

Arrays类

  • 数组的工具类java.util.Arrays

  • 由于数组对象本身没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作

  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不能”使用对象来调用

  • 具有以下常用功能:

    • 给数组赋值:通过fill

    • 对数组排序:sort,按升序

    • 比较数组:equals方法比较数组中元素是否相等

    • 查找数组元素:binarySearch

    • 打印数组:toString

      Arrays.sort(a);//数组排序
      System.out.peintln(Arrays.toString(a));

      Arrays.fill(a,fromlndex:2,tolndex:4,val:0);
      System.out.println(Arrays.toString(a));

稀疏数组

因为二维数组有时很多值是默认值0,因此记录了很多没有意义的数据,所以用稀疏数组解决

//数组名.for可以快速输入
for (int[] ints:a){
    for(int anInt:ints){
    System.out.print(anInt+"/t");
}System.out.println();
}//输出数组

标签:Java,int,System,Arrays,数组,new,array
From: https://www.cnblogs.com/yu507/p/18445420

相关文章

  • 《Java 高级篇》八:新特性
    Author:ACatSmilingSince:2024-10-01Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。Lambda表达式......
  • 《Java 高级篇》六:I/O 流
    Author:ACatSmilingSince:2024-10-01字符编码字符集Charset:也叫编码表。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。编码表的由来:计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识别各个国家的文字。就将各个......
  • 《Java 高级篇》七:线程和线程池
    Author:ACatSmilingSince:2024-10-01程序、进程和线程程序(program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程——生......
  • Java多态性:面向对象编程的精髓
    目录1.什么是多态性?2.多态性的两种形式2.1 编译时多态(静态多态)2.2 运行时多态(动态多态)3.多态性的好处4.示例代码5.拓展知识5.1抽象类和接口5.2泛型5.3反射在软件开发的世界里,Java以其强大的面向对象编程(OOP)特性而闻名。今天,我们将深入探讨Java中的核心概......
  • 《Java 高级篇》四:反射
    Author:ACatSmilingSince:2024-10-01概述Reflection(反射)被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI获取任何类的内部信息,并能直接操作任意对象的内部属性及方法。动态语言:是一类在运行时可以改变其结构的语言。例如新的函数、对象、甚至代码可......
  • Java方法
    方法方法的定义和使用方法包含于类或对象中在程序中被创建,在其他地方被引用首字母小写和驼峰原则命名一个方法值完成一个功能,这样利于我们后期扩展返回值类型修饰符返回值类型方法名(参数类型参数名){方法体return返回值}若无返回值就使用voidpublicstat......
  • 总结28个令人惊艳的JavaScript单行代码
    1.阶乘计算使用递归函数计算给定数字的阶乘。12constfactorial=n=>n===0?1:n*factorial(n-1);console.log(factorial(5));//输出120 2.判断一个变量是否为对象类型1constisObject=variable===Object(variable);......
  • 代码随想录算法训练营day7|704.二分查找、27.移除元素、977.有序数组的平方
    学习资料:https://programmercarl.com/数组理论基础.html理解:双指针可以同时获取一个数组的两个位置的值二分查找:根据区间范围(左闭右闭、左闭右开)来判断左右指针比较方式刷题记录:704.二分查找(左闭右闭则<=,左右指针,middle=left+(right-left)//2,因为考虑了等号情况所以下一步l......
  • [Java基础]对象的生命周期
    java对象生命周期对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。创建阶段一个Java类(除Object类外)至少有一个父类(Object),这个规则既是强制的,也......
  • 代码随想录算法训练营第六天|242.有效的字母异位词 ● 349. 两个数组的交集 ● 202.
    ​学习链接:https://programmercarl.com/哈希表理论基础.html学习笔记:遇到“要判断一个值是否在集合中出现过”的问题时,可以考虑hash表。hash表的形式包括数组、set、dict。当数的位数比较统一、或比较小,可用数组,快;当数的位数可变,可用set;当要同时考虑数的下标和值,可以用dict。......