关于java入门基础中的——数组

本文将详细介绍 数组定义 语法 数组遍历 初始化数组 及案例等
若有细瑕,感谢指正

1、数组是什么?
数组的本质是一种数据结构,能记录同一种类型的多个数据,数组中的每个数据都叫做元素,所有的元素具有相同的数据类型

2、数组的作用
在程序中,为了方便处理,把具有形态类型的若干变量按照有序的形式组织起来就形成了数组,可以把复杂的运算转换成简单的数组

3、数组语法
数据类型 [] 数组名称 = new 数据类型 [元素个数]
int [] scores = new int [100]
元素个数必须是整数 元素个数可以是变量
数组中的所有元素具有相同的数据类型,一旦创建不能改变大小

4、注意事项
访问数组都是从下标开始的
都是从0开始的
最小的下标是0,最大下标是数组的元素个数-1

5、数组遍历是什么?
数组遍历就是对数组所有元素进行访问
这里就需要用到
length (长度)
length的作用是可以告知数组里元素的数量

char [] score = {'一','个','大'};
  
for( char a = 0; a < score.length;a++){

    System.out.println( score[a]);
}

输出结果 一 个 大

5.1、length的案例
int[] minzi = { 35, 27, 38, 59, 60, 87,65,89, };// 大括号给出数组所有元素的初始值
System.out.println(minzi.length);
// length 会告诉数组里元素的数量
for (int a = 0; a < minzi.length; a++) {
System.out.println(minzi[a] + “”);
输出结果 8 35 27 38 59 60 87 65 89

6、数组下标的合法区间
int[] a = new int [4];
a[0] =35;
a[1] =28;
a[2] =13;
a[3] =9;
数组里的数据类型都是一样的
7、数组的初始化
int [] score ={1, 2, 3 , 4 , 5);
想要给数组对象分配存储空间 ,必须使用初始化表达式

8、数组变量赋值解析
int[] a = new int[10];// 数组变量是数组的管理者而非数组本身
a [0] = 5; //数组必须创建出来然后交给数组变量来管理
int [] b = a; // 数组变量之间的赋值是管理权限的赋予
b [0] = 16; //数组变量之间的比较是判断是否管理同一个数组
System.out.println(a[0]);
输出值为16 由此可以判断出 并非数组a和数组b只是共同管理了一个数组 而并非数组中的元素一样

int [] a ={1, 2 ,3, 4 ,5};
int [] b ={1, 2, 3, 4, 5};
System.out.println( a == b);
输出结果为false 也证实了这点

9、for each 循环语句
for语句在循环语句中有着重要的位置,首先它计算一个初始化序列,然后当某个条件为真时,重复执行嵌套语句并计算一个迭代表达式序列;如果为 False,则退出 for循环, for语句常用于遍历数组集合
public class Test {
public static void main(String[] args)
{
int[] a = {1,2,3};
for(int i : a)
System.out.print(i + “,”);
}
} 输出1,2,3

10、二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,二维数组又称为矩阵,行列数相等的矩阵称为方阵
int [] a = new int[3][5]; //二维数组 可以看成是3行5列的矩阵

a[0][0] a[0][1] a[0][2] a[0][3] a[0][4]

a[1][0] a[1][1] a[1][2] a[1][3] a[1][4]

a[2][0] a[2][1] a[2][2] a[2][3] a[2][4]

    int[] score1=new int[10];
    int[][] score2;
    String[][] names;
    //二维数组的初始化
    score2=new int[][]{{1,2,3},{3,4,5,6},{16,7}};//静态初始化
    names=new String[6][5];//动态初始化方式一
    names=new String[6][];//动态初始化方式二,一定要设置行数
    names[0]=new String[5];//第一行中有5个元素
    names[1]=new String[4];
    names[2]=new String[7];
    names[3]=new String[5];
    names[4]=new String[8];
    names[5]=new String[5];
    System.out.println("第一行中的元素:"+names[1].length);
    System.out.println(names.length);//打印的是二维数组有几行

    //如何遍历二维数组
    for(int m=0;m<score2.length;m++){//控制行数
        for(int n=0;n<score2[m].length;n++){//一行中有多少个元素(即多少列)
            System.out.print(score2[m][n]+" ");
        }
        System.out.println();
    }   

11、数组案例
需求 输出0-9范围的整数 统计每种数字出现的次数 输入-1结束
思路: 数据 计算 输出
java.util.Scanner s = new java.util.Scanner(System.in); // 键盘输入指令

int[] numbers = new int[10]; // 第一步 创建一个数组
int a;// 第二步 确定数据类型
// for(int b =0; b <numbers.length;b++)
// System.out.println(numbers [b]);
a = s.nextInt(); // 第三步 使用键盘指令输入值
while (a != -1) // 第四步 判断 输入a的值 不等于负1的情况下
{

  if (a >= 0 && a <= 10) // 第五步 输入的值a 大于等于0 并且 输入值a 小于等于10 符合数组要求 0-10
  {
    numbers[a]++;// 第六步 数组参与运算每次自加1
  }
  a = s.nextInt(); // 第七步 使用键盘输入值
}
for (int b = 0; b < numbers.length; b++) // 第八步 b的值从0开始,开始循环每次自加1,length可以查找数组里的元素
{
  System.out.println(b + "出现的次数是:" + numbers[b]);// 输出结果
}

在这里插入图片描述需求 :输入一个数字 通过for each循环来确定该数据是否存在。

    java.util.Scanner s = new java.util.Scanner(System.in);
    int[] data = { 2, 3, 5, 7, 9, 11 }; //初始化数组
    int a = s.nextInt(); //键盘输入指令
    boolean found = false; //先默认为假
    for (int b : data) { //访问数组里的元素 不能以 < >这样的运算符
        if (a == b) {// 若输入 的值 a == b
            found = true; //则判断结果为真
            break; // 中断此次循环
        }
    }
    if (found) { 
        System.out.println(a + "在其中");
    } else {
        System.out.println(a + "不在其中");
    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值