【新手向】从零开始学习Java(Day10)Java 数组

每天二十分钟,成就Java大神,点点关注不迷路!

今天是第十天,给坚持到这里的小伙伴点个赞!

坚持是平凡者的英雄主义,共勉!


目录

Java数组

数组变量的声明

创建数组

For-Each循环

数组作为函数的参数或返回值

多维数组

定义方法

Arrays 类

下节预告


Java数组

数组对于每一门编程语言来说都是非常重要的数据结构之一。

Java中的数组用于存储固定大小的同类型元素。例如:可以声明一个数组变量,如 players[50] 来代替直接声明 100 个独立变量 player0,player1,....,player49。

接下来,笔者将详细说明Java中数组的声明、创建和初始化。

数组变量的声明

数组需要先声明,才能在程序中使用,有两种声明方法:

dataType[] arrayRefVar;// 首选的方法:数据类型[] 数组名
dataType arrayRefVar[];// 效果相同,但不是首选:数据类型 数组名[]

注:第二种方法是为了让C/C++程序员快速学习Java语言。

创建数组

Java中使用new操作符来创建数组,语法如下:

arrayRefVar = new dataType[arraySize];//数组名 = new 数据类型 [数组大小]

该句子首先创建一个数组,再将数组赋值给左边的数组变量。

变量的声明和创建数组可以用一条语句完成:

dataType[] arrayRefVar = new dataType[arraySize];

此外,还可以通过列举的方法创建数组:

dataType[] arrayRefVar = {value0, value1, ..., valuek};

注意:数组的元素是通过索引访问的,数组索引从0开始,到 arrayRefVar.length - 1 

public class ArrayTest {
    public static void main(String[] args) {
        double[] myList = new double[5];// 定义数组
        myList[0] = 0;
        myList[1] = 1;
        myList[2] = 2;
        myList[3] = 3;
        myList[4] = 4;
        // 计算所有元素的总和
        double total = 0;
        for (int i = 0; i < 5; i++) {
           total += myList[i];
        }
        System.out.println("总和为:" + total);
    }
}

For-Each循环

For-Each 循环又被称为加强型循环,它能在不使用下标的情况下遍历数组。

语法格式如下:

for(type element: array)//for(临时变量类型 临时变量名:数组)
{
    //循环内容
}

数组作为函数的参数或返回值

数组可以作为参数传递给方法。

例如这个函数:

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

同样的,数组也可以作为函数的返回值,例:

public static int[] reverse(int[] list) {
  int[] result = new int[list.length]; 
  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

多维数组

多维数组可以看成是数组的数组,例:二维数组的每一个元素都是一个一维数组。

多维数组可以用于表示矩阵。

定义方法

以二维数组为例:

1.直接分配每一维的空间

type[][] typeName = new type[typeLength1][typeLength2];

type 可以为基本数据类型和复合数据类型,typeLength1 和 typeLength2 必须为正整数,typeLength1 为行数,typeLength2 为列数。

2.从最高维开始为每一维分配空间,如:

String[][] s = new String[2][];
s[0] = new String[2];//第一行有两列
s[1] = new String[3];//第二行有三列

s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");

Arrays 类

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

给数组赋值:通过 fill 方法。

对数组排序:通过 sort 方法,按升序。

比较数组:通过 equals 方法比较数组中元素值是否相等。

查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

下节预告

下节开始,笔者将详细展开介绍 Java 中的日期和时间,看到这里的小伙伴可以投票打卡(投票有效期为7天),有疑惑可私信或评论区提出,and不妨动动发财的手点个赞吧,明天见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值