Java数组的练习

目录

一、数组的初始化

二、杨辉三角

三、获取arr数组中所有元素的和。

 四、求数值型数组中元素的最大值、最小值、平均数、总和

 五、数组的赋值

 六、数组的复制

 七、数组的反转

 八、数组的查找(线性查找、二分查找)

1、线性查找

 2、二分查找(折半查找)

九、冒泡排序


一、数组的初始化

public class ArrayTest001 {
	public static void main(String[] args) {
		//一维数组的初始化
		//静态初始化
		int[] num1=new int[] {1,2,3};
		int[] num2= {1,2,3};
		//动态初始化
		int[] num3=new int[3];
		int[] num4;
		num4=new int[3];
		
		//二维数组初始化
		//静态初始化
		int[][]num5=new int[][] {{1,2},{1,2,3}};
		int[][] num6=new int[][]{{1,2,3},{4,5}};
		//动态初始化
		int[][] num7=new int [2][2];
		
		
	}
}

二、杨辉三角

使用二维数组打印一个 10 行杨辉三角。

public class YangHuiTest {
	public static void main(String[] args) {
		int[][] yangHui=new int[10][];
		for(int a=0;a

运行结果如下:

Java数组的练习_第1张图片

三、获取arr数组中所有元素的和。

public class ArrayTest002 {
public static void main(String[] args) {
	//获取arr数组中所有元素的和
	int[][] arr=new int[][] {{3,5,8},{12,9},{7,0,6,4}};
	for(int i=0;i

 运行结果如下:

Java数组的练习_第2张图片

 四、求数值型数组中元素的最大值、最小值、平均数、总和

定义一个int型的一维数组,包含10个元素,分别赋一些随机整数, 然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。 要求:所有随机数都是两位数。

public class ArrayTest003 {
	public static void main(String[] args) {
		/*
		定义一个int型的一维数组,包含10个元素,
		分别赋一些随机整数, 然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。 
		要求:所有随机数都是两位数。
		*/
		int[] num=new int[10];
		int min,max;
		int sum=0;
		for(int i=0;i=num[i]) {
				min=num[i];
			}
			sum+=num[i];
		}
		
		for(int i=0;i

运行结果如下:

Java数组的练习_第3张图片

 五、数组的赋值

(1)创建一个名为ArrayTest004的类,在main()方法中声明array1和array2两个变量, 他们是int[]类型的数组。

(2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。

(3)显示array1的内容。

(4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值 (如array[0]=0,array[2]=2)。打印出array1

public class ArrayTest004 {
	public static void main(String[] args) {
		int[] array1=new int[]{2,3,5,7,11,13,17,19};
		System.out.print("赋值前:");
		for(int i=0;i

运行结果如下:

 Java数组的练习_第4张图片

 赋值时只是将地址赋值给了array2

Java数组的练习_第5张图片

 六、数组的复制

实现题五array2对array1数组的赋值

public class ArrayTest005 {
	public static void main(String[] args) {
		int[] array1=new int[]{2,3,5,7,11,13,17,19};
		System.out.print("array1:");
		for(int i=0;i

运行结果如下:

Java数组的练习_第6张图片

原理: Java数组的练习_第7张图片

 七、数组的反转

将数组arr反转输出

public class ArrayTest006 {
	public static void main(String[] args) {
		String[] arr=new String[] {"aa","bb","cc","dd","ee"};
		System.out.print("反转前:");
		for(int i=0;i

运行结果如下:

Java数组的练习_第8张图片

 八、数组的查找(线性查找、二分查找)

1、线性查找

查找元素是否在数组中

package com.zss.Practice;
//数组查找

public class ArrayTest007 {

	public static void main(String[] args) {
		//线性查找
		String[] arr=new String[] {"aa","bb","cc","dd","ee"};
		String dest="cc";
		boolean IsFlag=false;
		for(int i=0;i

运行结果如下:

 2、二分查找(折半查找)

前提:要查找的数组必须有序

package com.zss.Practice;
//数组查找

public class ArrayTest007 {

	public static void main(String[] args) {
		//二分法查找
		int[] num=new int[] {1,2,3,5,8,9,10,18};
		int target=5;
		int start=0;
		int end=num.length-1;
		boolean flag=false;
		while(start<=end) {
			int middle=(start+end)/2;
			if(num[middle]==target) {
				flag=true;
				System.out.println("找到了指定元素,下标为:"+middle);
				break;
			}else if(num[middle]

运行结果如下:

Java数组的练习_第9张图片

九、冒泡排序


//冒泡排序
public class MaoPao {
	public static void main(String[] args) {
		int[] num=new int[] {12,13,16,11,25,127,15};
		for(int i=0;inum[j+1]) {
					int temp=num[j];
					num[j]=num[j+1];
					num[j+1]=temp;
				}
			}
		}
		for(int i=0;i

运行结果如下:

你可能感兴趣的:(Java学习,java,算法)