Bootstrap

Java入门程序之一维数组的基础运用

Java入门程序之一维数组的基础运用

​ 本文详细介绍了Java中数组的概念、创建与初始化、一维数组的使用、内存分布以及二维数组。讲解了数组的静态与动态初始化、元素访问与修改、遍历方式。

一、数组的基本概念

数组的初始化

例如:

int[] array1 = new int[20]; // 创建一个可以容纳20个int类型元素的数组
double[] array2 = new double[10]; // 创建一个可以容纳10个double类型元素的数组
String[] array3 = new String[5]; // 创建一个可以容纳5个字符串元素的数组

初始化方式分为静态初始化和动态初始化

静态初始化:知道数组的内容,就可以静态初始化。

例如:

int[] arr = { 1,2,3,4 }; 
int[] arr = new int[] { 1,2,3,4 };//new int[]可以省略

不知道数组的内容,那么就可以使用动态初始化。

例如:

int[] arr = new int[20]; //定义20个int类型的数组

​ 如果没有对数组进行初始化,数组中的元素有默认值。不同的数据类型有不同的默认值,如果是简单类型,大多是默认值为0。float是0.0f,double是0.0,char是/u0000,boolean是false;引用类型比如字符串类型则是null。

一维数组的使用

​ 主要以简单的算法题实现进行学习

举例1:用一个数组,保存星期一到星期天的7个英语单词,从键盘输入1-7,显示对应的单词

public class Week {
    public static void main(String[] args) {
        String[] weeks = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要匹配的值(1-7)");
        int number = scanner.nextInt();

        if (number < 1 || number > 7) {
            System.out.println("你输入的不合法");
        } else {
            System.out.println("匹配到的星期为" + weeks[number - 1]);
        }
    }
}

举例2:

**从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
    成绩>=最高分-10  等级为’A’
    成绩>=最高分-20  等级为’B’
    成绩>=最高分-30  等级为’C’
* 其余            等级为’D’
* 提示:先读入学生人数,根据人数创建int数组,存放学生成绩。
	public static void Grade() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生的人数:");
        int numbers = scanner.nextInt();
        System.out.println("请输入学生的成绩:");
        int[] scores =new int[numbers];
        int maxScore =0;
        for (int i = 0; i < scores.length; i++) {
            scores[i] = scanner.nextInt();
            if (maxScore<scores[i]){
                maxScore = scores[i];
            }
        }
        System.out.println("最高的成级:"+maxScore);
        char grade;
        for (int i = 0; i < numbers; i++) {
            if (scores[i]>=maxScore-10){
                grade = 'A';
            }else if (scores[i]>=maxScore-20){
                grade = 'B';
            }else if (scores[i]>=maxScore-30) {
                grade = 'C';
            }else {
                grade = 'D';
            }
            System.out.println("第"+i+"个学生的成绩是"+scores[i]+"等级是"+grade);
        }

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;