数组
数组是在内存中存储相同数据类型的连续的空间

声明数组
语法: 数据类型[ ] 数组名;
或者 数据类型 数组名[ ];

分配空间
指定数组中最多可存储多少个元素
语法: 数组名 = new 数据类型 [ 数组长度 ];
其中,数组长度就是数组中能存放元素的个数

赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的

处理数组中数据
可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值:
System.out.println("scores数组中第一个元素的值:"+ scores[1]);
另外一种直接创建数组的方式
它将声明数组、分配空间和赋值合并完成:
int[ ] scores = {78,88,80,89,98};
等价于:
int[ ] scores = new int[ ]{78,88,80,89,98};
循环操作 Java 中的数组
int[ ] scores = {68,97,96,67,87,98};
for(int i = 0; i<scores.length; i++){
System.out.println("数组中的第"+ (i+1)+"个元素的值是:"+scores[i]);
}
数组名.length 用于获取数组的长度
数组下标从 0 开始
数组下标的范围是 0 至 数组长度-1 ,如果越界访问,就会报错
Arrays 类操作 Java 中的数组
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中
Arrays.sort(数组名) 数组排序
import java.util.Arrays;
public class Helloword{
public static void main(String [ ]args){
int[ ] scores = {78,88,99,87,98,67};
Arrays.sort(scores);
System.out.println("排序后的数组元素值:");
for(int i = 0 ;i<scores.length; i++){
System.out.println(scores[i]);
}
}
}
Arrays.toString(数组名) 数组转换为字符串
import java.util.Arrays;
public class Helloworld{
public static void main(String []args){
int nums[] = {88,90,89,79,67};
System.out.println("数组转成字符串的值:"+Arrays.toString(nums));
}
}
foreach 操作数组(没有foeach,其实还是for)
语法:
for(元素类型 元素变量:遍历对象){
执行的代码块
}
分别使用 for 和 foreach 语句来遍历数组:
public static void main (String[] args){
String[ ] hobbys = {"mooc","描述","ffff"};
System.out.println("使用for输出元素:");
for(int i = 0; i< hobbys.length; i++){
System.out.println(hobbys[i]);
}
System.out.println("使用foreach循环输出数组中的元素:");
for(String hobby:hobbys){
System.out.println(hobby);
}
}
Java 中的二维数组
每个数组空间中保存的是一个一维数组
声明数组并分配空间
数据类型[ ][ ] 数组名 = new 数据类型[行的个数][列的个数]
或者
数据类型[ ][ ] 数组名;
数组名 = new 数据类型[行的个数][列的个数]
例如:
// 定义个3行5列的二维数组;
int[ ][ ] num = new int[3][5];
赋值
数组名[行的索引][列的索引] = 值
或者
** 数据类型[ ][ ] 数组名 = {{值1,值2},{值1,值2},{值1,值2}};
例如:
num[0][0] = 30;
数组遍历
使用两重循环
int[][] num = {{12,23},{34,45,56,67}};
for(int i = 0; i <num.length; i++){
for(int j = 0; j<num[i].length; j++){
System.out.println(num[ i ][ j ]);
}
System.out.println();
}
在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组

网友评论