知识库 知识库
首页
  • Hyperskill - Java

    • Java basic
    • Java OOP
    • 应知
    • 扩展
    • IO & Stream
    • Error & Exception
    • Algorithm & Data structure
    • Design pattern
    • Web
    • Spring boot
  • 练习题

    • 选择题 & 填空题
    • 代码题
  • Frank - Java与生活 (OOP)

    • 参考资料
    • Java基础
    • OOP上半部分
    • OOP下半部分
  • Frank - Java API进阶

    • Base API
    • Unit Test and main function
  • 学习笔记
  • 学习笔记

    • 数据库
  • Frank - MySQL删库跑路

    • 安装、连接、配置
    • 基本操作——数据库
    • 基本操作——表
    • 基本操作——数据
    • 数据类型
    • 列属性完整性
    • 数据库设计思维
    • 单表查询
    • 多表查询
  • 学习笔记

    • 其它
  • Frank - Linux现代方法

    • 必知
    • 命令
    • 技巧
  • 技术文档
  • Git
  • GitHub技巧
  • 前端
  • Khan Academy - 语法
  • Monthly
  • 阅读
  • Others
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 标签
  • 归档
GitHub (opens new window)

Jim FuckPPT

Java小学生
首页
  • Hyperskill - Java

    • Java basic
    • Java OOP
    • 应知
    • 扩展
    • IO & Stream
    • Error & Exception
    • Algorithm & Data structure
    • Design pattern
    • Web
    • Spring boot
  • 练习题

    • 选择题 & 填空题
    • 代码题
  • Frank - Java与生活 (OOP)

    • 参考资料
    • Java基础
    • OOP上半部分
    • OOP下半部分
  • Frank - Java API进阶

    • Base API
    • Unit Test and main function
  • 学习笔记
  • 学习笔记

    • 数据库
  • Frank - MySQL删库跑路

    • 安装、连接、配置
    • 基本操作——数据库
    • 基本操作——表
    • 基本操作——数据
    • 数据类型
    • 列属性完整性
    • 数据库设计思维
    • 单表查询
    • 多表查询
  • 学习笔记

    • 其它
  • Frank - Linux现代方法

    • 必知
    • 命令
    • 技巧
  • 技术文档
  • Git
  • GitHub技巧
  • 前端
  • Khan Academy - 语法
  • Monthly
  • 阅读
  • Others
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 标签
  • 归档
GitHub (opens new window)
  • Hyperskill - Java

  • 练习题

  • Frank - Java与生活

    • 参考资料

    • Java基础

      • 一带而过的东西
      • 值得注意的是
      • 关于Java语言
      • String
      • 自动类型转换
      • import 导包
      • 数组
        • 静态数组
          • 声明方式
          • 访问元素
          • 数组作为函数的参数
          • 数组作为函数的返回值
          • 多维数组
        • 数组操作
      • 方法的重载
      • 规范
    • OOP上半部分

    • OOP下半部分

  • Frank - Java API进阶

  • 学习笔记

  • Java
  • Frank - Java与生活
  • Java基础
Jim
2022-04-15
目录

数组

# Java 中的数组

# 静态数组

静态数组一旦证明就不能改变其长度。

”公司里面人不够用了,但是没有更多的工位了。“

# 声明方式

“创建一个数组”,实际上是指创建一个指向数组的变量。

  • 初始化
  • 分配
// 1.初始化
int[] array_1 = {1, 2, 3, 4, 5};

// 2.分配
char[] array_2 = new char[3];
array_2[0] = 'a';
array_2[1] = 'b';
array_2[2] = 'c';
1
2
3
4
5
6
7
8

使用 arrayName[] = {...} 这样 C/C++ 风格也可行的,但不是 Java 中的首选方式:

// 首选
int[] array_3 = {1, 2, 3, 4, 5};

// C/C++ 风格
int array_4[] = {1, 2, 3, 4, 5};
1
2
3
4
5

# 访问元素

array_1[0] // 第一个元素
array_1[1] // 第二个元素
1
2

数组长度:

  1. 用 length 这个变量来检查数组长度
  2. 格式:arrayName.length
  3. 数组索引从 0 到 arrayName.legth-1

for-loop:

for (int i = 0; i < array_1.length; i++) {
    System.out.println(array_1[i]);
}
1
2
3

for-each 可在不使用索引的情况下遍历数组:

for (char k : array_2) {
    System.out.println(k);
}
1
2
3

# 数组作为函数的参数

注意形参的数据类型!

public static void printArray(int[] array) {
    for (int i : array) {
        System.out.println(i);
    }
1
2
3
4

# 数组作为函数的返回值

public static void main(String[] args) {
    int[] array_1 = {1, 2, 3, 4, 5};
    int[] array_2 = reverse(array_1);
    for (int j :
         array_2) {
        System.out.print(j + " "); // 5 4 3 2 1
    }
}

/**
 * 将一个int类型数组的元素逆序排放。
 *
 * @param list 一个int类型数组
 * @return result 逆序后的数组
 */
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 多维数组

多维数组可以看作是数组中的数组,以二维数组为例,其每一个元素都是一个一维数组。

二维数组:

int[][] twoDimArray_1 = new int[3][4];

int[][] twoDimArray_2 = {{0,1,2},{3,4,5},{6,7,8}};
1
2
3

# 数组操作

Java SE 在 Java.util.Arrays 类中提供了一些方法来对数组进行一些常规的操作(如,拷贝数组、存储数组、搜索数组中具体的值等等)

编辑 (opens new window)
上次更新: 2022/09/26, 16:55:15
import 导包
方法的重载

← import 导包 方法的重载→

最近更新
01
《挪威的森林》
04-14
02
青钢影
04-14
03
Processing strings
02-18
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Jim Frank | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式