admin 管理员组

文章数量: 887053


2024年1月11日发(作者:iview vuedraggable)

Java中的数组基础知识整理

Java中的数组基础知识整理

通常情况下,当我们处理数字时,使用原始数据类型,如 byte,int,long,double 等。

示例

int i = 5000;float gpa = 13.65;byte mask = 0xaf;

然而,在开发中,我们会遇到需要使用对象而不是原始数据类型的情况。为了实现这个, Java 为每个原始数据类型提供包装类。

所有的包装类 Integer, Long, Byte, Double, Float, Short 是抽象类

Number 的子类。

这种包装是由编译器处理,这个过程称为装箱。因此,当一个原始数据类型被使用,当需要一个对象时,编译器将原始数据放入其包装类。同样地,编译器也能将对象取出返回到原始数据类型。Number 是

包的一部分。

这里是装箱和拆箱的一个例子:

public class Test public static void mainString args[] Integer x = 5; //

boxes int to an Integer object x = x + 10; // unboxes the Integer to a int

nx;

这将产生以下结果:

复制代码 代码如下:15

当 x 被分配整数值,则编译器将整数放入箱中,因为 x 为整数对象。然后,x 被拆箱,以便它们可以被添加为整数。

Number 方法

以下是对 Number 类实现的所有子类中实现的实例方法的列表:

1 __Value

SN方法描述

这个Number对象的值转换为__的数据类型并返回 2 pareTo

把这个Number对象与参数做比较 3 equals

确定这个数字对象是否等于参数 4 valueOf

返回一个Integer对象持有指定的原始值 5 toString

返回表示指定的int或整数的值的String对象 6 parseInt

此方法用于获取某个字符串的原始数据类型 7 abs

返回参数的绝对值 8 ceil

返回的最小整数大于或等于该参数。返回为double 9 floor

返回的最大整数小于或等于该参数。返回为double 10 rint

返回的整数,它是最接近值该参数值。返回为double 11 round

返回最接近的long或者int,通过该方法的返回类型所指参数 12

min

返回两个参数中较小的 13 max

返回两个参数中较大的 14 exp

返回自然对数的底数e,该参数的幂值 15 log

返回参数的自然对数 16 pow

返回第一个参数的提高至第二个参数的幂值 17 sqrt

返回参数的平方根 18 sin

返回指定的double值的正弦值 19 cos

返回指定的double值的余弦值 20 tan

返回指定的double值的正切值 21 asin

返回指定的double值的反正弦 22 acos

返回指定的double值的反余弦值 23 atan

返回指定的double值的反正切值 24 atan2

将直角坐标x,y转换为极坐标r,θ并返回θ 25 toDegrees

将参数转换为度 26 toRadians

将参数转换为弧度 27 random

返回一个随机数

数组

Java 提供了一个数据结构:数组,用于存储相同类型的元素的一个固定大小的连续集合。数组是用于存储数据的集合,但往往将数组认为是相同类型的变量的集合。

跟声明单个变量相反,如 number0, number1, . number99, 声明一个数组变量,如数字和使用 numbers, numbers ..., numbers 来表示各个变量。

此次教程将介绍如何使用索引变量声明数组变量,创建数组,并处理数组。

声明数组变量

要使用一个程序的数组,必须声明一个变量来引用数组,必须指定数组的变量可以引用的类型。下面是来声明一个数组变量的语法:

dataType[] arrayRefVar; // preferred way.

or

dataType arrayRefVar[]; // works but not preferred way.

注 风格 dataType[] arrayRefVar 是首选的。风格 dataType

arrayRefVar[] 来自于 C/C++ 语言, 方便Java 继承 C/C++ 的编程风格。

示例

下面的代码片段是这种语法的例子:

double[] myList; // preferred way.

or

double myList[]; // works but not preferred way.

创建数组

可以通过使用 new 运算符使用以下语法创建一个数组:

arrayRefVar = new dataType[arraySize];

