java中一维数组的使用(初级)
程序员文章站
2024-03-04 15:36:35
...
数组只是一个名称,即标识符。
数组是一次性声明多个相同类型的变量,变量的名称都相同,使用序号(下标)来访问。
数组实际上是一个容器,用于装(存储)数据,数组数据类型相同,而且是有序的。
【1】数组的基本操作(必须要会)
(1) 声明数组的两种方法
声明数组变量就是内存空间划出一 [串] 合适的空间
声明数组:
int [] array;
int array[];
声明并分配空间:
int [] array = new int[5];
String [] str = new String[5];
int类型初始默认值为0double(1) 类型默认值为0.0
String 为引用数据类型,默认值为null
char 类型的默认值是u/0000,若果直接输出会什么也不输出
boolean 类型的默认值是false
(2) 数组的长度:
数组名.length; 将得到数组的长度,所以数组名.length的结果是int类型
int len=arr.length;
(3)数组中元素的赋值
a)数组的静态赋值,如果在java 程序之前就已经知道了数组中元素的值
int []array = {12,34,5,6,7};
int []array = new int [ ] {12,34,5,6,7}; // 这里 [ ] 中不能写数字
如:
int[]array;
array = new int[]{12,34,5,6,7};
b)动态赋值,在java程序运行之前,其值不知道,而是在运行时,通过键盘录入的方法实现
for(int i = 0;i < 数组名.length;i++){
数组名[i]= input.nextInt();
}
(4)声明数组是在栈内存中声明,而赋值则在堆内存中。
System.out.println( "array [0] = " + array[0] );// 是下标为0的值
System.out.println( "array = " + array );// 是内存地址
输出结果:array [0] = 12
array = [aaa@qq.com
(5)数组的遍历--常用操作--就是将数组中的元素依次输出
正序输出:
public static void print(int [] array){
for(inti=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
}
倒序输出:for(int i = 数组名.length - 1 ; i >= 0;i - -){
System.....;
}
(6)数组的排序 --> 正向排序,由小到大升序
需要导包import java.util.Arrays;// Arrays这个包用于排序,升序
或:import java.util.*; // 导的是util中所有的包;
调用方法:Arrays.sort(数组名);
【2】数组间的赋值
(1)赋内存地址
public class Demo3{
publicstatic void main(String [] args){
/声明int类型的数组,同时给数组中的元素赋值
int [] arrayA={12,3,4,23};
//声明并分配空间,6个空间,默认值为0
int [] arrayB=new int[6];
System.out.println("赋值之前");
System.out.println("arrayA="+arrayA);
System.out.println("arrayB="+arrayB);
//赋值
arrayB=arrayA; //从右到左进行赋值
System.out.println("\n赋值之后");
System.out.println("arrayA="+arrayA);
System.out.println("arrayB="+arrayB);
for(int i=0;i<arrayB.length;i++){
System.out.print(arrayB[i]+"\t");
}
}
}
运行效果图(dos窗口):内存分析图:
(2)赋元素的值
import java.util.*;
public class Demo4{
public static void main(String [] args){
//声明int类型的数组,同时给数组中的元素赋值
int [] arrayA={12,3,4,23};
//声明并分配空间,6个空间,默认值为0
int [] arrayB=new int[6];
for(int i=0;i<arrayA.length;i++){
arrayB[i]=arrayA[i]; //赋的是堆内存中的值
}
//输出数组B
for(int i=0;i<arrayB.length;i++){
System.out.print(arrayB[i]+"\t");
}
}
}
运行效果图(dos窗口):内存分析图:
接下来我会介绍数组的其他遍历方式,冒泡算法和排序算法
欢迎大家指正提问!
上一篇: IO流--字节流