萌新卷妹带你从头复习JavaSE-数组1
萌新卷妹带你从头复习JavaSE-数组1
✨欢迎关注🖱点赞🎀收藏⭐留言✒
🔮本文由京与旧铺原创,csdn首发!
😘系列专栏:java学习
💻首发时间:🎞2022年10月13日🎠
🎨你做三四月的事,八九月就会有答案,一起加油吧
🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦
🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲
💬推荐一款模拟面试、刷题神器👉[点击进入网站
🎨1.Java数组的基本用法
🎳1.1数组的定义方式
🍁方式1: $$数据类型[]\ 变量名\ =\ {元素1,元素2,元素3,...,元素n};$$ $$int[]\ arr\ =\ {1,2,3,4,5,6,7,8,9,0};$$
🍁方式2: $$数据类型[]\ 变量名\ =\ new\ int[]{元素1,元素2,元素3,...,元素n};$$ $$int[]\ arr\ =\ new\ int[]{1,2,3,4,5,6,7,8,9,0};$$ ❗️new
后面那个中括号里面不能指定元素个数,必须是空的!
🍁方式3: $$数据类型[]\ 变量名\ =\ new\ int[元素个数];\ (数组全部元素会初始化为0)$$
🎳1.2数组的创建与使用
🍁数组的创建:
int[] data1 = {1,2,3,4,5,6,7,8,9,0};
int[] data2 = new int[]{1,2,3,4,5,6,7,8,9,0};
int[] data3 = new int[10];
🍁数组的使用:
import java.util.Arrays;
public class TestBlog {
public static void main(String[] args) {
//创建数组
int[] arr = new int[]{1,2,3,4,5,6,7,8,9,0};
//访问数组长度
System.out.println(arr.length);
//访问数组元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
//遍历数组 1.for循环 2.foreach循环 3.toString函数
//方式1:for循环
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
//方式2:foreach循环
for (int a: arr) {
System.out.print(a + " ");
}
System.out.println();
//方式3:toString函数
System.out.println(Arrays.toString(arr));
}
}
对于数组遍历方式2:
for (接受变量: 数组) {
//语句块;
//此方法不能获取下标
}
对于遍历方式3: toString
是JavaArrays
类中的一个方法,能够将数组转换成字符串,有,
隔开元素,中括号[]
包裹数组所有元素!
🎨2.Java类型之引用
🎳2.1引用类型
在Java当中数组其实是一个对象,我们知道在数组定义时有两种方式都用到了关键字new
,这个关键字就是实现类的实例化,实例出一个对象,使用一个能接收“实例化对象的值”的类型就是引用类型。这个“实例化对象的值”其实是一个地址,该地址指向该数组(对象),比如下面定义的x
变量定义一个数组,这个x
就是引用变量。这个与C语言中的指针有一点相似,但是它并不是指针,引用变量是一个值,在这里,该值是这个数组的地址。我们知道我们所定义的x
变量是局部变量所以它在栈上生成,而这个数组(对象)是在堆上开辟内存的。 null
表示空引用,与C语言中的NULL
很相似,表示一个无效的内存位置,既然这个内存是无效的,那肯定就不能对这个内存指向的空间进行读写。注意: Java 中并没有约定 null
和 0
号地址的内存有任何关联.
数据类型[] 变量名 = new int[元素个数]; (数组全部元素会初始化为0)
int[] x = new int[3];
x[0] = 10;
x[1] = 20;
x[2] = 30;
所谓的 "引用" 本质上只是存了一个地址. Java 将数组设定成引用类型, 这样的话后续进行数组参数传参, 其实只是将数组的地址传入到函数形参中. 这样可以避免对整个数组的拷贝(数组可能比较长, 那么拷贝开销就会很大) 下面用一个数组传参的例子来进一步理解引用。
🎳2.2数组传参
public class TestBolg {
public static void arrFunc(int[] arr) {
if (arr == null) {
return;
}
for (int i = 0; i < arr.length; i++) {
arr[i] = 10 * (i+1);
}
}
public static void main(String[] args) {
int[] x = new int[3];
arrFunc(x);
System.out.println(Arrays.toString(x));
}
}
对于数组的传参就是将一引用变量的值传递给方法的形参,由于引用变量存的是对象的地址,所以方法会根据传入的参数对数组(实例化的对象)进行修改或读写操作,从而使数组内元素的值发生改变,这就是引用传递。
🎳2.3认识JVM区域划分
- 点赞
- 收藏
- 关注作者
评论(0)