第五章(数组)
1、在Java中可以将数组看做是一个对象虽然基本数据类型不是对象但有基本数据类型组成的数组是对象。
2、对于二维数组求第二维就用array[0].length, array.length就是默认的是第一维的长度。
3、foreach并不是一个新的语法它是for的循环的格式化主要执行遍历功能的循环,example:
int arry ={1,2,3,4,5};
for(int i :array){
system.out.println():
}
4、数组元素定义完以后可通过Arrays类的静态方法fill()来对数组元素进行替换。example:
package com.lenovo.diwuzhang;
import java.util.Arrays;
public class Fill {
public static void main(String[] args) {
int arr[]=new int[5];
Arrays.fill(arr, 8);
for (int i = 0; i < arr.length; i++) {
System.out.println("第"+(i+1)+"个元素是:"+arr[i]);
}
}
}
数组如果没有初始化默认为0
5、填充部分数组 Arrays.fill(a, fromIndex, toIndex, val),a是数组名字[fromIndex, toIndex),val填充的值
6、用静态类Arrays.srot(数组名)对数组进行排序Java中的String 类型数组的排序算法是根据字典编排循序排序的因此数字排在字母前面,大写字母排在小写字母前面
7、Arrays类的copyof()方法与copyOfRange()方法可以实现对数组的复制。对已经copyof的数组要赋给新的变量,
package com.lenovo.diwuzhang;
import java.util.Arrays;
public class Copy {
public static void main(String[] args) {
int arr[]=new int[]{23,22,34};
System.out.println("原数组如下:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println("\n 复制的新数组如下:");
int newarr[]=Arrays.copyOf(arr,5);
for (int i = 0; i < newarr.length; i++) {
System.out.print(newarr[i]+"\t");
}
}
}
Arrays.copyOfRange(arr, from, to)同上[from, to
如果新的数组的长度大于原数组的长度则用0填充int char型用null,如果复制后的数组长度小于数组arr的长度会从数组arr的第一个元素开始截取知道满足新数组长度为止。
package com.lenovo.diwuzhang;
import java.util.Arrays;
public class Bubblesort {
public static void main(String[] args)
{
int arr[]={5,1,2,8,4,6,9,7,3,0};
int temp ;
System.out.println("原有数组内容:");
printArr(arr);
System.out.println("\n从小到大排序后的结果为:");
Arrays.sort(arr);
printArr(arr);
System.out.println("\n从大到小排序后的结果为:");
for (int j = 1; j < arr.length; j++) {
for (int i = 0; i < arr.length-j; i++) {
if (arr[i]<arr[i+1]) {
temp =arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}
printArr(arr);
}
public static void printArr(int arr[]){
for(int i:arr)
{
System.out.print(i+" ");
}
}
}
本文出自 “autoComplete” 博客,转载请与作者联系!
原文:http://7129486.blog.51cto.com/7119486/1438158