【java】数组练习

本文深入探讨了Java中的数组,包括创建、初始化、遍历、操作及数组相关的技巧。通过实例代码,详细讲解了如何进行多维数组的使用,以及数组与集合之间的转换。此外,还介绍了数组排序和搜索算法的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.test.bs;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Test_Arrays {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		int a[]=new int[5];
//		int[] b=new int[5];
//		遍历一维数组
//		int c[]= {3,-2,5,-6};
//		for(int i:c){
//			System.out.print(i+" ");
//		}
//		for (int i = 0; i < c.length; i++) {
//			System.out.print(c[i]+",");
//		}
//		遍历二维数组
//		int[][] a= {{11,12,13,14},
//				{21,22,23,24},
//				{31,32,33,34}};
//		for (int i = 0; i < a.length; i++) {
//			for (int j = 0; j < a[i].length; j++) {
//				System.out.print(a[i][j]+",");
//			}
//			System.out.println(" ");
//		}
//		for(int[]k:a) {
//			for(int t:k) {
//				System.out.print(t+",");
//			}
//			System.out.println(" ");
//		}
//		编写一个长度为5的整型数组,每个元素赋值为0-10的随机整数,遍历该数组,输出每个元素。
//		int[] a=new int[5];
//		Random r=new Random();
//		for (int i = 0; i < a.length; i++) {
//			a[i]=r.nextInt(11);
//			System.out.println(a[i]);
//		}
		
		
//		1、已知两个一维数组:{1,2,3,4,5}和{6,7,8},将这两个一维数组合并成一个一维数组{1,2,3,4,5,6,7,8}。
//		int[] a= {1,2,3,4,5};
//		int[] b= {6,7,8};
//		int[] c= new int[a.length+b.length];
//		for (int i = 0; i < c.length; i++) {
//			if(i<a.length) {
//				c[i]=a[i];
//			}else {
//				c[i]=b[i-a.length];
//			}
//		}
//		for(int k:c) {
//			System.out.println(k);
//		}
//		从键盘输入班级学员成绩,计算全班学员的平均分;找出全班学员的最高分;
//		Scanner sc = new Scanner(System.in);
//		System.out.println("请输入五个成绩");
//		int[] a=new int[5];
//		int sum=0;
//		double pingjun=0;
//		int max=0;
//		int min=1000;
//		for (int i = 0; i < a.length; i++) {
//			a[i]=sc.nextInt();
//			sum+=a[i];
//			if(a[i]>max){
//				max=a[i];
//			}
//			if(a[i]<min) {
//				min=a[i];
//			}
//		}
//		pingjun=(double)sum/a.length;
//		System.out.println("总成绩"+sum);
//		System.out.println("平均"+pingjun);
//		System.out.println("最大"+max);
//		System.out.println("最小"+min);

//		生成一个4*6的二维整型数组,使用随机数填充,遍历输出该数组的所有值,并且找出最大值。
//		int max=0;
//		int[][] a=new int[4][6];
//		Random r=new Random();
//		for (int i = 0; i < a.length; i++) {
//			for (int j = 0; j < a[i].length; j++) {
//				a[i][j]=r.nextInt(100);
//			}
//		}
//		
//		for(int[] k:a) {
//			for(int t:k) {
//				if(t>max) {
//					max=t;
//				}
//				System.out.print(t+",");
//			}
//			System.out.println();
//		}
//		System.out.println("最大"+max);
//		冒泡排序
//		int[] a={3,1,8,2,0,22,47,8,2,11};
//		int temp=0;
//		for (int i = 0; i < a.length; i++) {
//			for (int j = 0; j < a.length-1-i; j++) {
//				if(a[j]>a[j+1]) {
//					temp=a[j];
//					a[j]=a[j+1];
//					a[j+1]=temp;
//				}
//			}
//		}
//		for(int k:a) {
//			System.out.print(k+",");
//		}
//		
//		将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。(知识点:数组复制)
//		String[] a= {"n","e","u","s","o","f","t","e","d","u","c","a","t","i","o","n"};
//		String[] b=new String[a.length];
//		for (int i = 0; i < a.length; i++) {
//			b[i]=a[i];
//			System.out.print(b[i]);
//		}
		
//		给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。(知识点:Arrays.sort排序、冒泡排序)
//		int[] a= {1,6,2,3,9,4,5,7,8};
//		int temp=0;
//		for (int i = 0; i < a.length; i++) {
//			for (int j = 0; j < a.length-1-i; j++) {
//				if(a[j]>a[j+1]) {
//					temp=a[j];
//					a[j]=a[j+1];
//					a[j+1]=temp;	
//				}
//			}
//		}
//		Arrays.sort(a);
//		for(int k:a) {
//			System.out.print(k+",");
//		}
//		在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问) [必做题]
//		int[] a= {18,25,7,36,13,2,89,63};
//		int max=0;
//		int mxb=0;
//		for (int i = 0; i < a.length; i++) {
//			if(a[i]>max) {
//				max=a[i];
//				mxb=i;
//			}
//		}
//		System.out.println("最大: "+max+",下标:"+mxb);
		
//		将一个数组中的元素逆序存放
//		int[] a= {1,2,3,4,5};
		//方法一
//		int[] b=new int[a.length];
//		for (int i = 0; i < a.length; i++) {
//			b[i]=a[a.length-i-1];
//		}
//		for(int k:b) {
//			System.out.println(k);
//		}
		//方法二	
//		int temp=0;
//		for (int i = 0; i < a.length/2; i++) {
//				temp=a[i];
//				a[i]=a[a.length-i-1];
//				a[a.length-i-1]=temp;
//		}
//		for(int k:a) {
//			System.out.println(k);
//		}
		
//		将一个数组中的重复元素保留一个其他的清零。
		int[] a= {2,3,4,2,4,6,8,8,1,7};
		for (int i = 0; i < a.length; i++) {
			if(i>0) {
				for (int j = 0; j < i; j++) {
					if(a[i]==a[j]) {
						a[i]=0;
						break;
					}
				}
			}
		}
		for(int k:a) {
			System.out.println(k);
		}
		
		
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值