import java.util.*;
public class A {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[][] nums = new int[3][4];
for(int i=0;i<nums.length;i++){
for (int j=0;j<nums[i].length;j++){
nums[i][j]= input.nextInt();
}
}
for(int i=0;i<nums.length;i++){
for (int j=0;j<nums[i].length;j++){
System.out.print(nums[i][j]+"\t");
}
System.out.println();
}
}
}
以上就是利用循环以及Sacnner 为二维数组的每个元素手动赋值全部过程了,首先第一行
import java.util.*;
这行代码的作用简单来说就是就是导入Java内置的一些小工具,来支持我们能够正常的使用Scanner语句,手动的输入一些数据。
像这样的小工具,我们一般称之为包,要想使用这些包,我们需要通过import关键字进行导入,这个过程我们称之为导包,后面篇章里,我将会和大家一起来更加深入的了解包的特点,现在我们只要知道有这么回事儿就行了。
public class A {
public static void main(String[] args) {
然后我们创建了A类以及主方法,这里我们就不再详细展开了
Scanner input = new Scanner(System.in);
再接下来,我们通过这行代码,创建了一个名为input的Scanner工具,合理的使用input,我们就能够手动的为每个元素赋值了
int[][] nums = new int[3][4];
接下来,我们创建了一个3×4的二维数字,nums中现在又三个元素,每个元素都存着一个长度为4的数组,因此,nums[ ][ ]一共能存储12个int类型的数据。
for(int i=0;i<nums.length;i++){
for (int j=0;j<nums[i].length;j++){
nums[i][j]= input.nextInt();
}
}
现在,我们正式开始为每个元素赋值了,我们定义了两层for循环,外层i的初值为零,等于nums的长度时停止,nums中存储着3个数组,因此nums.length的值为3,i的值依次为0,1,2,分别为3个数组的下标
当i=0时,第一次循环开始,此时j的初值也为0,但循环终止条件有所不同,j不再是小于nums.length而是小于num[i].length,此时i为0,而nums[0]正好为3个数组中的第一个,因此此时,length的值为4,j的值为0,1,2,3
紧接着是赋值语句了,此时i=0,j=0,给第一个数组的第一个元素赋值
赋值过后,j++,此时i=0,j=1,即给第一个数组的第二个元素赋值
依次类推,当j=4时,循环结束,我们已经为第一个数组中0,1,2,3位置的元素全部赋值了,此时第二层循环结束,i++,我们开始从[1][0]到[1][3]即第二个数组赋值了
三轮外层循环结束后,我们就完成了全部元素的赋值。
现在我们就开始进行元素的遍历输出了
for(int i=0;i<nums.length;i++){
for (int j=0;j<nums[i].length;j++){
System.out.print(nums[i][j]+"\t");
}
System.out.println();
}
因为输出的还是刚刚那些数组的值,所以两层循环的循环条件都不发生变化,区别就在于输出语句。
原本逐个赋值的地方,我们现在逐个进行输出,但后面跟了一个”\t“,这个是什么呢?
他是Java中的一种符号,我们称为制表符,代表着一个tab键,相当于按下了8个空格,使接下来的数据跳到下一列进行输出,我们主要使用它来进行数据的对齐输出。
接下来,再每次的内层循环结束后,我们可以看到一个什么都没写的输出语句,那么它的作用是什么呢?
就是换行,一旦程序运行到这个位置,我们的第一个数组就全部输出完毕了,所以我们在这里进行一次换行,到下一行去输出第二个数组的元素。
好了,程序到这里就结束了,如果我们一次输出1-12,那么12个元素都将被手动赋值,并有格式的输出出来,结果为:
那么今天的内容就到这里啦,如果存在哪些疑问或问题欢迎大家指出,我们下期再见~