Java数组运用

数组

public class Demo01 {
    public static void main(String[] args) {
        //声明数组
        //数组类型[] 数组名称
        int[] number;//定义
        //创建一个数组
        number=new int[10];
        //给数组赋值
        number[0]=1;
        number[1]=2;
        number[2]=3;
        number[3]=4;
        number[4]=5;
        number[5]=6;
        number[6]=7;
        number[7]=8;
        number[8]=9;
        number[9]=10;
        //计算数组的和
        int sum=0;
        for (int i = 0; i <=number.length; i++) {  //arrays.length求数组长度
            sum=sum+i;
        }
        System.out.println("数组的和"+sum);
    }
}

初始化

public class Demo02 {
    public static void main(String[] args) {
        //静态初始化
        int[] num1={1,2,3,4,5,6,7,8,9};
        System.out.println(num1[2]);
        //动态初始化
        int[] num2=new int[10];
        num2[0]=1;
        num2[1]=2;
        num2[2]=3;
        //未被赋值的数组,初始值为0
        System.out.println(num2[4]);
    }
}

在这里插入图片描述

注意

  1. 数组是相同的数据类型
  2. 数组也是对象,数组元素相当于对象成员变量
  3. 数组的长度是不可变的,如果越界,则报ArrayIndexOutOfBounds

For循环

public static void main(String[] args) {
        int[] arrays={1,2,3,4,5,6};
        //利用for循环遍历数组
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }

增强for循环,省去下标

public static void main(String[] args) {
        int[] arrays={1,2,3,4,5,6};
        for (int array : arrays) {   //arrays.for
            System.out.print(array);
        }
    }

求数组的和

  //求数组的和
        int sum=0;
        for (int i = 0; i < arrays.length; i++) {
            sum+=arrays[i];
        }
        System.out.println("数组的和为"+sum);

求数组的中最大值

     //求数组中的最大值
        int max=arrays[0];
        for (int i = 0; i < arrays.length; i++) {
            if (arrays[i]>max){
                max=arrays[i];
            }
        }System.out.println("数组中的最大数为"+max);

打印数组元素

 public static void main(String[] args) {
        int[] arrays = {1, 2, 3, 4, 5, 6};
        PrintArrays(arrays);
    }
    //打印数组元素
    public static void PrintArrays(int[] arrays) {
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }
    }

反转数组

public class Demo03 {
    public static void main(String[] args) {
        int[] arrays = {1, 2, 3, 4, 5, 6};
        int[] reverse = reverse(arrays);
        PrintArrays(reverse);
    }
    //反转数组
    public static int[] reverse(int[] arrays) { 
        int[] result=new int[arrays.length];
        for (int i = 0,j= result.length-1; i < arrays.length; i++,j--) {  //反转操作
            result[j]=arrays[i];
        }
        return result;
    }
    //打印数组元素
    public static void PrintArrays(int[] arrays) {
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }
    }
}
  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java数组和多态的运用可以结合起来,以实现灵活的数据存储和处理。 1. 数组与多态 Java中的数组是一种特殊的数据类型,可以用来存储一组具有相同数据类型的值。多态是一种面向对象编程的特性,允许不同的对象使用相同的接口来实现不同的行为。 在Java中,数组与多态可以结合起来使用,例如可以定义一个Animal数组,其中存储了不同类型的动物对象,包括Cat、Dog等,这样就可以使用相同的接口来处理不同类型的动物对象。 2. 实例 下面是一个简单的例子,通过数组与多态来实现对不同类型的图形对象进行面积计算: ```java public class Shape { public double getArea() { return 0; } } public class Circle extends Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return Math.PI * radius * radius; } } public class Rectangle extends Shape { private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } @Override public double getArea() { return width * height; } } public class ShapeTest { public static void main(String[] args) { Shape[] shapes = new Shape[2]; shapes[0] = new Circle(10); shapes[1] = new Rectangle(5, 10); double totalArea = 0; for (Shape s : shapes) { totalArea += s.getArea(); } System.out.println("Total area: " + totalArea); } } ``` 在上面的例子中,定义了一个Shape类作为基类,Circle和Rectangle类都继承自Shape类,并实现了getArea()方法来计算图形的面积。在ShapeTest类中,定义了一个Shape数组,其中存储了不同类型的图形对象,然后通过循环遍历数组,调用每个图形对象的getArea()方法,最后计算出总面积。这样就可以灵活地处理不同类型的图形对象了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值