数组
一,一维数组
1,什么是数组
数组本身就是一个变量,只是数组存储了一组数据类型相同的数据。
声明一个变量,就是在内存中划分出一块合适的空间;
声明一个数组,就是在内存中划分出一连串连续的空间
2,为什么需要数组
当我们需要存储一系列数据的时候,就需要用到数组,如果不使用数组,我们就需要一个一个的变量去声明,这样浪费内存空间,同时效率也低下。
3,数组的基本要素:
标识符(数组名)
数组元素(数组内存储的数据)
元素下标:(怎么找到里面的元素)从0开始,每个元素都可以通过下标来
找到
元素类型(数组内存储数据类型,也是数组的类型)
数组的一旦声明长度,就固定不变了。声明长度为4,就只能存放四个数据。
如果存放数据超过了数组长度,就会提示数组越界。
创建数组并赋值必须在同一语句中书写;
数组的长度和下标的关系,下标从0--------(数组长度-1);
如果数组中没有存储满的时候
如果数组是int 数据类型则默认是0
如果数组是double数据类型则默认是0
如果数组是String数据类型则默认是null
例子:
定义一个数组,输出其长度和元素:
代码:
package test;
public class test07 {
public static void main(String[] args) {
int num [] ={
1,2,3,4};
System.out.println("数组长度:"+num.length);
for (int i : num) {
System.out.println(i);
}
}
}
结果展示:
二,二维数组
1,什么是二维数组
二维数组就是数组里面再存放一个数组
2,语法
数据类型 [ ][ ] 数组名; 或者 数据类型 数组名 [ ][ ] ;
内存:人为划分为栈内存和堆内存
栈内存用来存储变量名
堆内存用来存储数据
例:
int [][] scores; //定义二维数组
scores=new int [5][50]; //分配内存空间
//或者
int [][]scores = new int[5][50];
注意:
定义数组时,外围数组的长度一定要定义,即定义最大维数。不能里外两个数组的长度都不设定。
例如 : int[][]scores = new int [5][]; 可以
int[][]scores = new int [][]; 不可以
3,内存图
4,例子
定义一个二维数组,根据用户键盘输入的需要查看第几行的元素,显示出该行内所有的元素,数据任写。如图:
代码展示
package zuoye;
import java.util.Scanner;
public class t02 {
public static void main(String[] args) {
int [][]nums={
{
1,2,3},{
4,5,6},{
7,8,9}};
int[] t = new int[3];
for (int i = 0; i <nums.length ; i++) {
if (i==nums.length-1){
System.out.println("当前数组有"+(i+1)+"行,您想查看第几行的元素,请输入:");
}
}
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
for (int i = 0; i <nums.length ; i++) {
if (a==i+1){
for (int j = 0; j <nums[i].length ; j++) {
System.out.println(nums[i][j]);
}
}
}
}
}
运行结果:
先总结这么多,以后会慢慢补充