Java基础快速入门:数组概念、定义格式与动态初始化详解

【Docker】Docker安装Hadoop分布式集群 hadoop目录安装在:/usr/local/hadoop-2.7.0/etc/hadoop。访问Hadoop102:9870,查看是否能够看到hdfs界面。访问hadoop103:8088,查看能够看到yarn界面。在yarn上可以看到执行情况。 阅读详情

本文纲要

  1. 数组介绍
  2. 数组定义格式
  3. 数组动态初始化
  4. 数组元素访问
  5. Java内存分配与数组内存图
  6. 两个数组内存图
  7. 多个数组指向相同内存
  8. 数组静态初始化
  9. 数组操作常见问题
  10. 数组遍历
  11. 数组获取最大值
  12. 数组元素求和
  13. 数组基本查找
  14. 评委打分案例

数组介绍

数组(Array)是一种容器,用来存储同种数据类型的多个值。与普通变量只能存储单个值不同,数组可以一次存储多个同类型数据,并通过索引访问每一个元素。

数组的典型使用场景:当需要操作一组数据时,例如统计多个班级的成绩、存储多个用户输入等,就可以用数组把这组数据整体管理起来,而不是定义大量零散的变量。

数组定义格式

Java中定义数组有两种格式:

// 格式1:数据类型[] 数组名;
int[] arr;
 
// 格式2:数据类型 数组名[];
int arr2[];

格式1使用最普遍,推荐使用。格式2也能定义数组,但较少见。
这两种方式只是定义了一个数组类型的变量,此时还没有实际的数组容器,不能直接使用。

数组动态初始化

1 ) 概念

动态初始化:在创建数组时只指定长度,系统自动为数组元素分配默认值。

2 ) 格式

数据类型[] 数组名 = new 数据类型[数组长度];

示例:

int[] arr = new int[5];   // 可以存储5个int型整数
byte[] bArr = new byte[3]; // 可以存储3个byte型整数

new关键字负责在堆内存中开辟数组空间,并返回内存地址给数组变量。

3 ) 打印数组名

打印数组名时,看到的是内存地址,例如 [I@10f87f48
解读:

  • @:分隔符
  • [:表示数组类型
  • I:表示存储的数据类型(int)
  • 10f87f48:十六进制内存地址

数组元素访问

1 ) 访问格式

数组名[索引]

索引是数组元素在容器中的编号,从0开始,连续递增。例如长度为3的数组,索引为0、1、2。

2 ) 存取操作

  • 取值:arr[0]
  • 存值:arr[0] = 11

动态初始化后,即使没有赋值,元素也能取出,此时取出的都是默认值

不同类型默认值如下:

数组类型默认值
整数类型0
浮点类型0.0
布尔类型false
字符类型空字符(‘\u0000’)
引用类型null

示例代码

int[] arr = new int[3];
System.out.println(arr[0]); // 0
System.out.println(arr[1]); // 0
System.out.println(arr[2]); // 0
 
arr[0] = 11;
arr[1] = 22;
arr[2] = 33;
System.out.println(arr[0]); // 11
System.out.println(arr[1]); // 22
System.out.println(arr[2]); // 33

Java内存分配与数组内存图

Java程序运行时,内存主要划分为以下几块区域:

  • 栈(Stack):方法运行时进入的内存,局部变量存放在这里。
  • 堆(Heap):new出来的内容存放于此,都有地址值。
  • 方法区(Method Area):字节码文件(.class)加载时进入的内存。

1 ) 单数组内存图

以如下代码为例:

int[] arr = new int[3];
arr[0] = 11;
arr[1] = 22;
arr[2] = 33;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);

📒 堆内存 (Heap)

📙 栈内存 (Stack)

📘 方法区 (Method Area)

main 方法栈帧

引用地址

类加载,入栈执行

声明

Demo3.class
main方法字节码

arr 变量
📍 记录地址: 0x001

0x001 → int[3]
数组对象

索引[0] = 11

索引[1] = 22

索引[2] = 33

执行过程:

  1. .class文件加载到方法区,main方法进入栈。
  2. 执行int[] arr = new int[3],在堆中开辟数组空间(地址0x001),长度为3,默认值0。
  3. 地址赋给栈中的arr变量。
  4. 通过索引赋值,修改堆中对应元素的值。
  5. 打印时,arr通过地址找到堆中数组,再按索引取出元素。

两个数组内存图

int[] arr1 = new int[2];
arr1[0] = 11;
arr1[1] = 22;
 
int[] arr2 = new int[3];
arr2[0] = 33;
arr2[1] = 44;
arr2[2] = 55;