上面的语句做了两件事:

它创建了一个使用 new dataType[arraySize] 的数组; 它将新创建的数组引用分配给变量 arrayRefVar。

声明数组变量,建立一个数组,并分配给变量数组引用可以在一个语句中组合使用,如下所示:

dataType[] arrayRefVar = new dataType[arraySize];

另外,可以创建数组,如下所示:

dataType[] arrayRefVar = value0, value1, ..., valuek;

数组元素通过索引访问。数组的下标是从0开始的,也就是说,它们从0开始到 -1。

示例

下面的语句声明一个数组变量 myList,创建 double 类型的10个元素的数组,并把它的'引用分配到 myList :

double[] myList = new double;

以下图片代表数组 myList。在这里,myList 有10个 double 值,索引是从0到9。

处理数组

当处理数组元素时,经常使用的是 loop 循环或 foreach 循环,因为一个数组中所有的元素是相同类型的并且数组的大小是已知的。

示例

下面是一个演示如何创建,初始化和处理数组的完整例子:

public class TestArray public static void mainString[] args double[]

myList = 1.9, 2.9, 3.4, 3.5; // Print all the array elements for int i = 0; i

; i++ nmyList[i] + “ "; // Summing all

elements double total = 0; for int i = 0; i ; i++ total +=

myList[i]; n"Total is " + total; // Finding the largest

element double max = myList; for int i = 1; i ; i++ if myList[i]

max max = myList[i]; n"Max is " + max;

这将产生以下结果:

1.92.93.43.5Total is 11.7Max is 3.5

foreach 循环

JDK 1.5 引入了一个新的 for 循环被称为 foreach 循环或增强的 for

循环,它无需使用一个索引变量来完整的遍历数组。

示例

下面的代码显示数组 myList 中的所有元素:

public class TestArray public static void mainString[] args double[]

myList = 1.9, 2.9, 3.4, 3.5; // Print all the array elements for double

element: myList nelement;

这将产生以下结果:

1.92.93.43.5

将数组传递给方法

正如传递基本类型值的方法,也可以将数组传递给方法。例如,下面的方法显示在一个 int 数组中的元素:

public static void printArrayint[] array for int i = 0; i ; i++

rray[i] + " ";

你可以通过传递数组调用它。例如,下面的语句调用方法 PrintArray

显示3,1,2,6,4,2:

printArraynew int[]3, 1, 2, 6, 4, 2;

从一个方法返回一个数组

一个方法也可以返回一个数组。例如,下面所示的方法返回一个数组,它是另一个数组的反转:

public static int[] reverseint[] list int[] result = new int[]; for

int i = 0, j = - 1; i ; i++, j__ result[j] = list[i]; return

result;

Arrays 类

中的类包含各种静态方法用于排序和搜索数组、数组的比较和填充数组元素。这些方法为所有基本类型所重载。

1 public static int binarySearch Object[] a, Object key

SN方法和描述

使用二进制搜索算法搜索对象的指定数组(字节,整数,双精度等)来指定值。该数组必须在进行此调用之前进行分类。如果它被包含在列表

-ion point + 1, 将返回索引搜索关键字。 2 public static boolean equals

long[] a, long[] a2

如果多头的两个指定数组彼此相等返回true。两个数组认为是相等判定方法:如果两个数组包含相同的元素数目,并在两个数组元素的所有相应对相等。如果两个数组相等,返回true。同样的方法可以用于所有其它的原始数据类型 Byte, short, Int, etc. 3 public static void fillint[] a, int val

将指定的int值到指定的int型数组中的每个元素。同样的方法可以用于所有其它的原始数据类型Byte, short, Int etc. 4 public static void

sortObject[] a

将对象指定的数组升序排列,根据其元素的自然顺序。同样的方法可

以用于所有其它的原始数据类型 Byte, short, Int, etc.


本文标签: 数组 返回 变量 方法 类型