Java的数组字面量量
字面量不太可能是任何可以分配给变量的常量值。
插图:
int x = 10;
// Here 10 is a literal.
现在让我们坚持数组字面量,就像原始和字符串字面量Java还允许我们使用数组字面量。 Java定义了特殊的语法,允许我们在程序中逐字初始化数组值。
方法:
创建数组字面量有两种不同的方法。
- 在创建数组对象时初始化数组元素。
- 使用匿名数组
方法一:在创建数组对象时初始化数组元素。它是最常用的语法,只能在声明数组类型的变量时使用。
句法:
int[] factorsOf24 = { 1, 2, 3, 4, 6, 12, 24 };
执行:
上面的语句创建了一个包含 7 个元素的int数据类型数组。在这里,我们:
- 在不使用new关键字的情况下创建了一个数组对象。
- 没有指定数组的类型。
- 没有明确指定数组对象的长度。
例子
Java
// Java Program to Illustrate Array Literals by
// Initialization of array elements
// at the time of creating array object
// Importing required classes
import java.io.*;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Initializing array elements at the time of
// creating an array object
int[] factorsOf24 = { 1, 2, 3, 4, 6, 12, 24 };
// Iterating using for each loop
for (int i : factorsOf24)
// Print the elements
System.out.print(i + " ");
}
}
Java
// Java Program to Illustrate Array Literals
// Using anonymous arrays
// Importing required classes
import java.io.*;
// Main class
public class GFG {
// Method 1
// To compute the volume
public static double computeVolume(int[] dimensions)
{
int l = dimensions[0];
int b = dimensions[1];
int h = dimensions[2];
// returning the volume
return (l * b * h);
}
// Method 2
// Main driver method
public static void main(String[] args)
{
// Passing an array object directly to a method
// without storing it in a variable
double volume
= computeVolume(new int[] { 3, 4, 5 });
// Print and display the volume
System.out.print(volume);
}
}
1 2 3 4 6 12 24
Note: There is a flaw in this method as this array literal syntax works only when you assign the array object to a variable. If you need to do something with an array value such as pass it to a method but are going to use the array only once. In this case, we can avoid assigning it to a variable, but this syntax won’t allow us to do so.
方法 2:我们有另一种语法允许我们使用匿名数组。匿名数组是未分配给任何变量的数组,因此它们没有名称)。
句法:
double volume = computeVolume(new int[] { 3, 4, 5 });
执行:
上面的语句使用匿名数组调用方法computeVolume 。在这里,我们:
- 没有将数组存储在任何变量中。
- 使用new关键字来创建数组对象。
- 显式指定数组的类型。
例子
Java
// Java Program to Illustrate Array Literals
// Using anonymous arrays
// Importing required classes
import java.io.*;
// Main class
public class GFG {
// Method 1
// To compute the volume
public static double computeVolume(int[] dimensions)
{
int l = dimensions[0];
int b = dimensions[1];
int h = dimensions[2];
// returning the volume
return (l * b * h);
}
// Method 2
// Main driver method
public static void main(String[] args)
{
// Passing an array object directly to a method
// without storing it in a variable
double volume
= computeVolume(new int[] { 3, 4, 5 });
// Print and display the volume
System.out.print(volume);
}
}
60.0