🟧 堆 Heap

🟦 栈 Stack

指向

指向

main() 方法

arr1 引用
0x001

arr2 引用
0x002

地址 0x001
int[2]
[0]=11, [1]=22

地址 0x002
int[3]
[0]=33, [1]=44, [2]=55

关键点:每次new都会在堆中开辟一块新的空间,地址不会重复。

多个数组指向相同内存

int[] arr1 = new int[2];
arr1[0] = 11;
arr1[1] = 22;
 
int[] arr2 = arr1;   // 将arr1记录的地址赋给arr2
arr2[0] = 33;
 
System.out.println(arr1[0]); // 33
System.out.println(arr1[1]); // 22
System.out.println(arr2[0]); // 33 
System.out.println(arr2[1]); // 22

堆 Heap

栈 Stack

main() 栈帧

arr1
记录地址 0x001

arr2
记录地址 0x001

0x001
int[2]
[0] = 33
[1] = 22

当两个引用指向同一个数组时,通过任何一个引用修改数组,另一个引用看到的也是修改后的结果。可以把引用想象成“遥控器”,多个遥控器控制同一台电视。

数组静态初始化

静态初始化:在创建数组时直接指定元素的值,系统自动计算长度

完整格式

数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, ...};

简化格式

数据类型[] 数组名 = {元素1, 元素2, ...};

示例:

int[] arr = new int[]{11, 22, 33};
int[] arr2 = {44, 55, 66};

简化格式虽然没有显式写new,但编译器会补齐,实际仍然会在堆中开辟空间。

动态初始化 vs 静态初始化

动态初始化静态初始化
指定数组长度元素的具体值
系统计算默认值数组长度
适用场景只明确元素个数,不明确具体值(如键盘录入)已经明确要操作的具体数据

数组操作常见问题

1 )索引越界

访问了不存在的索引,抛出 ArrayIndexOutOfBoundsException

int[] arr = new int[3]; // 索引0~2
System.out.println(arr[3]); // 越界

避免方法:访问索引前确保 0 <= 索引 < 数组长度,通常用arr.length控制循环。

2 )空指针异常

数组变量不再指向任何堆内存空间(记录null),仍试图访问元素,抛出NullPointerException

int[] arr = new int[3];
arr = null;
System.out.println(arr[0]); // 空指针异常

null是引用类型的默认值,表示“空”,不指向任何对象

数组遍历

1 ) 遍历:逐一获取数组中的每个元素。常用for循环配合数组名.length

int[] arr = {11, 22, 33, 44, 55};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

2 ) 改进:一行打印数组元素

需求:将数组元素按格式 [11, 22, 33, 44, 55] 在一行打印。

public static void printArray(int[] arr) {
    System.out.print("[");
    for (int i = 0; i < arr.length; i++) {
        if (i == arr.length - 1) {
            System.out.print(arr[i] + "]");
        } else {
            System.out.print(arr[i] + ", ");
        }
    }
    // 换行
    System.out.println();
}

数组获取最大值

1 ) 思路:

  1. 假设第一个元素为最大值 max = arr[0]
  2. 遍历剩余元素,如果发现更大的值,则更新max
  3. 遍历结束,max即为最大值
int[] arr = {12, 45, 98, 73, 60};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
        max = arr[i];
    }
}
System.out.println("max:" + max);

最小值同理,只需将比较条件改为 arr[i] < min

数组元素求和

需求:键盘录入5个整数,存入数组并求和。典型动态初始化场景。

Scanner sc = new Scanner(System.in);
int sum = 0;
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
    System.out.println("请输入第" + (i + 1) + "个整数:");
    arr[i] = sc.nextInt();
}
for (int i = 0; i < arr.length; i++) {
    sum += arr[i];
}
System.out.println("sum:" + sum);

数组基本查找

需求:已知数组,键盘录入一个数据,查找其在数组中的索引,找不到返回-1。

int[] arr = {19, 28, 37, 46, 50};
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要查找的元素:");
int num = sc.nextInt();
int index = -1; // 假设不存在 
for (int i = 0; i < arr.length; i++) {
    if (arr[i] == num) {
        index = i;
        break; // 找到后结束循环
    }
}
System.out.println(index);

评委打分案例

需求:6个评委打分(0~100),去掉一个最高分和一个最低分,求平均分(不考虑小数)。

