Java 程序将所有数据作为对象数组访问

javaobject oriented programmingprogramming

数组是一种线性数据结构,用于存储具有相似数据类型的元素组。我们可以创建一个具有原始数据类型的数组,并且由于类被视为用户定义的数据类型,因此也可以创建对象数组。

在本文中,我们将讨论对象数组,并将创建 Java 程序将所有数据作为对象数组访问。

对象数组或对象数组

对象数组实际上包含对象的引用变量,即存储在对象数组中的元素是引用类型。我们遵循相同的语法来创建原始数组和对象数组。但是,在对象数组的情况下,我们使用类名而不是原始数据类型。

原始数组的语法

Data_Type[] nameOfarray;
// 声明
或者,
Data_Type nameOfarray[];
// 声明
或者,
// 带大小的声明
Data_Type nameOfarray[] = new Data_Type[sizeofarray];
// 声明和初始化
Data_Type nameOfarray[] = {用逗号分隔的值};

实例

String[] item = new String[5];

在上面的例子中,我们创建了一个可以存储 5 个字符串元素的字符串数组。

对象数组的语法

Class_name objectArray[];
// 声明
或者,
// 声明和实例化
Class_name objectArray[] = new Class_name[sizeofarray];

实例

Cart[ ] obj = new Cart[5];

在上面的例子中,我们创建了一个对象数组,可以存储 5 个 Cart 类的对象。我们使用类名而不是原始数据类型。

请记住,当我们声明和初始化对象数组时,它不会自动为元素创建对象,而是我们需要为每个元素单独创建对象。

在实例化对象数组后,我们需要用值初始化数组的元素。在这种情况下,对象就是元素。传递值的一种方法是使用类的构造函数,或者我们可以创建多个对象,然后将它们传递给另一个对象数组。

语法

arrayObject_name[index] = new 构造函数_name( values );
或者,
arrayObject_name[index] = object_name;

我们将在下一节中看到示例。

Java 程序以对象数组的形式访问所有数据

示例 1

在下面的示例中,我们将创建一个对象数组并使用构造函数用值初始化它。

class Cart {
   String item;
   double price;
   Cart(String item, int price) { 
      // 构造函数
      this.item = item;
      this.price = price;
   }
}
public class Main {
   public static void main(String[] args) {
      Cart[ ] obj = new Cart[5]; 
      // 创建对象数组
      // 将值传递给数组对象
      obj[0] = new Cart("Rice", 59); 
      obj[1] = new Cart("Milk", 60);
      obj[2] = new Cart("Bread", 45);
      obj[3] = new Cart("Peanut", 230);
      obj[4] = new Cart("Butter", 55);
      System.out.println("Accessing data as Object Array: ");
      int i = 0; 
      // 循环变量的初始化
      while(i < obj.length) {  
         // 迭代数组对象
         System.out.println("Item: " +obj[i].item + ", " + "Price: " +obj[i].price);
         // to print the values
         i++; 
         // 增加循环变量
      }
   }
}

输出

Accessing data as Object Array: 
Item: Rice, Price: 59.0
Item: Milk, Price: 60.0
Item: Bread, Price: 45.0
Item: Peanut, Price: 230.0
Item: Butter, Price: 55.0

在上面的例子中,我们创建了类"Cart"及其构造函数"Cart",该构造函数接受两个参数"item"和"price"。在主方法中,我们创建了类"Cart"的大小为 5 的对象"obj"数组。通过使用构造函数"Cart",数组元素被初始化。我们使用 while 循环来打印值。

示例 2

以下示例说明了以对象数组形式访问数据的另一种方法。

class Cart {
   String item;
   double price;
}
public class Arrayobj {
   public static void main(String []args) {
    // 初始化变量的值
    Cart c1 = new Cart();
    // 对象 1
    c1.item = "Rice";
    c1.price = 59;
    Cart c2 = new Cart();
    // 对象 2
    c2.item = "Milk";
    c2.price = 60;
    Cart c3 = new Cart();
    // 对象 3
    c3.item = "Bread";
    c3.price = 45;
    Cart obj[] = new Cart[3];
    // 对象数组
    // 将对象传递给对象数组
    obj[0] = c1;
    obj[1] = c2;
    obj[2] = c3;
    for(int i = 0; i < obj.length ; i++ ) {
    System.out.println("Item: " +obj[i].item + ", " + "Price: " +obj[i].price);
    }
   }
}

输出

Item: Rice, Price: 59.0
Item: Milk, Price: 60.0
Item: Bread, Price: 45.0

在上面的例子中,我们创建了类"Cart"及其三个对象"c1"、"c2"、"c3"。我们还创建了类"Cart"的大小为 3 的对象"obj"数组。通过使用对象,数组的元素被初始化。我们使用 for 循环来打印值。

结论

在本文中,我们了解了原始数组和对象数组之间的相似之处和不同之处。借助两个 Java 程序,我们讨论了如何以对象数组的形式访问数据。


相关文章