写在前面:
大家好,我是 花狗Fdog ,来自内蒙古的一个小城市,目前在泰州读书。
很感谢能有这样一个平台让我能够在这里分享所学所感。
我喜欢编程,喜欢代码,喜欢去做一个程序员。
努力学习,争取多年后,给亲人更好的生活。
文章目录
- 1.遍历数组
- 2.填充替换数组元素
- 3.对数组进行排序
- 4.复制数组
- 5.数组查询
1.遍历数组
//第一种就是使用for循环实现遍历
package number;
public class Xuexi {
public static void main(String[] args) {
int b[][]=new int[][] {{1},{2,3},{4,5,6}};
for(int k=0;k<b.length;k++)
{
for(int c=0;c<b[k].length;c++)
{
System.out.println(b[k][c]);
}
System.out.println();
}
}
}
运行结果如图:
书上介绍除了使用for语句,还可以使用foreach语句,
package number;
public class Xuexi {
public static void main(String[] args) {
int b[][]=new int[][] {{1},{2,3},{4,5,6}};
int i=0;
for(int x[]:b)
{
i++;
int j=0;
for(int e:x)
{
j++;
if(i==b.length&&j==x.length)
{
System.out.print(e);
}
else
{
System.out.print(e+",");
}
}
}
}
}
运行结果:
不知道大家有没有注意到print和println的区别,看第一块代码,会发现它会换行,而第二块代码不会,通过查找得知print+换行=println。
2.填充替换数组元素
数组中的元素定义完成以后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。
(1)fill(int[] a,int value) a:要进行替换的数组 value:要替换的值
(2) fill(int[] a,int fromIndex,int toIndex,int value) fromIndex:第一个填充的索引 toIndex:最后一个填充的索引==(不包括)==
区别在于(1)用于全部替换,(2)用于指定替换。
package number;
import java.util.Arrays;//别忘了添加Attays类
public class Xuexi {
public static void main(String[] args) {
int arr1[]=new int[]{1,2,3,4,5};
Arrays.fill(arr1,8);
for(int i=0;i<arr1.length;i++)
{
System.out.println("全部替换后"+arr1[i]);
}
System.out.println();
int arr2[]=new int[]{1,2,3,4,5};
Arrays.fill(arr2,2,4,1);
for(int i=0;i<arr2.length;i++)
{
System.out.println("指定替换后"+arr2[i]);
}
}
}
运行结果:
3.对数组进行排序
可使用sort()方法进行排序
package number;
import java.util.Arrays;
public class Xuexi {
public static void main(String[] args) {
int arr[]=new int[]{11,27,13,48,45};
Arrays.sort(arr);
for(int i=0;i<arr.length;i++)
{
System.out.println(arr[i]);
}
}
}
运行结果:
4.复制数组
Arrays类的copyOf()方法与copyOfRange()方法可以实现对数组的复制,copyOf()方法复制数组到指定长度,copyOfRange()方法是将指定数组的指定长度复制到新数组中。
copyOf(arr,newlength)
arr:要复制的数组 newlength:指复制后的新数组的长度,如果新数组的长度大于数组arr的长度,则用0来填充,如果复制后的数组长度小于arr的长度,则会从数组arr的第一个元素开始截取至满足新数组长度为止。
package number;
import java.util.Arrays;
public class Xuexi {
public static void main(String[] args) {
int arr[]=new int[]{11,27,13,48,45};
int newarr[]=Arrays.copyOf(arr,5);
for(int i=0;i<newarr.length;i++)
{
System.out.println(newarr[i]);
}
}
}
运行结果:
copyOfRange(arr,int formIndex,toIndex)
formIndex:指定开始复制数组的索引位置,必须在0到整个数组长度之间。toIndex:要复制范围的最后索引位置,可大于arr的长度,但不包括toIndex索引的元素。
package number;
import java.util.Arrays;
public class Xuexi {
public static void main(String[] args) {
int arr[]=new int[]{11,27,13,48,45};
int newarr[]=Arrays.copyOfRange(arr,0,3);
for(int i=0;i<newarr.length;i++)
{
System.out.println(newarr[i]);
}
}
}
运行结果:
package number;
import java.util.Arrays;
public class Xuexi {
public static void main(String[] args) {
int arr[]=new int[]{11,27,13,48,45};
int newarr[]=Arrays.copyOfRange(arr,0,9); //将3改为9后
for(int i=0;i<newarr.length;i++)
{
System.out.println(newarr[i]);
}
}
}
运行结果:
5.数组查询
(1)binarySearch(Object[],Object key)
a:要搜索的数组 key:要搜索的值,如果key在数组中,返回索引(下角标),否则返回-1或-(插入点)。
(2)binarySearch(Object[],int formIndex,int toIndex,Object key)
formIndex:指定范围的开始处索引 toIndex:指定范围的结束处索引(不包含)
用法和上面一样,就不再列出该方法的代码。
若有错误,欢迎指正批评,欢迎讨论。
人生有两件事最重要:一是要学会选择,二是要学会放弃。我们的命运,取决于自己的选择。所有的选择都有风险,所有的选择都要付出代价,关键在于你想要什么,愿意放弃什么。放弃不是认输,也不是投降,而是一种更重要的选择。不懂得放弃,就做不出选择。选择与放弃,就是决定命运走向的十字路口。