Java第四天记录

个人总结
1、静态初始化数组
在这里插入图片描述
在这里插入图片描述

注意
"数据类型[] 数组名"也可写成 "数据类型 数组名[] "。
什么类型的数组只能存放什么类型的数据。
数组一旦定义完成,类型确定,长度固定,不可以发生改变,内容可以改。
数组中既可以存储基本数据类型的数据,也可以存储引用数据类型的数据。
2、数组遍历快捷键:数组名.fori回车。
3、数组的动态初始化:定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度。格式:
数据类型[] 数组名 = new 数据类型[长度]
int[] arr = new int[3];
4、
在这里插入图片描述

5、静态初始化和动态初始化数组的写法是独立的,不可以混用。
在这里插入图片描述

6、动态初始化:适合开始不确定具体元素值,只知道元素个数的业务场景。
静态初始化:适合一开始就知道要存入哪些元素值的业务场景。
7、
在这里插入图片描述

8、
在这里插入图片描述

========================================

分割线,老师总结:

==================================================================================================================

Java数组的概念与特点

Java中的数组就是一个容器(存储东西),特点:Java的数组长度是固定,Java中的数组存储元素的类型需要相同,Java中的数组可以存储多个元素。

==================================================================================================================

★Java数组的静态初始化

创建格式:(完整格式)数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,元素4};

创建格式:(简化格式)数据类型[] 数组名 = {元素1,元素2,元素3,元素4};

特点:当我们明确数组中要存储的内容的时候,就使用静态初始化。

==================================================================================================================

★Java数组的动态初始化

创建格式:数据类型[] 数组名 = new 数据类型[长度];

特点:当我们明确数组中要保存的元素个数,但是不明确具体保存的内容(需要后期赋值)的时候使用动态初始化。

注意事项:(1)无论是哪种初始化,数组创建完成之后,长度不可以变 (2)不可以两种初始化方式混用

动态初始化创建完数组后,数组中的元素都是默认值 整数+char:0 小数:0.0 布尔:false 引用:null

==================================================================================================================

★Java数组的元素访问

Java数组对于的元素的访问就只有一种方式:基于【索引】。

索引:数组中元素对应的编号,用于方便获取到对应的元素,编号从0开始,到数组的长度-1结束。

1.给指定索引的元素赋值 数组名[索引] = 要赋的值; 2.获取指定索引的元素 数组元素数据类型 变量名 = 数组名[索引];

数组的长度(可以保存元素的个数)可以基于 数组名.length; 进行获取(int值) 只可取值不可赋值。

==================================================================================================================

Java数组在内存中的创建过程与内存分配

Java虚拟机为了更方便的执行代码,将内部的内存划分成了不同的区域,每一个区域都有自身的特点与功能。
方法进栈,new进堆

(1)方法区 (2)栈区/栈内存 (3)堆区/堆内存 (4)本地方法栈区 (5)暂存器/程序计数器

方法区:用于加载.class文件,读取.class文件中类中的方法

栈区:当方法执行的时候进栈,在栈区开辟空间,所有方法中创建的变量均在方法的空间中进行保存。

堆区:当new的时候会在堆内存中开辟空间,生成地址值,进行数据的保存。

不同数据类型创建的时候的区别:1.基本数据类型 变量与变量具体的值都在栈中(访问速度快) 2.引用数据类型int[] double[] 实际的内存在堆区中,堆区有一个地址值,在栈中声明一个变量保存地址值。

int[] arr = new int[5]的时候 ==> int[] arr(栈) new int5 => 会在堆区开辟一块空间,生成地址值赋值给栈区arr,动态初始化每一个元素都是默认值。

==================================================================================================================

Java数组的遍历方式

for(int i = 0;i < 数组名.length;i++){

//基于数组名[i]来对每一个索引的元素赋值/取值

}

for(int i = 数组名.length - 1;i >= 0;i–){}

IDEA中的快捷方式: 数组名.fori [前序遍历] / 数组名.forr [后序遍历]

==================================================================================================================

IDEA中Debug的使用方式

在代码前加断点,以Debug的方式运行,会在加了断点的代码执行前暂时,通过点击折线箭头可以向下运行一行,通过观察Debugger的Variables区,可以看到代码执行过程中的所有变量情况。

==================================================================================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值