1.一维数组
1.1基本概念
- 数组是相同数据类型的多个元素的容器,数组的本质就是内存中一段连续的存储单元。
- 这些元素按线性顺序排列。
- 可以通过下标的方式访问数组中的每一个元素。
- 数组的操作其实就是对下标的控制。
1.2数组的创建
声明一个长度为10元素类型为int类型的一维数组。
/*编程实现数组的声明和使用*/
public class TestArr{
public static void main(String[] args){
//1.声明一个长度为10,类型int的一位数组
int[] arr = new int[10];
//2.打印数组中的每个元素的数值
System.out.println("数组中的下标为0的元素为:"+arr[0]);
System.out.println("数组中的下标为1的元素为:"+arr[1]);
System.out.println("数组中的下标为2的元素为:"+arr[2]);
System.out.println("数组中的下标为3的元素为:"+arr.length);
System.out.println("数组中的下标为10的元素为:"+arr[10]);
//ArrayIndexOutOfBoundsException数组下标越界异常
}
}
import java.util.Scanner;
public class fuzhi{
public static void main(String[] args){
int[] arr = new int[10];
Scanner sc = new Scanner(System.in);
for(int i=0;i<arr.length;i++)
{
System.out.println("请为第"+(i+1)+"个元素赋值:");
int a = sc.nextInt();
arr[i] = a;
}
for(int i=0;i<arr.length;i++)
{
System.out.println("请为第"+(i+1)+"个元素为:"+arr[i]);
}
}
}
/*编程实现对用户输入正整数中重复数字次数的统计并打印出来*/
import java.util.Scanner;
public class TestNumCount{
public static void main(String[] args){
//1.提示用户输入一个正整数并使用变量记录
System.out.println("请输入一个正整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//2.拆分该正整数中的每个数字并记录起来
int[] arr=new int[10];
for(int i = num;i>0;i/=10)
{
arr[i%10]++;
}
//3.打印最终结果
for(int i = 0 ; i<arr.length;i++)
{
System.out.println("数字"+i+"出现的次数为:"+arr[i]+"。");
}
}
}
1.3数组元素的初始化
/*声明一个初始值为1,2,3,4,5的一维数组*/
public class TestD{
public static void main(String[] args){
int[] darr = {1,2,3,4,5};
System.out.println("数组的长度为:" + darr.length);
for(int i=0;i<darr.length;i++)
{
System.out.println("darr["+i+"]="+darr[i]);
}
}
}
2.二维数组
2.1基本概念
一维数组本质上是一段连续的存储单元,用于记录多个类型相同的数据内容。
二维数组就是由一维数组组成的数组,其元素是一维数组。
int[][] arr = new int [2] [3];
int[][] arr = new int [3] [];
定义二维数组arr以后, arr是二维数组,arr[i]是一维数组, arr[i] [j]是数据。
其中,最左边的中括号里面必须有长度。
1.2声明方式
(1)语法格式
数据类型[] [] 数组名称 = new 数据类型[行数] [列数];
如:
int[] [] arr = new int[2] [3]; -两行三列
/*编程实现二维数组的声明和使用*/
public class TestArrArr{
public static void main(String[] args){
//1.声明一个具有2行3列元素类型为int的二维数组
int arr[][]=new int[2][3];
//2.打印数组中的每个元素
int a = 1;
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
arr[i][j]=a++;
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}
(2)元素的初始换