[Java] 数组-02 初始化与length

本文介绍了Java中数组的使用方法,包括动态初始化、静态初始化及默认初始化,并展示了如何通过命令行参数操作数组以及实现简单的计算器功能。此外,还提供了一个数组排序的例子。

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

数组
 *1 动态初始化
 *2 静态初始化
 数组元素的默认初始化
  ** 数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。
 数组有一个属性 length  指明它的长度
package com.bjsxt.chap5;

public class TestArray {

    public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5, 6, 7};
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + " ");
        }
        System.out.println();
        for (int i = 0; i < args.length; i++) {
            System.out.print(args[i] + " "); // 命令行参数
        }
        System.out.println();
    }
}
package com.bjsxt.chap5;

public class TestArgs {
    public static void main(String[] args) {

        if (args.length < 3) {
            System.out.println("Usage: java Test \"n1\" \"op\" \"n2\"");
            System.exit(-1);
        }
        double d1 = Double.parseDouble(args[0]);
        double d2 = Double.parseDouble(args[2]);
        double d = 0;
        if (args[1].equals("+"))
            d = d1 + d2;
        else if (args[1].equals("-"))
            d = d1 - d2;
        else if (args[1].equals("x"))
            d = d1 * d2; // * 号在 dos 下有特殊的含义
        else if (args[1].equals("/"))
            d = d1 / d2;
        else {
            System.out.println("Error operator!");
            System.exit(-1);
        }
        System.out.println(d);
    }
}
package com.bjsxt.chap5;

public class NumSort {
    public static void main(String[] args) {
        int[] a = new int[args.length];
        for (int i = 0; i < args.length; i++) {
            a[i] = Integer.parseInt(args[i]);
        }
        print(a);
        selectionSort(a);
        print(a);
    }

    private static void selectionSort(int[] a) {
        int k, temp;
        for (int i = 0; i < a.length; i++) {
            k = i;
            for (int j = k + 1; j < a.length; j++) {
                if (a[j] < a[k]) {
                    k = j;
                }
            }

            if (k != i) {
                temp = a[i];
                a[i] = a[k];
                a[k] = temp;
            }
        }
    }

    private static void print(int[] a) {
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + " ");
        }
        System.out.println();
    }
}





                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值