2,直接创建二维数组并赋值语句:int[][] array ={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}}
二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存
第一种,先声明再分配内存的方式
数组声明: 数据类型 数组名[][]
内存分配: 数组名 = new 数据类型[行的个数][列的个数]
举例: 假如我们需要统计一个象棋上放的是黑棋还是白棋。这时,我们可以建立一个坐标,即以象棋盘的两边建立坐标轴。这时,我们可以这样定义这个二维数组:
声明数组: int Chess[][]
内存分配Chess= new int[64][64]
第二种,即声明时即分配内存的方式。
使用格式是: 数据类型 数组名[][] =new 数据类型 [行的个数][列的个数]
使用上个步骤中的例子,我们可以将数组的声明和分配内存写成以下方式:
声明即分配内存:int Chess[][] = new int[64][64]
二维数组的赋值,同一维数组类似。只是在{}中的每个元素又是每个一维数组。如下格式:
数据类型 数据名[][]={
{值1,值2,值3,值4 },//第一行数据
{值5,值6,值7,值8}, //第二行数据
...,
}
二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。
对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组
其赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
}
即第一行的人数和第二行的人数相同。
第二种:即列数不相等的数组的赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
{"小雨","小风","小平","小雷"},
{"小单"}
}
看上述例子。对于不同的行,其相应的列数是不同的。
再建一个3行5列数组,然后把原来的数据考进去,第三行第五列就可以加入你要的数据了。或者你先建个5列的一维数组。拷贝第三行到一维数组,在一位数组最后加上新数字,再复制给原来的二维数组,
int [][]arr1={{ 1, 2, 3, 4 },{ 5, 6, 7, 8 }, { 9, 10, 11, 12 }}
int arr2[]=new int[5]
for(int i=0i<arr1[2].lengthi++){
arr2[i]=arr1[2][i]
}
arr2[4]=1111
arr1[2]=arr2
import java.sql.Connectionimport java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
import java.util.LinkedList
import java.util.List
public class DataToArray {
public static void main(String[] args) throws Exception {
String url = "jdbc:mysql://localhost:3306/test"// 改成你的数据库连接
Connection conn = DriverManager.getConnection(url, "root", "fuhaiwei")// 改成你用户名密码
String sql = "select * from user"// 改成你的查询语句
PreparedStatement prestmt = conn.prepareStatement(sql)
ResultSet rs = prestmt.executeQuery()
Object[][] data = getDataArray(rs)
printArray(data)
rs.close()
prestmt.close()
conn.close()
}
private static void printArray(Object[][] data) {
for (int i = 0i <data.lengthi++) {
for (int j = 0j <data[i].lengthj++) {
System.out.print(data[i][j] + " ")
}
System.out.println()
}
}
private static Object[][] getDataArray(ResultSet rs) throws SQLException {
List<Object[]>list = new LinkedList()
while (rs.next()) {
// 改成你的列名
Object[] objects = new Object[] { rs.getInt("id"), rs.getString("username"),
rs.getString("password") }
list.add(objects)
}
return list.toArray(new Object[0][0])
}
}
输出效果: