java数组a i_Java数组

数组的声明、创建、初始化

声明数组变量

daouble[] myList;/*首选这个dataType[] arrayRefvar,这个写法风格来自C/C++语言,在Java这么写主要是让C/C++程序员快速理解Java*/

double myList[];//dataType[] arrayRefvar[]的写法与上面的效果是一样的

创建数组(使用new操作符)

arrayRefvar = newdataType[arraySize];/*1.使用dataType[arraySize]创建一个数组;2.将创建的taType[arraySize]数组赋值给arrayRefvar ;*/

声明和创建数组

dataType[] arrayRefVar = new dataType[arraySize];

dataType[] arrayRefVar ={value0,value1,...,valuen};/*数组通过索引访问,索引值从0到arrayRefVar.length-1*/

实例:

public classTest{public static voidmain(String[] args){int size = 5;//数组大小

double[] myList = new double[size];//定义数组

myList[0] = 5.6;

myList[1] = 4.5;

myList[2] = 5.5;

myList[3] = 4.4;

myList[4] = 1.1;//计算数组的和

double total = 0;for(int i=0;i

total+=myList[i];

}

System.out.println("数组和为:"+total);

}

}

运行结果

数组和为:21.1

处理数组

数组的元素类型和大小是确定的,常用基本循环或者For-Each循环

实例

public classTest{public static voidmain(String[] args){double[] myList = {1.9,2.9,3.4,3.5};//打印数组所有元素 for(int i=0;i

System.out.println(myList[i]);

}//计算数组所有值的和 double dou=0;for(int i=0;i

dou+=myList[i];

}

System.out.println("和:"+dou);//找出数组里的最大值 double max=myList[0];for(int i=1;imax){

max=myList[i];

}

System.out.println("最大值:"+max);

运行结果

1.9

2.9

3.4

3.5和:11.7最大值:3.5

使用For-Each循环(遍历数组)

for(type element:array){

System.out.println(element);

}//语法格式

实例

public classTest{public static voidmain(String[] args){double[] myList = {1.9,2.9,3.4,3.5};//打印所有数组

for(ouuble element:myList){

System.out.println(element);

}

}

}

运行结果

1.9

2.9

3.4

3.5

————————————————————————

数组作为函数的参数

public static void printArray(int[] array){for(int i=0;i

System.out.println(array[i]);

}

}//调用printArray方法打印出数组

printArray(new int[]{1,2,3,4,5});

_________________

数组作为函数的返回值

public static int[] reverse(int[] list){int[] result = new int[list.length];for(int i=0,j=result.length-1;i

result[j]=list[i];

}returnresult;

}

________________________

多维数组(以二维数组为例)

String str[][] = new String[3][2];/*格式type[][] typeName = new type[typeLength1][typeLength2];

type可以是基本数据类型和符合数据类型,typeLength1、typeLength2必须是正整数,

typeLength1是行数,typeLength2是列数*/

引用

arrayName[index1][index2];

______________________

Array类

java.util.Arrays类提供的所有方法是静态的,可以

1.给数组赋值:通过fill方法

2.对数组排序:通过sort方法,升序

3.比较数组:通过equals方法比较数组元素值是否相等

4.查找数组元素:通过binarySearch 方法能对排序好的数组进行二分法查找

方法和说明:

1.public static int binarySearch(Objecct[] a,Object key)

用二分法查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好,如果查找值包含在数组中,则返回索引键的索引,否则返回(-(插入点)-1).

2.public static boolean equals(long[] a,long[] a2)

如果两个指定的long型数组相等,则返回true。

如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组相等。也就是说,如果两个数组以相同顺序包含相同元素,则两个数组相等。(Byte,short,Int亦然)

3.public static void fill(int[] a,int val)

将指定的int值分配给指定的int型数组指定范围中的每个元素,同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

4.public sstatic void sort(Object[] a)

对指定对象数组根据其元素的自然顺序进行升序排列,同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值