int[] arr = new int[6];
Scanner sc = new Scanner(System.in);
// 录入评委分数,并保证数据合法
for (int i = 0; i < arr.length; i++) {
    System.out.println("请输入第" + (i + 1) + "个评委的打分:");
    int score = sc.nextInt();
    if (score >= 0 && score <= 100) {
        arr[i] = score;
    } else {
        System.out.println("您的打分输入有误, 请检查是否是0-100之间的");
        i--; // 重新输入本位置
    }
}
// 求最大值
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
    if (arr[i] > max) max = arr[i];
}
// 求最小值
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
    if (arr[i] < min) min = arr[i];
}
// 求和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
    sum += arr[i];
}
// 计算平均分
int avg = (sum - max - min) / 4;
System.out.println(avg);

i--的作用:当输入非法分数时,强迫用户重新输入当前评委的分数,保证数组最终只存储合法值。

总结

本文从数组的概念、定义、初始化到内存模型、常见操作和经典案例,全面介绍了Java数组的基础知识。

掌握数组是学习Java集合等高级特性的重要前提,建议多动手练习,理解内存分配与引用机制。

面试真题集(十六):TensorRT基础 TensorRT面试真题解析:从模型优化到推理部署 本文精选了14道TensorRT面试题,涵盖选择题、简答题和场景题,深度考察推理工程师对TensorRT核心技术的理解。内容聚焦三个关键维度: 基础概念 FP16推理中Softmax层为何需保持FP32(数值稳定性) INT8校准原理(EntropyCalibrator2的鲁棒性优势) Plugin V3接口的构建/运行分离设计 性能优化 Conv-BN-ReLU融合减少40-60%延迟的关键机制(访存优化) 动态Shape配置策略(min/opt/max 阅读详情

相关推荐

为什么AI时代的优秀组织,都在学习Meta的Pod结构?看完秒懂

当AI技术重塑产业格局,企业协作正面临前所未有的挑战——层级繁琐、跨部门内耗、迭代滞后,传统组织模式早已难以跟上技术革新的步伐。作为全球AI原生企业的标杆,Meta独创的Pod组织模式,用“小而美”的自治单元打破困局,成为AI时代高效协作的典范。本文将从定义、运作、价值到未来演进,全面拆解Pod模式,为企业组织变革提供可参考的思路与路径。德鲁克曾说:“组织的功能就是让平凡的人做平凡的事。”而Meta Pod打破这一局限,通过去中心化、指标导向、跨界融合,让优秀人才产生“化学反应”。

Kiss_AIHR的博客 1182

【Java基础|Day04】Java数组详解:从定义到内存原理

本文详细介绍了Java数组的定义、初始化、访问遍历及内存原理。主要内容包括:1)数组的定义格式与声明过程;2)静态和动态两种初始化方式的区别与使用场景;3)数组索引规则和遍历方法;4)重点讲解了数组在栈和堆内存中的分配机制,通过示例代码分析内存变化过程;5)对比了数组浅拷贝和深拷贝的区别。文章强调数组变量存储的是地址而非数据本身,并指出数组初始化后长度固定不可变。

m0_73999950的博客 4203

Xilinx FPGA 10G Ethernet Subsystem example

The 10G Ethernet subsystem provides 10 Gb/s Ethernet MAC, Physical Coding Sublayer(PCS) and Physical Medium Attachment (PMA) transmit and receive functionality over anAXI4-Stream interface.

青城扬沙的博客 2382

2025/7/2 数组定义、静态初始化和动态初始化 数组中元素的访问、遍历 Java中的内存分配 方法的定义和调用格式

