Java中的数组是一种用于存储相同数据类型的元素的数据结构。
Java中声明数组的方式为dataType[] arrayName或者为dataType arrayName[]。
int[] nums;
double scores[];
这里只是声明了一个数组,既没有为数组指定大小,也没有为数组填充数据,也就是说此时数组在计算机中并没有开辟内存空间,想要为数组分配存储空间,必须对其进行初始化。
Java中的数组可以使用不同的方式进行初始化,包括动态初始化和静态初始化。
// 动态初始化一个包含3个整数的数组
int[] numbers = new int[3];
int[] numbers = {1, 2, 3};
int value = numbers[2]; //答案是3
numbers[0] = 100; //修改元素
int length = numbers.length; //长度
数组的长度是固定的,但是我们往往并不知道一组数据的大小,这个时候直接使用数组并不太满足需求,可以考虑使用ArrayList。
在Java中,ArrayList 是 java.util 包中的一个类,可以在运行时对其动态添加和删除元素以满足我们的操作需要。
import java.util.ArrayList;
ArrayList<Integer> nums = new ArrayList<Integer>();
//添加元素
nums.add(10);
nums.add(100);
//获取第一个元素
int firstNumber = nums.get(0);
//删除第二个元素
nums.remove(1);
//获取 ArrayList 的大小
int size = nums.size();
for (elementType element : collection) {
// 在此处处理 element
}
for (String name : names) {
System.out.println(name);
}
这是不行的,因为System.out.println(nums);
,直接输出一个数组是不可以的,会得到[I@677327b6
。
import java.util.Scanner;
import java.util.ArrayList;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] nums = new int[n];
int i = n;
ArrayList<Integer> nums1 = new ArrayList<Integer>();
while(i-->0){
nums[i] = sc.nextInt();
System.out.println(nums[i]);
if(i%2==0){
nums1.add(nums[i]);
}
}
System.out.println(nums);
System.out.println(nums1);
sc.close();
}
}
import java.util.Scanner;
import java.util.ArrayList;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Integer> nums = new ArrayList<Integer>();
while(sc.hasNextInt()){
nums.add(sc.nextInt());
}
for(int i=n-1; i>=0; i--){
System.out.print(nums.get(i));
System.out.print(' ');
}
System.out.println();
for(int i=0; i<n; i+=2){
System.out.print(nums.get(i));
System.out.print(' ');
}
sc.close();
}
}