Java复习之数组

    xiaoxiao2021-03-26  26

    这篇博客主要是复习java数组的相关的知识。 一、数组的定义

    数组:一组能够存储相同数据类型值的变量的集合 二、数组的语法

    (1)声明 int x[]; (2)声明+开辟内存空间 int []x = new int[3] (3)声明+开辟内存空间+赋值 int []x = new int[]{3,4,5} int[] x={1,2,3,4}

    public class Shuzu { public static void main(String args[]) { //声明一个整型的数组 int []x1; //为数组分配内存空间 x1=new int[3]; //使用数组,给数组赋值,下标从0开始 x1[0]=10; x1[1]=20; x1[2]=30; //第二种方法:定义一个数组并分配内存空间在赋值 int x2[] =new int[]{1,2,3,4}; int x3[] = {10,11,12,13}; //字符串类型的数组 String [] names = {"梦梦","纯纯","萌萌","爱爱","凤凤"}; //获取数组的长度length函数 System.out.println(names.length); //打印数组的元素(遍历数组) for (int i=0;i<names.length;i++) { System.out.println("小白的第"+(i+1)+"个女友的名字是"+names[i]); } } }

    三、数组中常见的异常

    1.空指针异常:没有给数组分配空间便使用数组 2.数组越界异常:超出数组下标的范围

    public class ArraysExceptionDemo { public static void main(String args[]) { //没有给数组分配空间便使用数组 String []names=null; System.out.print(names[0]); //超出数组下标的范围 int [] num={1,2,3,4,5}; System.out.print(num.length); System.out.print(num[5]); } }

    运行上述程序便会产生异常:

    四、多(二)维数组 编写一个程序,有三个年级,每个年级有四名同学参加比赛,用数组实现分别存储每个年级四名同学的成绩以及平均分。

    public class ManyArrayDemo { public static void main(String args[]){ Scanner input = new Scanner(System.in); int scores[][] = new int[3][4]; float average[]=new float[3]; int sum; for (int i=0;i<3;i++) for (int j=0;j<4;j++) { scores[i][j]=input.nextInt(); } for (int i=0;i<3;i++) { sum=0; for (int j = 0; j < 4; j++) { sum += scores[i][j]; } average[i]=sum/4; } for (int i=0;i<3;i++){ System.out.println((i+1)+"班同学的分数为:"); for (int j=0;j<4;j++) { System.out.print(scores[i][j]+" "); System.out.println(); } System.out.println((i+1)+"班的平均分为"+average[i]); } } }

    程序运行如下图所示:

    五、编写程序求解数组中的最大值与最小值

    public class MaxMinDemo { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.print("请输入元素的的个数:"); int num=input.nextInt(); int array[] =new int[num]; System.out.println("请输入元素:"); for (int i=0;i<num;i++) { array[i]=input.nextInt(); } int max=array[0]; for (int j=1;j<num;j++) { if(max<=array[j]) max=array[j]; } System.out.println("数列中的元素的最大值为:"+max); int min=array[0]; for (int j=1;j<num;j++) { if(min>=array[j]) min=array[j]; } System.out.println("数列中的元素的最小值为:"+min); } }

    六、冒泡排序算法

    public class BubbleSort { public static void main(String args[]) { int num[]={705,826,680,654,696}; int temp; //控制比较的轮数 for(int i=0;i<num.length-1;i++) { //控制每轮比较的次数 for (int j=0;j<num.length-1-i;j++) { if (num[j]>num[j+1]) { temp=num[j]; num[j]=num[j+1]; num[j+1]=temp; } } } for (int k=0;k<num.length;k++) { System.out.print(num[k]+" "); } } }
    转载请注明原文地址: https://ju.6miu.com/read-659096.html

    最新回复(0)