栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java】学习日记 Day10

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java】学习日记 Day10

作者|Rickyの水果摊

时间|2022年7月12日


 今日知识点总结 Java 数组简介 1. 数组的基本概念
  • 数组 是一组数据,存放 多个同一类型 的数据
  • 数组 也是一种数据类型,属于 引用类型
  • 数组 采用 引用赋值 的方式(靠传递 地址 赋值)

2. 数组的初始化 动态初始化:

数组的 动态初始化 常用于 输入值未知 的情况。

//方式1:声明数组后直接 new 分配空间
int[] arr1 = new int[6];   
//int arr1[] = new int[6] 与 int[] arr1 = new int[6] 等价

//方式2:先声明数组,再 new 分配空间
int[] arr2;
arr2 = new int[6];

//循环赋值
for(int i = 0;i < arr2.length;i++){ //arr.length表示数组长度/大小
  arr2[i] = myScanner.nextInt();
}

静态初始化:

数组的 静态初始化 常用于 输入值已知 的情况。

int [] arr3 = {1,2,3,4,5,6};

 PS1:创建数组后,不同类型的数组有 不同的默认值

数据类型默认值
byte0
short0
int 0
long0
float0.0f
double0.0
booleanfalse
charu0000
Stringnull

 PS2:数组的下标 从 0 开始,且必须在指定范围内使用,否则在 运行时抛出「下标越界」异常(编译时不会报错)

int[] arr = new int[6];
System.out.println(arr[6]);  //arr数组的下标范围是 0-5

3. 数组的赋值机制

基本数据类型:采用 「值传递」 的方式,拷贝值是 具体的数据。

数组:采用 「引用传递」 的方式,拷贝值是 地址。

示例程序:

int n1 = 10;
int n2 = n1;
n2 = 100;    //修改n2的值
System.out.println("n1 = " + n1); //查看n1是否有变化
  
int[] arr1 = {1,2,3,4,5,6};
int[] arr2 = arr1;
arr2[0] = 100;    //修改arr2[0]的值
System.out.println("arr1[0] = " + arr1[0]); //查看arr1[0]是否有变化

运行结果:

JVM 内存分析:

由以上分析可知,在 Java 编程中如需 拷贝数组,需要 new 一个新数组,开辟新的内存空间,通过编程实现。


4. 数组拷贝

实现代码:

int[] arr1 = {1,2,3,4,5,6};
int[] arr2 = new int[arr1.length];   //创建相同长度的新数组 arr2,两者有不同的内存空间

for(int i = 0; i < arr1.length; i++){  //拷贝
  arr2[i] = arr1[i];
}
System.out.println("");                //修改arr2
for(int i = 0; i < arr1.length; i++){
    arr2[i] += 1;
}
for(int i = 0; i < arr1.length; i++){  //查看arr1是否被改变
    System.out.print(arr1[i] + " ");
}
System.out.println("");

输出结果:

1 2 3 4 5 6

从输出结果来看,arr1 并没有因为 arr2 的修改而改变,说明拷贝成功,两个数组是互相独立的。✅


✏️ 今日随记

学习 Java 的 第 10 天。⏰

今天主要整理了数组的基础知识,把一些需要注意的点给列了出来,方便以后复习。

今日金句摘录:

「 Think twice,Code once 」


相关博客:

【Java】学习日记Day 9

【Java】学习日记Day 8

【Java】学习日记Day 7

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013093.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号