package d4;
public class li1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
char a [] = {'A','B','C','D'};
System.out.println("数组a的长度为" + a.length);
char b [] = a;
System.out.println("数组b的长度为" +b.length);
}
}
例4.2
package d4;
public class li2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int day[] = new int[] {31,28,31,30,31,30,31,31,30,31,30,31};
//for (int i = 0; i < 12; i++) {利用循环将信息输出
for (int i = 0; i < day.length; i++) {
System.out.println((i+1) +"月有" + day[i] + "天");//输出的信息
}
}
}
4.3 二维数组
例4.3
package d4;
public class li3 {
public static void main(String[] args) {
int tdarr1[][] = { { 1, 3, 5 }, {5, 9, 10 } };//创建并初始化二维数组
int tdarr2[][] = new int[][] { { 65, 55, 12 }, {92, 7, 22 } };//创建并初始化二维数组
int tdarr3[][] = new int[2][3];//先给数组分配内存空间
tdarr3[0] = new int[] { 6, 54, 71 };//创建一维数组
tdarr3[1][0] = 63;//给第二行第一列赋值为63
tdarr3[1][1] = 10;//给第二行第二列赋值为10
tdarr3[1][2] = 7;//给第二行第三列赋值为7
}
}
例4.4
package d4;
public class li4 {
public static void main(String[] args) {
char arr[][] = new char[4][];
arr[0] = new char[] {'春','眠','不','觉','晓'};//为每一行赋值
arr[1] = new char[] {'处','处','闻','啼','鸟'};//为每一行赋值
arr[2] = new char[] {'夜','来','风','语','声'};//为每一行赋值
arr[3] = new char[] {'花','落','知','多','少'};//为每一行赋值
System.out.println("-----横版-----");
for (int i = 0; i < 4; i++) {//循环4行
for (int j = 0; j < 5; j++) {//循环5列
System.out.print(arr[i][j]);//输出数组中的元素
}
if (i % 2 == 0) {
System.out.println(",");//如果是一,三句,输出逗号
}else {
System.out.println("。");//如果是二,四句,输出句号
}
}
System.out.println("-----竖版输出-----");
for (int j = 0; j < 5; j++) {//列变行
for (int i = 3; i >= 0; i--) {//行变列
System.out.print(arr[i][j]);//输出数组中的元素
}
System.out.println();//换行
}
System.out.println("。,。,");//输出最后的标点
}
}
例4.5
package d4;
public class li5 {
public static void main(String[] args) {//主函数
int a[][]= new int[3][];//创建二维数,指定行数,不指定列数
a[0] = new int[] {52, 64,85,12,3,64};// 第一行分配6个元素
a[1] = new int[] { 41,99,2};//第二行分配3个元素
a[2] = new int[] { 285, 61,278,2 };// 第三行分配4个元素
for (int i =0; i
4.4 数组的基本操作
例4.6
package d4;
public class li6 {
public static void main(String[] args) {//主函数
int b[][] = new int[][] { { 1 },{ 2,3 },{ 4,5,6 } }; // 定义二维数组
for (int k= 0; k
例4.7
package d4;
import java.util.Arrays;
public class li7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = new int[5];
Arrays.fill(arr, 8);
for (int i = 0; i < arr.length; i++) {
System.out.println("第"+i +"个元素是"+arr[i]);
}
}
}
例4.8
package d4;
import java.util.Arrays;
public class li8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = new int[] {45,12,2,77,31,91,10};
Arrays.fill(arr, 1, 4, 8);
for (int i = 0; i < arr.length; i++) {
System.out.println("第"+i +"个元素是"+arr[i]);
}
}
}
例4.9
package d4;
import java.util.Arrays; //导入java.util.Arrays类
public class li9 {
public static void main(String[] args) { //主方法
int arr[] = new int[] {23,42,12}; //定义数组
int newarr[] =Arrays.copyOf(arr, 5); //复制数组arr
for (int i = 0; i < newarr.length; i++) {//循环变量复制后的新数组
System.out.println("第"+i +"个元素是"+newarr[i]);//将新数组输出
}
}
}
例4.10
package d4;
import java.util.Arrays;
public class li10 {
public static void main(String[] args) {//主函数
int arr[] = new int[] { 23, 42 , 12, 84, 10 }; // 定义数组
int newarr[] = Arrays.copyOfRange(arr, 0, 3);//复制数组arr
for (int i = 0; i
4.5 数组的排序
例4.11
package d4;
public class li11 {
public static void main(String[] args) {
int[] array= {63,4,24,1,3,15};//创建一个数组
li11 sorter= new li11();//创建冒泡排序类的对象
sorter.sort(array);//调用排序方法将数组排序
}
private void showArray(int[] array) {
System.out.println("冒泡排序的结果;");
for(int i: array) {//遍历数组
System.out.print(i+" ");//输出每个元素的值
}
System.out.println();
}
public void sort(int[] array) {
for (int i=1;iarray[j+1]) {//如果前一个元素比后一个元素大,则两元素互换
int temp=array[j];//把第一个元素值保存到临时变量中
array[j]=array[j+1];//把第二个元素值保存到第一个元素单元中
array[j+1]=temp;//把临时变量(也就是第一个元素原值)保存到第二个元素中
}
}
}
showArray(array);}}//输出冒泡排序后的数组元素
例4.12
package d4;
public class li12 {
public static void main(String[] args) {
int[] array= {63,4,24,1,3,15};//创建一个数组
li12 sorter=new li12();//创建直接排序类的对象
sorter.sort(array);//调用排序对象的方法将数组排序
}
public void sort(int[] array) {
int index;
for(int i=1;iarray[index]) {
index=j;
}
}//交换在位置array.length-i和index(最大值)上的两个数
int temp=array[array.length-i];//把第一个元素值保存到临时变量中
array[array.length-i]=array[index];//把第二个元素值保存到第一个元素单元中
array[index]=temp;//把临时变量也就是第一个元素原值保存到第二个元素中
}
showArray(array);//输出直接选择排序后的数组值
}
private void showArray(int[] array) {
System.out.println("选择排序结果为:");
for(int i:array) {//遍历数组
System.out.print(i+" ");//输出每个数组元素值
}
System.out.println();
}}
例4.13
package d4;
import java.util.Arrays;
public class li13 {
public static void main(String[] args) {
int arr[] = new int[] { 23, 42, 12, 8 }; // 声明数组
Arrays.sort(arr); //将数组进行排序
System.out.println("排序后的结果为");//输出排序后的结果
for (int i =0; i < arr.length; i++){ //循环遍历排序后的数组
System.out.print(arr[i]+" "); //将排序后数组中的各个元素输出
}
}
}