4、方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写,如果要写return,后面不能跟具体的数据;1、当两个数组指向同一个小空间时,其中一个数组对小空间中的值发生了改变,那么其他数组再次访问的时候都是修改之后的结果。:数据类型[ ] 数组名 = new 数据类型[] {元素1,元素2,元素3……2、如果new了多次,那么 在推空间里面由多个小空间,每个小空间都有各自的数据。//数组的长度为3……:数据类型[ ] 数组名 = {元素1,元素2,元素3。

weixin_52342637的博客 1585

vasp和ms_武汉理工大学赵焱课题组开发脚本 MS建模一键获取VASP输入文件POSCAR

本文给大家推介并分享一个通过Materials Studio一键获取VASP输入文件POSCAR的脚本,xsd2pos.pl。此脚本是武汉理工大学首席教授赵焱在帮助学生解决VASP计算问题时编写,解决了其他间接非手动获取POSCAR存在的问题,同时也相较于其他方法更为便捷,相信会对从事VASP计算的同行们带来便利。赵焱老师怀着哺育天下学子的情怀,希望给大家分享一下。下文介绍一下它的使用方法以及它所...

weixin_39706367的博客 2289

大模型系列——Ollama简明教程

在这篇文章中,我们将了解如何使用 Ollama、如何在 Ollama 中创建自己的模型 以及如何使用 Ollama 构建聊天机器人。这是深入研究 Ollama 的第一部分,以及我所学到的有关本地 LLM 的知识以及如何将它们用于基于推理的应用程序。在这篇文章中,你将了解——

2401_84052244的博客 1万+

数组、数组的地址值和元素访问、数组的遍历、数组的静态初始化和动态初始化

元素地址 = 数组起始地址 + 下标 × 元素类型字节数(int 类型占 4 字节,所以。,编译器会自动计算数组长度,无需手动指定,且数组创建后直接填充好元素(没有默认值阶段)。中存储区域的唯一标识,本质是一个十六进制的内存地址(通过数组名间接持有)。(如 int=0、String=null),后续再通过下标手动给元素赋值。(2) 元素访问的底层逻辑(地址值 + 下标)(2) 增强 for 循环遍历(仅遍历元素)1.数组的地址值:在 Java 中,数组的。:从计算出的地址中读取(或写入)元素值。

2501_93835954的博客 1328

ROS与深度相机入门教程:(1)Ubuntu16.04 在ROS中驱动Intel D435i深度相机

Intel在Github上开源了支持所有RealSense系列相机的SDK,包括了D400、SR300系列深度相机和T265双目跟踪相机,支持Linux、Windows、Mac OS以及Android,链接:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installin...

m0_37957160的博客 2076

Java中数组概念数组的使用以及数组的初始化

一、数组的概念以及语法格式 (一)、数组的概念 1、数组:是相同类型元素的一个集合。数组在底层的存储空间是连续的。 (1)、所有的元素类型都是相同的。 (2)、存储空间都是连续的。 (3)、每个空间都有自己的编号-----数组的下标。 2、T[] array = new T[N]; (1)、T:数字中存储元素的类型。 (2)、T[]:表明array是数组类型的。 (3)、array:数组名,按照小驼峰的方式来命名。 (4)、new:用来申请数组空间的一个关键字,该关键字申请的空间都在堆上

AXiYa_Ari的博客 395

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文带你从零构建了异步电机SFOC系统​ 的完整Simulink仿真模型,实现了:✅ 搭建异步电机、逆变器、风机负载的主电路与传感器模型;✅ 用MATLAB Function实现定子磁链观测(电压模型)、坐标变换、双闭环PI控制;✅ 验证SFOC在转速跟踪(响应0.2s、超调4%)、转矩响应(恢复0.15s)中的高性能;✅ 对比RFOC,明确SFOC在参数鲁棒性(转子电阻+50%时波动<2%)上的独特优势;✅ 理解SFOC“定子磁链定向+解耦控制”的核心思想(低成本高鲁棒性驱动的工程实现)。

xiaoheshang_123的博客 392

【Java|基础篇】全面解析数组,数组知识点汇总

Java数组超详细讲解文章目录 1.数组的概念 2.一维数组3.一维数组的定义 4.访问数组的元素 5.遍历数组 for循环遍历数组 for each遍历数组 toString遍历数组 6.数组的初始化 静态初始化动态初始化 数组元素的默认值 7.二维数组 8.二维数组的遍历 for循环进行遍历 for each进行遍历 deepToString 9.数组的拷贝 for循环拷贝数组 Arrays.copyOf方法 Arrays.copyofRange方法System.arraycopy方法 clone方法

云泽野の编程日记 1345

基于YOLOv5的仪表读数识别系统:从检测到识别的完整解决方案

随着工业自动化水平的不断提高,仪表读数识别技术在电力系统、石油化工、智能制造等领域发挥着越来越重要的作用。本文提出了一种基于YOLOv5的仪表自动读数识别系统,该系统能够有效区分指针式和数字式仪表,并实现高精度的读数识别。我们详细介绍了系统的整体架构、数据集构建、模型训练策略以及用户界面设计,并提供了完整的代码实现。实验结果表明,本系统在仪表检测和读数识别任务上均取得了优异的表现,为工业现场的自动化监控提供了可靠的技术支持。关键词:仪表读数识别;YOLOv5;目标检测;深度学习;工业自动化。

YOLO 680

java中数组的定义与使用

数组:一组相同数据类型的集合,长度固定 类集:动态数组 一、基本概念 1.动态初始化 声明并初始化数组:数据类型[]数组名称=new 数据类型[长度]; int [] data=new int [3]; 当开辟数组空间后,所有数组内容为其数据类型的默认值; 访问数组元素使用数组名称[索引下标],索引从0开始。当访问下标超出数组长度时,会抛出运行时异常Array Index Out Of B...

tt 博客 4481

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[JAVA]数组&集合的定义和使用(上)

本文介绍了数组的基本概念和使用方法。主要内容包括:1.数组的基本概念:数组是一种存储相同类型数据的数据结构,通过索引快速访问元素。2.数组的定义与初始化:分为动态初始化和静态初始化两种方式。3.数组的使用:包括数组元素赋值、访问和遍历,介绍了for循环和foreach两种遍历方法。4.数组查找算法:简单讲解了顺序查找和二分查找两种查找方法,并提供了实现代码。

2301_78256786的博客 1738

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java基础:数组(初始化、索引、遍历)

Java中的数组默认初始化值的规律:整数类型:默认初始值0小数类型:默认初始值0.0字符类型:默认初始值'/u0000'空格布尔类型:默认初始值false引用数据类型:默认初始值null初始化就是在内存中为数组容器分配空间,并将数据存入容器的过程。静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};数据类型: 创建的数组容器可以存储什么数据类型。数组数据的类型和数组容器的类型一致。

m0_47097190的博客 1217

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java中 数组的定义与使用

数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。 C语言中数组和指针是相辅相成的一对概念,但是在Java中没有了指针,应该说是被底层给隐藏了,我们没办法用也没办法看见。 所以C语言的数组和Java中的数组是有很多不同的,那么我们在本篇章来看看Java中数组的定义与使用。

weixin_67807492的博客 1344

Java——数组的定义与使用

数组:可以看成是。

qq_63492484的博客 1646

[JAVA]Java 数组、多维数组,动态、静态初始化,数组JVM内存模型分析

![#### 数组、多维数组,静态、动态初始化,都说明白了] 什么是数组 所谓数组,是具有相同数据类型的若干变量或者数据按照一定排序规则组合起来的一种数据存储格式。数组中的数据称为数组元素,我们使用索引来标识数组元素在数组中的存储位置,索引从0开始,步长是1,其后的索引依次递增: ​ 其中,数据类型包括以下两种: 基本数据类:byte,short,int,long,float,double,c...

c2017_1_10的博客 812

Java数组的定义与使用

数组:可以看成是相同类型元素的一个集合。比如:一栋楼里面的房间号。数组在面对操作多个数据时发挥作用,可以适当选着使用方法,并且合理使用。希望这篇博客能帮助到读者更好的了解和使用数组。

2301_80176093的博客 1517

Java 数组的定义与使用

一个引用不能同时指向多个对象,对象不能指向对象,只有引用才能指向对象

优快云_queen_wang的博客 919

Java数组初始化全解析:静态与动态定义格式、内存原理及常见异常排查

数组是Java编程中最基础的数据结构之一,它以连续内存空间存储同类型数据,支持高效的随机访问。在使用数组时,初始化是绕不开的环节,而静态初始化与动态初始化分别适用于数据已知与运行期动态确定的场景。理解其背后的内存分配与默认值机制,能帮助开发者避开NullPointerException等常见异常,并准确排查ArrayIndexOutOfBoundsException越界问题。从数组定义到实际工程选型,再到面试高频考点,掌握这些基础原理,可以为后续集合框架、算法与流式处理打下扎实根基。

weixin_30219613的博客 162

java基础知识3:数组的定义与使用

数组指的是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。 可变参数编程:int… +变量 变量可以是数组 数组动态初始化(声明并开辟数组): 数据类型[ ] 数组名称 = new 数据类型 [长度]; 数组本身是一个有序的集合操作,所以对于数组的内容操作往往采用循环的模式完成。(数组是一个有限的集合,采用for循环) 在java中有一种动态取得数组长度的方法:数组名称....

weixin_44707979的博客 332

Java快速入门之数组、方法

java快速入门之数组、方法

weixin_46239998的博客 1267

9.java数组静态和动态初始化

数组:是一种容器,可以用来存储同种数据类型的多个值数组容器在存储数据的时候,需要结合隐式转换考虑。建议:容器的类型,和存储的类型保持一致。

Gui_tw的博客 949

java数组的定义与使用

数组:是相同类型元素的一个集合,在内存中是一段连续空间数组中存放的元素其类型相同数组的空间是连在一起的每个空间有自己的编号,起始位置的编号为0,即数组的下标。

2201_76124988的博客 1386
上一篇: Java基础快速入门: Random 与猜数字游戏
下一篇: Java基础快速入门:二维数组
Wang's Blog
博客等级 码龄12年 7434粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值