JAVASE基础(数组的定义与使用)

这篇博客详细介绍了Java中的数组,包括数组的基本概念、语法和使用示例。强调了数组中元素必须是相同类型,如何获取数组长度,以及访问和修改元素。同时,提到了下标越界异常及其预防,展示了使用for循环和for-each遍历数组的方法。最后,给出了四个实践练习,涉及查找数组中的最大值、最小值、计算元素之和及数组排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一:数组的基本用法

(1)什么是数组

数组本质上就是让我们能“批量”创建相同类型的变量。

例如:
如果需要表示两个数据, 那么直接创建两个变量即可 int a; int b
如果需要表示五个数据, 那么可以创建五个变量 int a1; int a2; int a3; int a4; int a5;
但是如果需要表示一万个数据, 那么就不能创建一万个变量了. 这时候就需要使用数组, 帮我们批量
创建.

注意:在Java中,数组中包含的变量必须是相同类型。

(2)基本语法

//动态初始化
数据类型[] 数组名称 = new 数据类型[]{初始化数据};

//在数据元素未知时 
数据类型[] 数组名称 = new 数据类型 [(元素个数)]

//静态初始化
数据类型[] 数组名称 = {初始化数据};

(3) 代码示例

int[] arr = new int[]{1, 2, 3};
int[] array = new int[4];
String[] array = {"hello","world"};

注意:静态初始化的时候, 数组元素个数和初始化数据的格式是一致的。

二:数组的使用

(1)代码示例:获取长度&访问元素

package Number;

public class Test01 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3,4,5};
        //获取数组长度:5
        System.out.println("length:" + arr.length);

        //访问数组中的元素
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
        arr[2] = 50;
        System.out.println(arr[2]);
    }
}
/*输出结果:
length:5
2
3
4
50
*/

注意: 1. 使用 arr.length 能够获取到数组的长度. . 这个操作为成员访问操作符. 后面在面向对象中                  会经 常用到.

          2. 使用 [ ] 按下标取数组元素. 需要注意, 下标从 0 开始计数

          3. 使用 [ ] 操作既能读取数据, 也能修改数据.

(2)代码示例:下标越界

int[] arr = {1, 2, 3,4,5};
        //获取数组长度:5
        System.out.println("length:" + arr.length);

        //访问数组中的元素
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[5]);
/*输出结果:
length:5
2
3
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5 at Number.Test01.main(Test01.java:12)
*/

注意:下标访问操作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常

(3)代码示例:

使用下标遍历数组

int[] arr = {1, 2, 3};
//i-[0,arr.length]合法下标
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}
//执行结果
1
2
3
/*
优势:1、范围遍历(例如定义一个长度为10的数组,遍历下标从5~8的元素并输出)
      2、反向遍历
      3、自带一个序号(例如 下标为0:元素值)
*/

注意:所谓 "遍历" 是指将数组中的所有元素都访问一遍, 不重不漏. 通常需要搭配循环语句.

使用for-each遍历数组

/*
  for-each语法
	 for (元素类型 b : 数组名称){
      		 b 就是按序得到的元素
    }
*/


int[] arr = {1, 2, 3};
for (int b : arr) {
    System.out.println(b);
}
// 执行结果
1
2
3

注意: or-each 是 for 循环的另外一种使用方式. 能够更方便的完成对数组的遍历. 可以避免循环条              件和更新语句写错.

三:练习

已知(数组: int a[] = {2,4,3,8,7,5,6,1})

 1、找到数组中的最大值

package Number;
//1、找到数组中的最大值
public class Test02 {
    public static void main(String[] args) {
        int[] arr = {2,4,3,8,7,5,6,1};
        int aMax = arr[0];
        for(int i = 0;i<arr.length;i++){
            if(aMax < arr[i]){
                aMax = arr[i];
            }
        }
        System.out.println(aMax);
    }
//输出结果:8

 2、找到数组中的最小值

package Number;
//2、找到数组中的最小值
public class Test03 {
    public static void main(String[] args) {
       int[] arr = {2,4,3,8,7,5,6,1};
       int aMin =arr[0];
       for(int i = 0;i < arr.length;i++){
           if(aMin > arr[i]){
               aMin = arr[i];
           }
       }
        System.out.println(aMin);
    }
}
//输出结果:1

 3、计算数组中元素之和

package Number;
//3、计算数组中元素之和
public class Test04 {
    public static void main(String[] args) {
        int[] arr = {2,4,3,8,7,5,6,1};
        int sum = 0;
        for(int i = 0;i < arr.length;i++ ) {
            sum += arr[i];
        }
        System.out.println("sum = "+sum);
    }
}
//输出结果:36

 4、将数组按从小到大排序(进阶)

package Number;

import java.util.Arrays;

//5、将数组按从小到大排序(进阶)
public class Test06 {
    public static void main(String[] args) {
        int[] arr = {2,4,3,8,7,5,6,1};
        Arrays.sort(arr);//排序
        for(int i = 0;i < arr.length;i++ ) {
            System.out.println(arr[i]+"、");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值