Java中的数组基础知识学习教程
数字 通常情况下,当我们处理数字时,使用原始数据类型,如 byte,int,long,double 等。 示例 int i = 5000; float gpa = 13.65; byte mask = 0xaf; 然而,在开发中,我们会遇到需要使用对象而不是原始数据类型的情况。为了实现这个, Java 为每个原始数据类型提供包装类。 所有的包装类 (Integer,Long,Byte,Double,Float,Short) 是抽象类 Number 的子类。 这种包装是由编译器处理,这个过程称为装箱。因此,当一个原始数据类型被使用,当需要一个对象时,编译器将原始数据放入其包装类。同样地,编译器也能将对象取出返回到原始数据类型。Number 是 java.lang 包的一部分。 这里是装箱和拆箱的一个例子: public class Test{ public static void main(String args[]){ Integer x = 5; // boxes int to an Integer object x = x + 10; // unboxes the Integer to a int System.out.println(x); } } 这将产生以下结果: 复制代码 代码如下: 15 当 x 被分配整数值,则编译器将整数放入箱中,因为 x 为整数对象。然后,x 被拆箱,以便它们可以被添加为整数。 Number 方法
跟声明单个变量相反,如 number0,number1,... number99,声明一个数组变量,如数字和使用 numbers[0],numbers[1] ...,numbers[99] 来表示各个变量。 此次教程将介绍如何使用索引变量声明数组变量,创建数组,并处理数组。 声明数组变量 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. 创建数组 arrayRefVar = new dataType[arraySize]; 上面的语句做了两件事:
声明数组变量,建立一个数组,并分配给变量数组引用可以在一个语句中组合使用,如下所示: dataType[] arrayRefVar = new dataType[arraySize]; 另外,可以创建数组,如下所示: dataType[] arrayRefVar = {value0,value1,...,valuek}; 数组元素通过索引访问。数组的下标是从0开始的,也就是说,它们从0开始到 arrayRefVar.length-1。 示例 下面的语句声明一个数组变量 myList,创建 double 类型的10个元素的数组,并把它的引用分配到 myList : double[] myList = new double[10]; 以下图片代表数组 myList。在这里,myList 有10个 double 值,索引是从0到9。 处理数组 示例 下面是一个演示如何创建,初始化和处理数组的完整例子: public class TestArray { public static void main(String[] args) { double[] myList = {1.9,2.9,3.4,3.5}; // Print all the array elements for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); } // Summing all elements double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.println("Total is " + total); // Finding the largest element double max = myList[0]; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) max = myList[i]; } System.out.println("Max is " + max); } } 这将产生以下结果: 1.9 2.9 3.4 3.5 Total is 11.7 Max is 3.5 foreach 循环 示例 下面的代码显示数组 myList 中的所有元素: public class TestArray { public static void main(String[] args) { double[] myList = {1.9,3.5}; // Print all the array elements for (double element: myList) { System.out.println(element); } } } 这将产生以下结果: 1.9 2.9 3.4 3.5 将数组传递给方法 public static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } } 你可以通过传递数组调用它。例如,下面的语句调用方法 PrintArray 显示3,1,2,6,4,2: printArray(new int[]{3,1,2,6,4,2}); 从一个方法返回一个数组 public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i = 0,j = result.length - 1; i < list.length; i++,j--) { result[j] = list[i]; } return result; } Arrays 类
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |