大佬教程收集整理的这篇文章主要介绍了Java 数组的使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
数组:可以看作相同类型元素的一个集合c;且在内存中是一块连续的内存空间
基本语法格式:
T[ ] 数组名 = new T[n]; . ① Tc;即Typec;表示:数组中存放元素的类 ② T[ ]c; 表示:数组的类型 ③ Nc; 表示:数组的长度
创建一个可以容纳@H_197_45@10个int类型元素的数组
int[] array1 = new int[@H_197_45@10];
创建一个可以容纳@H_197_45@5个double类型元素的数组
double[] array2 = new double[@H_197_45@5];
数组的初始化主要分为动态初始化和静态初始化
基本语法格式:
int[ ] array = new int[10] 在创建数组时c;直接指定数组中元素的个数
基本语法格式:
int[ ] array1 = new int[ ] {0c;1c;2c;3c;4c;5c;6}; double[ ] array2 = new double[ ]{1.0c; 2.0c; 3.0c; 4.0c;5.0};
数组的长度属性: 每个数组都具有长度c;而且是固定的c;Java中赋予了数组的一个属性c;可以获取到数组的长度c;语句为:数组名.length
int[ ] array = new int[ ]{1,2,3,4,5,6}; int len = array.length; 此处的 length 是属性
数组在内存中是一段连续的空间c;空间的编号都是从0开始的c;依次递增c;该编号称为数组的下标c;数组可以通过下标访问其任意位置的元素
索引:每一个存储到数组的元素c;都会自动的拥有一个编号c;从0开始c;这个自动编号称为数组索引 (indeX)c;可以通过数组的索引访问到数组中的元素 由数组的长度知c;属性 length 的执行结果是数组的长度c;int类型结果c;则数组的最大索引值为数组名.length-1
格式: 数组名[索引]
public static void @H_979_185@main(String[] args) {
//定义存储int类型数组c;赋值元素1c;2c;3c;4c;5
int[] arr = {@H_197_45@1,@H_197_45@2,@H_197_45@3,@H_197_45@4,@H_197_45@5};
//为0索引元素赋值为6
arr[@H_197_45@0] = @H_197_45@6;
//获取数组0索引上的元素
int i = arr[@H_197_45@0];
System.out.println(i);
//直接输出数组0索引元素
System.out.println(arr[@H_197_45@0]);
}
“遍历”:是指将数组中的所有元素都访问一遍 这里用打印的方式展示遍历:
int[] array = new int[]{@H_197_45@1,@H_197_45@2,@H_197_45@3,@H_197_45@4,@H_197_45@5,@H_197_45@6};
int len = array.length;
for(int i=@H_197_45@0;i<len;i++){
System.out.println(array[i]);
}
延申: Java中的打印方式c;出了上述的c;还有foreachc;即:for( 遍历的数组内容 :数组本身) 代码如下:
for (int val:array) {
System.out.println(val+" ");
}
二者区别: for循环遍历打印数组c;需要索引c;而foreach不需要c;若单纯的想要遍历数组c;用foreach即可
//使用数组实现交换两个整数
public static void swap(int[] array){
int tmp = array[@H_197_45@0];
array[@H_197_45@0] = array[@H_197_45@1];
array[@H_197_45@1] = tmp;
}
public static void @H_979_185@main(String[] args) {
int[] array1 = {@H_197_45@10,@H_197_45@20};
System.out.println("交换前:"+array1[@H_197_45@0]+" "+array1[@H_197_45@1]);
swap(array1);
System.out.println("交换后:"+array1[@H_197_45@0]+" "+array1[@H_197_45@1]);
}
输出结果:
交换前:@H_197_45@10 @H_197_45@20
交换后:@H_197_45@20 @H_197_45@10
使用方法toString 需要调用包 java.util.Arrays
int[] arr = {@H_197_45@1,@H_197_45@2,@H_197_45@3,@H_197_45@4,@H_197_45@5,@H_197_45@6};
String ret = Arrays.toString(arr);
System.out.println(ret);
基本数据类型创建的变量c;称为基本变量c;该变量空间中直接存放的是其所对应的值; 引用数据类型创建的变量c;一般称为对象的引用c;其空间中存储的是对象所在空间的地址
public static void func() {
int a = @H_197_45@10;
int b = @H_197_45@20;
int[] arr = new int[]{@H_197_45@1,@H_197_45@2,@H_197_45@3};
}
在上述代码中:ac;bc;arrc;都是函数内部的变量c;因此其空间都在main方法对应的栈帧中分配; a、b是内置类型的变量c;因此其空间中保存的就是给该变量初始化的值。 array是数组类型的引用变量c;因为都为引用其内部保存的是数组在堆空间中的首地址
引用变量并不直接存储对象本身c;而存储的是对象在堆中空间的起始地址c;通过该地址c;引用变 量便可以去操作对象。有点类似C语言中的指针c;但是Java中引用要比指针的操作更简单null 在 Java 中表示 “空引用”c;也就是一个不指向对象的引用c;即:空对象
int[ ] arr = null; //arr引用的是一个空对象 System.out.println(arr[0]); 此处不能访问0下标c;因为没有所指对象
null 的作用类似于 C 语言中的 NULL (空指针)c; 都是表示一个无效的内存位置c;因此不能对这个内存进行任何读写操作c;Java 中并没有约定 null 和 0 号地址的内存有任何关联
将一个数组内容扩大二倍:
public static int[] fun(int[] array){
int[] tmp = new int[array.length];
for (int i = @H_197_45@0; i <array.length; i++) {
tmp[i] = array[i] * @H_197_45@2;
}
return tmp;
}
public static void @H_979_185@main(String[] args) {
int[] array = {@H_197_45@1,@H_197_45@2,@H_197_45@3,@H_197_45@4,@H_197_45@5,@H_197_45@6,@H_197_45@7,@H_197_45@8};
int[] ret = fun(array);
System.out.println(Arrays.toString(ret));
}
二维数组本质上也就是一维数组, 只不过每个元素又是一个一维数组 即:数组的数组就是一个二维数组
int[][] array1 = new int[@H_197_45@10][@H_197_45@10];
int array2[][] = new int[@H_197_45@10][@H_197_45@10];
int array3[][] = { { @H_197_45@1, @H_197_45@1, @H_197_45@1 }, { @H_197_45@2, @H_197_45@2, @H_197_45@2 } };
int array4[][] = new int[][] { { @H_197_45@1, @H_197_45@1, @H_197_45@1 }, { @H_197_45@2, @H_197_45@2, @H_197_45@2 } };
// 获取二维数组的第一维长度(3)
int len1 = array.length;
// 获取二维数组的第一维的第一个数组长度(1)
int len2 = array[@H_197_45@0].length;
进行开发之中c;出现二位数组的几率并不高
java.util.Arrays 类提供的所有方法都是静态的c;能方便地操作数组c;
由于数组对象本身并没有什么方法可以供我们调用c;但API中提供了一个工具类Arrays供我们使用c;从而可以对数据对象进行一些基本的操作。 Arrays类中的方法都是static修饰的静态方法c;在使用的时候可以直接使用类名进行调用c;而"不用"使用对象来调用 (注意:是"不用"而不是"不能") Array具有的功能这里就不一一列举了c;可以去JDK帮助文档自行了解
以上是大佬教程为你收集整理的Java 数组的使用全部内容,希望文章能够帮你解决Java 数组的使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。